develop
asamoukin 16 years ago
parent 21e2b0d5cc
commit 36f31910ee

@ -221,11 +221,14 @@ conjunction with the 'login' or 'logout'")
# DN сервисов относительно базового
self.ServicesDN = "ou=Services"
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.clVars = False
@ -266,6 +269,13 @@ conjunction with the 'login' or 'logout'")
resSearch = self.searchLdapDN(userName, self.relUsersDN, "uid")
return resSearch
def searchUnixGid(self, groupId):
"""Находит группу сервиса Unix по ёе id"""
resSearch = self.searchLdapDN(str(groupId), self.relGroupsDN,
"gidNumber")
return resSearch
def getLdapObjBind(self, host, printError=True):
"""Получаем объект ldapFunction
@ -314,6 +324,12 @@ conjunction with the 'login' or 'logout'")
filePasswd = "/etc/passwd"
return self.searchLineInFile(userName, filePasswd)
def searchGroupGid(self, groupId):
"""Ищет gid в /etc/group"""
gid = str(groupId)
fileGroup = "/etc/group"
return self.searchLineInFile(gid, fileGroup, 2)
def getUserLdapInfo(self, userName, printError=True):
"""Выдаем uid и gid пользователя"""
searchUser = self.searchUnixUser(userName)
@ -330,6 +346,9 @@ conjunction with the 'login' or 'logout'")
uid = searchUser[0][0][1]['uidNumber'][0]
if searchUser[0][0][1].has_key('gidNumber'):
gid = searchUser[0][0][1]['gidNumber'][0]
searchGroup = self.searchUnixGid(gid)
if searchGroup and searchGroup[0][0][1].has_key('cn'):
group = searchGroup[0][0][1]['cn'][0]
if searchUser[0][0][1].has_key('cn'):
fullName = searchUser[0][0][1]['cn'][0]
if searchUser[0][0][1].has_key('mail'):
@ -337,7 +356,7 @@ conjunction with the 'login' or 'logout'")
if searchUser[0][0][1].has_key('homeDirectory'):
home = searchUser[0][0][1]['homeDirectory'][0]
if uid and gid:
return (uid,gid,fullName,mail,home)
return (uid, gid, fullName, mail, home, group)
else:
return ()
@ -441,9 +460,14 @@ conjunction with the 'login' or 'logout'")
if resPasswd:
uid = resPasswd.split(":")[2]
gid = resPasswd.split(":")[3]
full_name = resPasswd.split(":")[4]
fullName = resPasswd.split(":")[4]
mail = ""
return (uid, gid, full_name,mail)
group = ""
home = os.path.join("/home",userName)
resGroup = self.searchGroupGid(gid)
if resGroup:
group = resGroup.split(":")[0]
return (uid, gid, fullName, mail, home, group)
else:
return False
@ -481,8 +505,9 @@ conjunction with the 'login' or 'logout'")
gid = int(uidGid[1])
fullName = uidGid[2]
mail = uidGid[3]
homeDir = uidGid[4]
group = uidGid[5]
# Создаем пользовательскую директорию
homeDir = os.path.join("/home",userName)
self.clVars.Set('cl_root_path',homeDir,True)
homeExists = os.path.exists(homeDir)
@ -501,10 +526,11 @@ conjunction with the 'login' or 'logout'")
if not os.path.exists(homeDir):
self.createUserDir(uid, gid, homeDir)
# Записываем переменную логин
# Записываем переменные
self.clVars.Set('ur_login',userName)
self.clVars.Set('ur_fullname',fullName)
self.clVars.Set('ur_mail',mail)
self.clVars.Set('ur_group',group)
# Применяем профили для пользователя
dirsAndFiles = self.applyProfilesFromUser()
if not dirsAndFiles:

@ -113,6 +113,9 @@ class Data:
#Если ноутбук то его название
hr_laptop = {}
#Название группы пользователя
ur_group = {'mode':"w"}
#Организация пользователя
ur_organization = {'mode':'w'}

Loading…
Cancel
Save