|
|
|
@ -667,7 +667,6 @@ class shareLdap(imp_cl_err, imp_cl_xml, imp_cl_help, imp_cl_smcon):
|
|
|
|
|
_("password incorrect")+ ": " + _("try again"))
|
|
|
|
|
return False
|
|
|
|
|
userPwd = pwdA
|
|
|
|
|
userPwd = re.sub("(\W)", r"\\\1",userPwd)
|
|
|
|
|
return userPwd
|
|
|
|
|
|
|
|
|
|
def getRunDaemons(self, daemons, printError=False):
|
|
|
|
@ -712,6 +711,23 @@ class shareLdap(imp_cl_err, imp_cl_xml, imp_cl_help, imp_cl_smcon):
|
|
|
|
|
else:
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def getHashPasswd(self, password, crypt):
|
|
|
|
|
"""Хеш пароля используя slappasswd"""
|
|
|
|
|
if not crypt:
|
|
|
|
|
self.printERROR(_("ERROR") + " getHashPasswd: " +\
|
|
|
|
|
_("crypto algoritm empty"))
|
|
|
|
|
return False
|
|
|
|
|
cryptStr = "{%s}"%crypt.upper()
|
|
|
|
|
lenCryptStr = len(cryptStr)
|
|
|
|
|
pwd = re.sub("(\W)", r"\\\1", password)
|
|
|
|
|
pwdHash = self.execProg("slappasswd -s %s -h %s" %(pwd,cryptStr))
|
|
|
|
|
if pwdHash and len(pwdHash)>lenCryptStr and\
|
|
|
|
|
pwdHash[:lenCryptStr] == cryptStr:
|
|
|
|
|
return pwdHash
|
|
|
|
|
self.printERROR(_("ERROR") + " getHashPasswd: " +\
|
|
|
|
|
_("create crypto password"))
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
def getRunService(self, nameService, printError=False):
|
|
|
|
|
"""Проверка, запущен ли сервис с данным именем"""
|
|
|
|
|
flagError = False
|
|
|
|
@ -1257,7 +1273,7 @@ class servUnix(shareLdap):
|
|
|
|
|
# Скелетная директория для создания пользователя
|
|
|
|
|
self.skelDir = "/etc/skel"
|
|
|
|
|
# Алгоритм шифрования пароля для LDAP пользователя
|
|
|
|
|
self.userCrypt = "{SSHA}"
|
|
|
|
|
self.userCrypt = "ssha"
|
|
|
|
|
# Используемые ldif файлы
|
|
|
|
|
self.ldifFileMachine =\
|
|
|
|
|
"/usr/lib/calculate/calculate-server/ldif/samba_machine.ldif"
|
|
|
|
@ -1715,11 +1731,8 @@ class servUnix(shareLdap):
|
|
|
|
|
if not userPwd:
|
|
|
|
|
userPwdHash = "crypt{xxx}"
|
|
|
|
|
else:
|
|
|
|
|
userPwdHash =\
|
|
|
|
|
self.execProg("slappasswd -s %s -h %s" %(userPwd,self.userCrypt))
|
|
|
|
|
userPwdHash = self.getHashPasswd(userPwd, self.userCrypt)
|
|
|
|
|
if not userPwdHash:
|
|
|
|
|
self.printERROR(_("ERROR") + ": " +\
|
|
|
|
|
_("create crypto password"))
|
|
|
|
|
return False
|
|
|
|
|
self.clVars.Set("ur_hash",userPwdHash)
|
|
|
|
|
# флаги добавления
|
|
|
|
@ -2223,8 +2236,9 @@ service"))
|
|
|
|
|
if userPwd == False:
|
|
|
|
|
return False
|
|
|
|
|
if userPwd:
|
|
|
|
|
userPwdHash = self.execProg("slappasswd -s %s -h %s"\
|
|
|
|
|
%(userPwd, self.userCrypt))
|
|
|
|
|
userPwdHash = self.getHashPasswd(userPwd, self.userCrypt)
|
|
|
|
|
if not userPwdHash:
|
|
|
|
|
return False
|
|
|
|
|
if res[0][0][1].has_key('userPassword'):
|
|
|
|
|
modAttrs.append((ldap.MOD_REPLACE, 'userPassword',
|
|
|
|
|
userPwdHash))
|
|
|
|
@ -2319,9 +2333,9 @@ service"))
|
|
|
|
|
userPwd = self.getUserPassword(optPasswd, "p", False)
|
|
|
|
|
if userPwd == False:
|
|
|
|
|
return False
|
|
|
|
|
userPwdHash =\
|
|
|
|
|
self.execProg("slappasswd -s %s -h %s"\
|
|
|
|
|
%(userPwd, self.userCrypt))
|
|
|
|
|
userPwdHash = self.getHashPasswd(userPwd, self.userCrypt)
|
|
|
|
|
if not userPwdHash:
|
|
|
|
|
return False
|
|
|
|
|
if res[0][0][1].has_key('userPassword'):
|
|
|
|
|
modAttrs.append((ldap.MOD_REPLACE, 'userPassword',
|
|
|
|
|
userPwdHash))
|
|
|
|
@ -2589,7 +2603,7 @@ class servMail(shareLdap):
|
|
|
|
|
self.ldifFileGroup =\
|
|
|
|
|
"/usr/lib/calculate/calculate-server/ldif/mail_group.ldif"
|
|
|
|
|
# Алгоритм шифрования пароля для Mail пользователя
|
|
|
|
|
self.userCrypt = "{SSHA}"
|
|
|
|
|
self.userCrypt = "ssha"
|
|
|
|
|
# Директория хранения писем
|
|
|
|
|
if unixObj:
|
|
|
|
|
# получаем объект сервиса Unix
|
|
|
|
@ -2959,8 +2973,9 @@ class servMail(shareLdap):
|
|
|
|
|
if userPwd == False:
|
|
|
|
|
return False
|
|
|
|
|
if userPwd:
|
|
|
|
|
userPwdHash = self.execProg("slappasswd -s %s -h %s"\
|
|
|
|
|
%(userPwd, self.userCrypt))
|
|
|
|
|
userPwdHash = self.getHashPasswd(userPwd, self.userCrypt)
|
|
|
|
|
if not userPwdHash:
|
|
|
|
|
return False
|
|
|
|
|
if res[0][0][1].has_key('userPassword'):
|
|
|
|
|
modAttrs.append((ldap.MOD_REPLACE, 'userPassword',
|
|
|
|
|
userPwdHash))
|
|
|
|
@ -3092,9 +3107,9 @@ in Unix service ...") %str(primaryMail))
|
|
|
|
|
userPwd = self.getUserPassword(optPasswd, "p", False)
|
|
|
|
|
if userPwd == False:
|
|
|
|
|
return False
|
|
|
|
|
userPwdHash =\
|
|
|
|
|
self.execProg("slappasswd -s %s -h %s"\
|
|
|
|
|
%(userPwd, self.userCrypt))
|
|
|
|
|
userPwdHash = self.getHashPasswd(userPwd, self.userCrypt)
|
|
|
|
|
if not userPwdHash:
|
|
|
|
|
return False
|
|
|
|
|
if res[0][0][1].has_key('userPassword'):
|
|
|
|
|
modAttrs.append((ldap.MOD_REPLACE, 'userPassword',
|
|
|
|
|
userPwdHash))
|
|
|
|
@ -3329,11 +3344,8 @@ in Unix service ...") %str(primaryMail))
|
|
|
|
|
if not userPwd:
|
|
|
|
|
userPwdHash = "crypt{xxx}"
|
|
|
|
|
else:
|
|
|
|
|
userPwdHash =\
|
|
|
|
|
self.execProg("slappasswd -s %s -h %s" %(userPwd,self.userCrypt))
|
|
|
|
|
userPwdHash = self.getHashPasswd(userPwd, self.userCrypt)
|
|
|
|
|
if not userPwdHash:
|
|
|
|
|
self.printERROR(_("ERROR") + ": " +\
|
|
|
|
|
_("create crypto password"))
|
|
|
|
|
if flagCreateUnixUser:
|
|
|
|
|
self.servUnixObj.delUserUnixServer(userName, {}, False, False)
|
|
|
|
|
return False
|
|
|
|
@ -7194,7 +7206,7 @@ class servFtp(shareLdap):
|
|
|
|
|
# DN пользователей, относительно базового DN
|
|
|
|
|
self.relUsersDN = self.addDN(self.relUsDN, self.relDN)
|
|
|
|
|
# Алгоритм шифрования пароля для LDAP пользователя
|
|
|
|
|
self.userCrypt = "{SSHA}"
|
|
|
|
|
self.userCrypt = "ssha"
|
|
|
|
|
# Используемые ldif файлы
|
|
|
|
|
self.ldifFileUser =\
|
|
|
|
|
"/usr/lib/calculate/calculate-server/ldif/ftp_user.ldif"
|
|
|
|
@ -7394,9 +7406,9 @@ class servFtp(shareLdap):
|
|
|
|
|
if userPwd == False:
|
|
|
|
|
return False
|
|
|
|
|
if userPwd:
|
|
|
|
|
userPwdHash =\
|
|
|
|
|
self.execProg("slappasswd -s %s -h %s"\
|
|
|
|
|
%(userPwd, self.userCrypt))
|
|
|
|
|
userPwdHash = self.getHashPasswd(userPwd, self.userCrypt)
|
|
|
|
|
if not userPwdHash:
|
|
|
|
|
return False
|
|
|
|
|
if resSearch[0][0][1].has_key('userPassword'):
|
|
|
|
|
modAttrs.append((ldap.MOD_REPLACE, 'userPassword',
|
|
|
|
|
userPwdHash))
|
|
|
|
@ -7432,9 +7444,9 @@ class servFtp(shareLdap):
|
|
|
|
|
userPwd = self.getUserPassword(optPasswd, "p", False)
|
|
|
|
|
if userPwd == False:
|
|
|
|
|
return False
|
|
|
|
|
userPwdHash =\
|
|
|
|
|
self.execProg("slappasswd -s %s -h %s"\
|
|
|
|
|
%(userPwd, self.userCrypt))
|
|
|
|
|
userPwdHash = self.getHashPasswd(userPwd, self.userCrypt)
|
|
|
|
|
if not userPwdHash:
|
|
|
|
|
return False
|
|
|
|
|
if resSearch[0][0][1].has_key('userPassword'):
|
|
|
|
|
modAttrs.append((ldap.MOD_REPLACE, 'userPassword',
|
|
|
|
|
userPwdHash))
|
|
|
|
@ -7528,11 +7540,8 @@ class servFtp(shareLdap):
|
|
|
|
|
if not userPwd:
|
|
|
|
|
userPwdHash = "crypt{xxx}"
|
|
|
|
|
else:
|
|
|
|
|
userPwdHash =\
|
|
|
|
|
self.execProg("slappasswd -s %s -h %s" %(userPwd,self.userCrypt))
|
|
|
|
|
userPwdHash = self.getHashPasswd(userPwd, self.userCrypt)
|
|
|
|
|
if not userPwdHash:
|
|
|
|
|
self.printERROR(_("ERROR") + ": " +\
|
|
|
|
|
_("create crypto password"))
|
|
|
|
|
if flagCreateUnixUser:
|
|
|
|
|
self.servUnixObj.delUserUnixServer(userName, {}, False, False)
|
|
|
|
|
return False
|
|
|
|
|