Для сервиса Mail добавлена Unix группа 'mail domain', которая является первичной для создаваемых пользователей.

Для сервиса FTP добавлена Unix группа 'ftp domain',  которая является первичной для создаваемых пользователей.
Исправлена ошибка:  Если сервис Mail переустановлен, добавлен существующий Mail пользователь в предыдущем установленном Mail сервисе то почтовая директория этого пользователя удалялась.

git-svn-id: http://svn.calculate.ru/calculate2/calculate-server/trunk@1877 c91db197-33c1-4113-bf15-f8a5c547ca64
develop
asamoukin 15 years ago
parent 7050210f15
commit e2fc9ab84e

@ -3228,9 +3228,13 @@ class servMail(shareLdap):
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"
# Динамическая группа Unix для добавления пользователя
defaultUnixGroup = {"name":"mail domain", "comment":"Default Mail Users"}
def __init__(self, unixObj=False):
shareLdap.__init__(self)
# DN сервиса
@ -4194,6 +4198,12 @@ mail user or group: %s")%foundReplUser)
self.printERROR(_("The address belongs to \
mail user or group: %s")%foundReplUser)
return False
# Почтовая директория пользователя
mailDir = os.path.join(self.clVars.Get("sr_mail_path"), userName)
# Поиск почтовой директории пользователя
if os.path.exists(mailDir):
self.printERROR(_("Path %s exists") %mailDir)
return False
resUnix = self.servUnixObj.searchUnixUser(userName)
resPwd = self.servUnixObj.searchPasswdUser(userName)
# Пароль пользователя почты
@ -4205,12 +4215,29 @@ mail user or group: %s")%foundReplUser)
flagCreateUnixUser = True
# Добавим пользователя LDAP
optUnix = {}
# Флаг создания группы по умолчанию
flagCreateUnixGroup = False
# Группа пользователя
if options.has_key('g'):
optUnix['g'] = options['g']
# Полное имя пользователя
else:
optUnix['g'] = self.defaultUnixGroup["name"]
# Проверяем существование группы
if not self.servUnixObj.searchUnixGroupName(optUnix['g']):
flagCreateUnixGroup = True
# Полное имя пользователя
if options.has_key('c'):
optUnix['c'] = options['c']
# Если нужно создаем новую Unix группу
if flagCreateUnixGroup:
unixGroupFullName = self.defaultUnixGroup["comment"]
optGroupUnix = {"c": unixGroupFullName}
if not self.servUnixObj.addGroupUnixServer(optUnix['g'],
optGroupUnix,
False):
self.printERROR (_("Can not add group")+ " " +\
str(optUnix['g']) + _(" in Unix service"))
return False
if not self.servUnixObj.addUserUnixServer(userName, optUnix,
False):
self.printERROR (_("Can not add user")+ " " +\
@ -4264,9 +4291,6 @@ mail user or group: %s")%foundReplUser)
flagError = True
if not flagError:
# Востановим удаленного пользователя
# Почтовая директория пользователя
mailDir = os.path.join(self.clVars.Get("sr_mail_path"),
userName)
message = _("Do you want to restore deleted user %s data?")\
%userName + "\n" + "'yes', 'no'"
resMailDir = self.restorePathDelUser(userName, mailDir,
@ -10004,12 +10028,17 @@ class servFtp(shareLdap):
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"
# Динамическая группа Unix для добавления пользователя
defaultUnixGroup = {"name":"ftp domain", "comment":"Default FTP Users"}
def __init__(self):
shareLdap.__init__(self)
self.relDN = self.addDN(self.relServDN,self.ServicesDN)
@ -10322,12 +10351,29 @@ class servFtp(shareLdap):
flagCreateUnixUser = True
# Добавим пользователя LDAP
optUnix = {}
# Флаг создания группы по умолчанию
flagCreateUnixGroup = False
# Группа пользователя
if options.has_key('g'):
optUnix['g'] = options['g']
# Полное имя пользователя
else:
optUnix['g'] = self.defaultUnixGroup["name"]
# Проверяем существование группы
if not self.servUnixObj.searchUnixGroupName(optUnix['g']):
flagCreateUnixGroup = True
# Полное имя пользователя
if options.has_key('c'):
optUnix['c'] = options['c']
# Если нужно создаем новую Unix группу
if flagCreateUnixGroup:
unixGroupFullName = self.defaultUnixGroup["comment"]
optGroupUnix = {"c": unixGroupFullName}
if not self.servUnixObj.addGroupUnixServer(optUnix['g'],
optGroupUnix,
False):
self.printERROR (_("Can not add group")+ " " +\
str(optUnix['g']) + _(" in Unix service"))
return False
if not self.servUnixObj.addUserUnixServer(userName, optUnix,
False):
self.printERROR (_("Can not add user")+ " " +\

Loading…
Cancel
Save