Added LDAP variables.

develop
Самоукин Алексей 14 years ago
parent f78ef27c35
commit 4d7832c98e

@ -23,12 +23,15 @@ import cl_overriding
from cl_vars_share import varsShare, clLocale
from os.path import exists as pathexists
from os import path
from cl_utils import isMount
from cl_utils import isMount, genpassword
from encrypt import getHash
class fillVars(varsShare):
"""Auxilary object for creating variables
Contains filling methods"""
addDn = lambda x,*y: ",".join(y)
genDn = lambda x,*y: "=".join(y)
def get_cl_env_path(self):
"""Path to env files"""
@ -630,3 +633,58 @@ class fillVars(varsShare):
and additional parameters caluclate packages"""
return {}
def get_ld_encrypt(self):
"""hash crypto algoritm"""
return 'ssha'
def get_ld_bind_login(self):
"""bind login"""
return 'proxyuser'
def get_ld_base_root(self):
"""base name LDAP"""
return 'calculate'
def get_ld_base_dn(self):
"""base DN LDAP"""
return self.genDn("dc", self.Get('ld_base_root'))
def get_ld_bind_dn(self):
"""bind DN LDAP"""
return self.addDn(self.genDn("cn", self.Get('ld_bind_login')),
self.Get('ld_base_dn'))
def get_ld_bind_pw(self):
"""bind password"""
return 'calculate'
def get_ld_bind_hash(self):
"""hash bind"""
return getHash(self.Get('ld_bind_pw'), self.Get('ld_encrypt'))
def get_ld_admin_login(self):
"""administrator name"""
return 'ldapadmin'
def get_ld_admin_dn(self):
"""root DN"""
return self.addDn(self.genDn("cn", self.Get('ld_admin_login')),
self.Get('ld_base_dn'))
def get_ld_admin_hash(self):
"""root hash"""
return getHash(self.Get('ld_admin_pw'), self.Get('ld_encrypt'))
def get_ld_admin_pw(self):
"""password root"""
return genpassword()
def get_ld_services(self):
"""Name from all services"""
return 'Services'
def get_ld_services_dn(self):
"""DN from all services"""
return self.addDn(self.genDn("ou", self.Get('ld_services')),
self.Get('ld_base_dn'))

@ -193,3 +193,42 @@ class Data:
# The path to the module api, and additional parameters caluclate packages
cl_api = {'hide':True}
# base DN LDAP
ld_base_dn = {'hide':True}
# bind суффикс LDAP
ld_bind_dn = {'hide':True}
# bind name
ld_bind_login = {'hide':True}
# bind hash
ld_bind_hash = {'hide':True}
# bind password
ld_bind_pw = {'hide':True}
# hash crypto algoritm
ld_encrypt = {'hide':True}
# base name LDAP
ld_base_root = {'hide':True}
# admin DN
ld_admin_dn = {'hide':True}
# admin name LDAP
ld_admin_login = {'hide':True}
# admin hash
ld_admin_hash = {'hide':True}
# admin password
ld_admin_pw = {'hide':True}
# name from all services
ld_services= {'hide':True}
# DN from all services
ld_services_dn = {'hide':True}

@ -28,6 +28,7 @@ from cl_print import color_print
# для создания сертификата
import pwd
from server.utils import execProg
import cl_overriding
import cl_lang
# Перевод модуля
tr = cl_lang.lang()
@ -231,3 +232,19 @@ nsCertType = %s
FD.write(fileTxt)
FD.close()
return True
def getHash(password, encr):
"""Получить хеш пароля
password - пароль
encr - алгоритм шифрования, например 'ssha'
"""
encryptObj = encrypt()
hashPwd = encryptObj.getHashPasswd(password, encr.lower())
if hashPwd:
return hashPwd
else:
encryptObj.printERROR(_("Error encrypt password, "
"method getHash()"))
cl_overriding.exit(1)
Loading…
Cancel
Save