Cтатические аттрибуты объектов перевел в классы

git-svn-id: http://svn.calculate.ru/calculate2/calculate-server/trunk@1169 c91db197-33c1-4113-bf15-f8a5c547ca64
develop
asamoukin 15 years ago
parent ad5864285b
commit 61d0cdeaf2

@ -135,33 +135,8 @@ imp_cl_smcon = cl_utils2.cl_smartcon
class shareLdap(imp_cl_err, imp_cl_xml, imp_cl_help, imp_cl_smcon):
"""Класс где храняться общие методы для всех сервисов"""
def addInfoGroup(self, name, gid, comment):
"""Добавляем информацию о группе"""
class group():
"""Информация о группе"""
name = ""
gid = ""
comment = ""
gr = group()
gr.name = name
gr.gid = gid
gr.comment = comment
return gr
def addInfoUser(self, name, uid, gid, comment):
"""Добавляем информацию о пользователе"""
class user():
"""Информация о пользователе"""
name = ""
uid = ""
gid = ""
comment = ""
us = user()
us.name = name
us.uid = uid
us.gid = gid
us.comment = comment
return us
# DN сервисов относительно базового
ServicesDN = "ou=Services"
def __init__(self):
# Переменная объект Vars
@ -172,8 +147,6 @@ class shareLdap(imp_cl_err, imp_cl_xml, imp_cl_help, imp_cl_smcon):
self.conLdap = False
# Базовый DN LDAP сервера
self.baseDN = False
# DN сервисов относительно базового
self.ServicesDN = "ou=Services"
# Статические группы
self.staticGroups = {\
'client':self.addInfoGroup('client',
@ -196,6 +169,34 @@ class shareLdap(imp_cl_err, imp_cl_xml, imp_cl_help, imp_cl_smcon):
'901',
'Admin samba user')}
def addInfoGroup(self, name, gid, comment):
"""Добавляем информацию о группе"""
class group():
"""Информация о группе"""
name = ""
gid = ""
comment = ""
gr = group()
gr.name = name
gr.gid = gid
gr.comment = comment
return gr
def addInfoUser(self, name, uid, gid, comment):
"""Добавляем информацию о пользователе"""
class user():
"""Информация о пользователе"""
name = ""
uid = ""
gid = ""
comment = ""
us = user()
us.name = name
us.uid = uid
us.gid = gid
us.comment = comment
return us
def chortToFullName(self, listNames, domain):
"""Из списка коротких имен получаем cписок полных имен
@ -1438,47 +1439,46 @@ This command is not allowed."))
class servUnix(shareLdap):
"""Методы севисa Unix"""
# минимальное и максимальное значение gid-ов системных групп
#(Computers, и.т. д)
maxSysGid = 999
minSysGid = 900
relGrDN = 'ou=Groups'
relUsDN = 'ou=Users'
relServDN = 'ou=Unix'
# Коментарий к группе по умолчанию
groupGecos = "Calculate group"
# Базовая директория пользователей
baseDir = "/home"
# Название пользователя по умолчанию
fullNameUser = "Calculate user"
# Оболочка пользователя по умолчанию
userShell = "/bin/bash"
# Скелетная директория для создания пользователя
skelDir = "/etc/skel"
# Алгоритм шифрования пароля для LDAP пользователя
userCrypt = "ssha"
# Используемые ldif файлы
ldifFileMachine =\
"/usr/lib/calculate/calculate-server/ldif/samba_machine.ldif"
ldifFileUser = "/usr/lib/calculate/calculate-server/ldif/unix_user.ldif"
ldifFileGroup = "/usr/lib/calculate/calculate-server/ldif/unix_group.ldif"
ldifFileBase = "/usr/lib/calculate/calculate-server/ldif/unix_base.ldif"
def __init__(self, smbObj=False):
shareLdap.__init__(self)
# минимальное и максимальное значение gid-ов системных групп
#(Computers, и.т. д)
self.maxSysGid = 999
self.minSysGid = 900
# максимальный и минимальный uid
self.maxUid = self.getUidMax()
self.minUid = self.getUidMin()
# максимальный и минимальный gid
self.maxGid = self.maxUid
self.minGid = self.minUid
self.relGrDN = 'ou=Groups'
self.relUsDN = 'ou=Users'
self.relServDN = 'ou=Unix'
self.relDN = self.addDN(self.relServDN,self.ServicesDN)
# DN пользователей, относительно базового DN
self.relUsersDN = self.addDN(self.relUsDN, self.relDN)
# DN групп пользователей, относительно базового DN
self.relGroupsDN = self.addDN(self.relGrDN, self.relDN)
# Коментарий к группе по умолчанию
self.groupGecos = "Calculate group"
# Базовая директория пользователей
self.baseDir = "/home"
# Название пользователя по умолчанию
self.fullNameUser = "Calculate user"
# Оболочка пользователя по умолчанию
self.userShell = "/bin/bash"
# Скелетная директория для создания пользователя
self.skelDir = "/etc/skel"
# Алгоритм шифрования пароля для LDAP пользователя
self.userCrypt = "ssha"
# Используемые ldif файлы
self.ldifFileMachine =\
"/usr/lib/calculate/calculate-server/ldif/samba_machine.ldif"
self.ldifFileUser =\
"/usr/lib/calculate/calculate-server/ldif/unix_user.ldif"
self.ldifFileGroup =\
"/usr/lib/calculate/calculate-server/ldif/unix_group.ldif"
self.ldifFileBase =\
"/usr/lib/calculate/calculate-server/ldif/unix_base.ldif"
if smbObj:
# получаем объект сервиса Samba
self.servSambaObj = smbObj
@ -2784,25 +2784,24 @@ service"))
class servMail(shareLdap):
"""Методы сервиса Mail"""
relGrDN = 'ou=Groups'
relUsDN = 'ou=Users'
relServDN = 'ou=Mail'
ldifFileBase = "/usr/lib/calculate/calculate-server/ldif/mail_base.ldif"
ldifFileUser = "/usr/lib/calculate/calculate-server/ldif/mail_user.ldif"
ldifFileGroup = "/usr/lib/calculate/calculate-server/ldif/mail_group.ldif"
# Алгоритм шифрования пароля для Mail пользователя
userCrypt = "ssha"
def __init__(self, unixObj=False):
shareLdap.__init__(self)
self.relGrDN = 'ou=Groups'
self.relUsDN = 'ou=Users'
self.relServDN = 'ou=Mail'
# DN сервиса
self.relDN = self.addDN(self.relServDN,self.ServicesDN)
# DN пользователей, относительно базового DN
self.relUsersDN = self.addDN(self.relUsDN, self.relDN)
# DN групп пользователей, относительно базового DN
self.relGroupsDN = self.addDN(self.relGrDN, self.relDN)
self.ldifFileBase =\
"/usr/lib/calculate/calculate-server/ldif/mail_base.ldif"
self.ldifFileUser =\
"/usr/lib/calculate/calculate-server/ldif/mail_user.ldif"
self.ldifFileGroup =\
"/usr/lib/calculate/calculate-server/ldif/mail_group.ldif"
# Алгоритм шифрования пароля для Mail пользователя
self.userCrypt = "ssha"
# Директория хранения писем
if unixObj:
# получаем объект сервиса Unix
@ -3951,23 +3950,22 @@ if you want to continue to run the program again"))
class servJabber(shareLdap):
"""Методы сервиса Jabber"""
relGrDN = 'ou=Groups'
relUsDN = 'ou=Users'
relServDN = 'ou=Jabber'
ldifFileBase = "/usr/lib/calculate/calculate-server/ldif/jabber_base.ldif"
ldifFileUser = "/usr/lib/calculate/calculate-server/ldif/jabber_user.ldif"
ldifFileGroup = "/usr/lib/calculate/calculate-server/ldif/jabber_group.ldif"
def __init__(self, unixObj=False):
shareLdap.__init__(self)
self.relGrDN = 'ou=Groups'
self.relUsDN = 'ou=Users'
self.relServDN = 'ou=Jabber'
# DN сервиса
self.relDN = self.addDN(self.relServDN,self.ServicesDN)
# DN пользователей, относительно базового DN
self.relUsersDN = self.addDN(self.relUsDN, self.relDN)
# DN групп пользователей, относительно базового DN
self.relGroupsDN = self.addDN(self.relGrDN, self.relDN)
self.ldifFileBase =\
"/usr/lib/calculate/calculate-server/ldif/jabber_base.ldif"
self.ldifFileUser =\
"/usr/lib/calculate/calculate-server/ldif/jabber_user.ldif"
self.ldifFileGroup =\
"/usr/lib/calculate/calculate-server/ldif/jabber_group.ldif"
if unixObj:
# получаем объект сервиса Unix
self.servUnixObj = unixObj
@ -4611,12 +4609,15 @@ class servJabber(shareLdap):
class servSamba(shareLdap):
"""Методы севисa Samba"""
relGrDN = 'ou=Groups'
relUsDN = 'ou=Users'
relCsDN = 'ou=Computers'
relServDN = 'ou=Samba'
ldifFileBase = "/usr/lib/calculate/calculate-server/ldif/samba_base.ldif"
def __init__(self, unixObj=False):
shareLdap.__init__(self)
self.relGrDN = 'ou=Groups'
self.relUsDN = 'ou=Users'
self.relCsDN = 'ou=Computers'
self.relServDN = 'ou=Samba'
self.relDN = self.addDN(self.relServDN,self.ServicesDN)
# DN пользователей, относительно базового DN
self.relUsersDN = self.addDN(self.relUsDN, self.relDN)
@ -4624,8 +4625,6 @@ class servSamba(shareLdap):
self.relGroupsDN = self.addDN(self.relGrDN, self.relDN)
# DN, компьютеров относительно базового DN
self.relComputersDN = self.addDN(self.relCsDN, self.relDN)
self.ldifFileBase =\
"/usr/lib/calculate/calculate-server/ldif/samba_base.ldif"
if unixObj:
# получаем объект сервиса Unix
self.servUnixObj = unixObj
@ -5416,49 +5415,51 @@ class filterProfiles(cl_profile.profile):
class servLdap(shareLdap):
"""Методы севисa Ldap"""
# Базовый ldif файл
ldifFileBase = "/usr/lib/calculate/calculate-server/ldif/base.ldif"
# Для backup
# Директория куда будет сохранен архив
backupDirectory = "/var/calculate/server-backup/ldap"
# ldif файл базы LDAP
archLdifFile = "/tmp/LDAP_DATABASE.ldif"
# ldif файл базы LDAP для сервиса Unix
replArchLdifFileUnix = "/tmp/REPL_LDAP_DATABASE_UNIX.ldif"
# список файлов в архиве для сервиса Unix
replListFileUnix = "/tmp/REPL_LIST_FILES_UNIX.txt"
# ldif файл базы LDAP для сервиса Samba
replArchLdifFileSamba = "/tmp/REPL_LDAP_DATABASE_SAMBA.ldif"
# список файлов в архиве для сервиса Samba
replListFileSamba = "/tmp/REPL_LIST_FILES_SAMBA.txt"
# ldif файл базы LDAP для сервиса Mail
replArchLdifFileMail="/tmp/REPL_LDAP_DATABASE_MAIL.ldif"
# список файлов в архиве для сервиса Mail
replListFileMail = "/tmp/REPL_LIST_FILES_MAIL.txt"
# ldif файл базы LDAP для сервиса Mail, Samba
replArchLdifFileMailSamba="/tmp/REPL_LDAP_DATABASE_MAIL_SAMBA.ldif"
# список файлов в архиве для сервиса Mail, Samba
replListFileMailSamba = "/tmp/REPL_LIST_FILES_MAIL_SAMBA.txt"
# ldif файл базы LDAP для сервиса Mail, Unix
replArchLdifFileMailUnix = "/tmp/REPL_LDAP_DATABASE_MAIL_UNIX.ldif"
# список файлов в архиве для сервиса Mail, Unix
replListFileMailUnix = "/tmp/REPL_LIST_FILES_MAIL_UNIX.txt"
# приватная директория Samba
sambaPrivate = "/var/lib/samba/private"
# директория c алиасами сервиса Mail
mailPrivate = "/etc/mail"
# название файла где будет храниться список архивируемых файлов
tmpListFile = "/tmp/list_CDS_files.txt"
# Директория для хранения профилей backup
backupDir = "backup"
# Директории хранения сертификатов сервиса Mail
sslDirsMail = ["/etc/ssl/dovecot","/etc/ssl/postfix"]
# Файл сертификата сервиса jabber
sslJabberFile = "/etc/jabber/ssl.pem"
# директория для хранения временных файлов
tmpEnvDir = "/tmp/tmp_calculate"
def __init__(self):
shareLdap.__init__(self)
self.ldifFileBase =\
"/usr/lib/calculate/calculate-server/ldif/base.ldif"
# Для backup
# Директория куда будет сохранен архив
self.backupDirectory = "/var/calculate/server-backup/ldap"
# ldif файл базы LDAP
self.archLdifFile = "/tmp/LDAP_DATABASE.ldif"
# ldif файл базы LDAP для сервиса Unix
self.replArchLdifFileUnix = "/tmp/REPL_LDAP_DATABASE_UNIX.ldif"
# список файлов в архиве для сервиса Unix
self.replListFileUnix = "/tmp/REPL_LIST_FILES_UNIX.txt"
# ldif файл базы LDAP для сервиса Samba
self.replArchLdifFileSamba = "/tmp/REPL_LDAP_DATABASE_SAMBA.ldif"
# список файлов в архиве для сервиса Samba
self.replListFileSamba = "/tmp/REPL_LIST_FILES_SAMBA.txt"
# ldif файл базы LDAP для сервиса Mail
self.replArchLdifFileMail="/tmp/REPL_LDAP_DATABASE_MAIL.ldif"
# список файлов в архиве для сервиса Mail
self.replListFileMail = "/tmp/REPL_LIST_FILES_MAIL.txt"
# ldif файл базы LDAP для сервиса Mail, Samba
self.replArchLdifFileMailSamba="/tmp/REPL_LDAP_DATABASE_MAIL_SAMBA.ldif"
# список файлов в архиве для сервиса Mail, Samba
self.replListFileMailSamba = "/tmp/REPL_LIST_FILES_MAIL_SAMBA.txt"
# ldif файл базы LDAP для сервиса Mail, Unix
self.replArchLdifFileMailUnix = "/tmp/REPL_LDAP_DATABASE_MAIL_UNIX.ldif"
# список файлов в архиве для сервиса Mail, Unix
self.replListFileMailUnix = "/tmp/REPL_LIST_FILES_MAIL_UNIX.txt"
# приватная директория Samba
self.sambaPrivate = "/var/lib/samba/private"
# директория c алиасами сервиса Mail
self.mailPrivate = "/etc/mail"
# название файла где будет храниться список архивируемых файлов
self.tmpListFile = "/tmp/list_CDS_files.txt"
# Директория для хранения профилей backup
self.backupDir = "backup"
# Директории хранения сертификатов сервиса Mail
self.sslDirsMail = ["/etc/ssl/dovecot","/etc/ssl/postfix"]
# Файл сертификата сервиса jabber
self.sslJabberFile = "/etc/jabber/ssl.pem"
# директория для хранения временных файлов
self.tmpEnvDir = "/tmp/tmp_calculate"
# Сервис Samba
self.servSambaObj = servSamba()
# Сервис Mail
@ -8060,20 +8061,20 @@ removed from the LDAP using replication")
class servFtp(shareLdap):
"""Методы севисa Ftp"""
relUsDN = 'ou=Users'
relServDN = 'ou=Ftp'
# Алгоритм шифрования пароля для LDAP пользователя
userCrypt = "ssha"
# Используемые ldif файлы
ldifFileUser = "/usr/lib/calculate/calculate-server/ldif/ftp_user.ldif"
ldifFileBase ="/usr/lib/calculate/calculate-server/ldif/ftp_base.ldif"
def __init__(self):
shareLdap.__init__(self)
self.relUsDN = 'ou=Users'
self.relServDN = 'ou=Ftp'
self.relDN = self.addDN(self.relServDN,self.ServicesDN)
# DN пользователей, относительно базового DN
self.relUsersDN = self.addDN(self.relUsDN, self.relDN)
# Алгоритм шифрования пароля для LDAP пользователя
self.userCrypt = "ssha"
# Используемые ldif файлы
self.ldifFileUser =\
"/usr/lib/calculate/calculate-server/ldif/ftp_user.ldif"
self.ldifFileBase =\
"/usr/lib/calculate/calculate-server/ldif/ftp_base.ldif"
self.servUnixObj = servUnix()
def setupFtpServer(self, options):
@ -8468,21 +8469,48 @@ class servFtp(shareLdap):
class servRepl(shareLdap):
"""Методы для работы с репликацией"""
# Используемые ldif файлы
# Cлужебная ветка: LDAP
ldifFileBase = "/usr/lib/calculate/calculate-server/ldif/ldap_base.ldif"
# Ветки репликации: Access, Worked
ldifFileRepl = "/usr/lib/calculate/calculate-server/ldif/ldap_repl.ldif"
# Имя пользователя, машина на которой хостимся
ldifFileWorkedUser =\
"/usr/lib/calculate/calculate-server/ldif/ldap_repl_worked_user.ldif"
# Реплицируемые почтовые алиасы
ldifFileMailUser =\
"/usr/lib/calculate/calculate-server/ldif/ldap_repl_mail.ldif"
# Файл для определения выхода пользователя.
logOutFile = ".logout"
# Переменные (/etc/calculate/calculate.env)
# которые будут сохранены при rebuild
restoreDefaultVar =["sr_ldap_set", "ld_repl_pw", "ld_repl_set",
"sr_unix_set", "sr_samba_set","sr_mail_set"]
# Переменные (/var/calculate/calculate.env)
# которые будут сохранены при rebuild
restoreLocalVar = ["sr_samba_domain","sr_samba_netbios",
"ld_repl_servers","ld_repl_unix_servers",
"ld_repl_samba_servers","ld_repl_ids",
"sr_samba_net_allow", "sr_mail_host",
"sr_mail_type", "sr_mail_crypt",
"sr_mail_relay_set","ld_repl_mail_servers"]
# Переменные клиента (/var/calculate/remote/calculate.env)
# которые будут сохранены при rebuild
restoreRemoteClientVar = ["ld_base_dn", "ld_bind_dn",
"ld_bind_pw", "ld_services_dn",
"ld_unix_dn", "sr_jabber_crypt",
"sr_jabber_host", "sr_jabber_port",
"sr_mail_crypt", "sr_mail_host",
"sr_mail_port", "sr_mail_send_crypt",
"sr_mail_send_host", "sr_mail_send_port",
"sr_mail_type", "sr_samba_host",
"ur_organization", "ur_signature"]
# файл для удаления данных несуществущих пользователей по cron
replCronFile = "replcron"
def __init__(self):
shareLdap.__init__(self)
# Используемые ldif файлы
# Cлужебная ветка: LDAP
self.ldifFileBase =\
"/usr/lib/calculate/calculate-server/ldif/ldap_base.ldif"
# Ветки репликации: Access, Worked
self.ldifFileRepl =\
"/usr/lib/calculate/calculate-server/ldif/ldap_repl.ldif"
# Имя пользователя, машина на которой хостимся
self.ldifFileWorkedUser =\
"/usr/lib/calculate/calculate-server/ldif/ldap_repl_worked_user.ldif"
# Реплицируемые почтовые алиасы
self.ldifFileMailUser =\
"/usr/lib/calculate/calculate-server/ldif/ldap_repl_mail.ldif"
# Сервис LDAP
self.servLdapObj = servLdap()
# Сервис Samba
@ -8497,33 +8525,6 @@ class servRepl(shareLdap):
self.relWorkedDN = False
# DN ветки Replication/Mail
self.relMailDN = False
# Файл для определения выхода пользователя.
self.logOutFile = ".logout"
# Переменные (/etc/calculate/calculate.env)
# которые будут сохранены при rebuild
self.restoreDefaultVar =["sr_ldap_set", "ld_repl_pw", "ld_repl_set",
"sr_unix_set", "sr_samba_set","sr_mail_set"]
# Переменные (/var/calculate/calculate.env)
# которые будут сохранены при rebuild
self.restoreLocalVar = ["sr_samba_domain","sr_samba_netbios",
"ld_repl_servers","ld_repl_unix_servers",
"ld_repl_samba_servers","ld_repl_ids",
"sr_samba_net_allow", "sr_mail_host",
"sr_mail_type", "sr_mail_crypt",
"sr_mail_relay_set","ld_repl_mail_servers"]
# Переменные клиента (/var/calculate/remote/calculate.env)
# которые будут сохранены при rebuild
self.restoreRemoteClientVar = ["ld_base_dn", "ld_bind_dn",
"ld_bind_pw", "ld_services_dn",
"ld_unix_dn", "sr_jabber_crypt",
"sr_jabber_host", "sr_jabber_port",
"sr_mail_crypt", "sr_mail_host",
"sr_mail_port", "sr_mail_send_crypt",
"sr_mail_send_host", "sr_mail_send_port",
"sr_mail_type", "sr_samba_host",
"ur_organization", "ur_signature"]
# файл для удаления данных несуществущих пользователей по cron
self.replCronFile = "replcron"
def createClientEnv(self):
"""Создает объект с клиентскими переменными"""

Loading…
Cancel
Save