Добавлено удаление пользователей из LDAP ветки репликации 'Worked' если их нет в LDAP ветке 'Unix' c помощью cron скрипта.

git-svn-id: http://svn.calculate.ru/calculate2/calculate-server/trunk@965 c91db197-33c1-4113-bf15-f8a5c547ca64
develop
asamoukin 16 years ago
parent 91e06c5dd2
commit 775eba7d8f

@ -7860,6 +7860,16 @@ class servRepl(shareLdap):
resSearch = self.searchLdapDN(userName, relWorkedDN, "uid")
return resSearch
@adminConnectLdap
def delReplWorkedUser(self, userName):
"""Удаляет пользователя из ветки Worked"""
if self.searchWorkedUser(userName):
relWorkedDN = self.getRelWorkedDN()
delDN = self.addDN("uid=" + userName, relWorkedDN)
if not self.delDN(delDN):
return False
return True
@adminConnectLdap
def addReplWorkedUser(self, userName):
"""Добавляем запись в Worked ветку (uid, имя сервера)"""
@ -8020,12 +8030,22 @@ class servRepl(shareLdap):
self.clVars.Get("sr_mail_path"),
os.path.join(self.clVars.Get("sr_ftp_path"), "pub/users")]
pathProg = os.getcwd()
flagError = False
for path in foundPaths:
if os.path.isdir(path):
os.chdir(path)
users = os.listdir(".")
users = filter(lambda x: os.path.isdir(x), users)
for userName in users:
# Удаляем пользователя из ветки
if not self.delReplWorkedUser(userName):
errMessage = _("Can not remove user %s in the LDAP \
branch 'Worked'")
if logObj:
logObj.writeError(errMessage)
self.printERROR(errMessage)
flagError = True
break
if not self.servUnixObj.searchUnixUser(userName) and\
not self.servUnixObj.searchPasswdUser(userName):
self.removeDir(userName)
@ -8036,8 +8056,11 @@ class servRepl(shareLdap):
self.printWARNING(message)
if os.path.exists(pathProg):
os.chdir(pathProg)
if logObj:
logObj.writeSuccess(_("end script ... [ok]"))
if flagError:
return False
else:
if logObj:
logObj.writeSuccess(_("end script ... [ok]"))
return True
def cronReplicationON(self):

Loading…
Cancel
Save