develop
asamoukin 16 years ago
parent 126fbfd4e4
commit 173f05119b

@ -192,6 +192,20 @@ class shareLdap(imp_cl_err, imp_cl_xml, imp_cl_help, imp_cl_smcon):
'901',
'Admin samba user')}
def getServiceSetup(self):
"""находит установленные сервисы
Выдаем список [установленные сервисы]
"""
# инсталированнные сервисы
servInstalled = []
# доступные сервисы
services = ('ldap', 'unix', 'samba', 'mail', 'jabber', 'ftp')
for serv in services:
if self.clVars.Get("sr_%s_set"%serv) == "on":
servInstalled.append(serv)
return servInstalled
def restorePathDelUser(self,userName,destDir,relDir,message,unixObj=False):
"""Восстанавливает директорию удаленного пользователя"""
removeDir = False
@ -1511,10 +1525,10 @@ class servUnix(shareLdap):
@adminConnectLdap
def addMachineLdapServer(self, machineName, options):
"""Добавляет Unix машину в LDAP-сервер"""
# Проверим установлен ли сервис unix
if not self.isServiceSetup("unix"):
return False
"""Добавляет Unix машину в LDAP-сервер"""
machineLogin = machineName.replace('$','') + "$"
groupName = self.clVars.Get('sr_samba_machine_group')
resSearch = self.searchUnixGroupName(groupName)
@ -2213,10 +2227,10 @@ service"))
return True
def modUserUnixPasswd(self, userName, options, pwd=False):
"""Устанавливает пароль LDAP пользователя и меняет его опции"""
# Проверим установлен ли сервис unix
if not self.isServiceSetup("unix"):
return False
"""Устанавливает пароль LDAP пользователя и меняет его опции"""
res = self.searchUnixUser(userName)
if not res:
self.printERROR(
@ -2281,10 +2295,10 @@ service"))
return False
def modGroupUnixServer(self, groupName, options):
"""Модифицирует настройки группы пользователей LDAP"""
# Проверим установлен ли сервис unix
if not self.isServiceSetup("unix"):
return False
"""Модифицирует настройки группы пользователей LDAP"""
if not self.searchUnixGroupName(groupName):
self.printERROR(_("group name not found in Unix service") + " ...")
return False
@ -3457,7 +3471,7 @@ in Unix service ...") %str(primaryMail))
mailHost = self.clVars.Get("sr_mail_host")
self.clVars.Write("sr_mail_host",mailHost,True,"local")
#запишем переменные для клиента
self.clVars.Set("sr_mail_send_host",fullHostName)
self.clVars.Set("sr_mail_send_host",mailHost)
clientVars = ["sr_mail_host","sr_mail_crypt", "sr_mail_port",
"sr_mail_type","sr_mail_send_crypt","sr_mail_send_port",
"sr_mail_send_host"]
@ -4724,8 +4738,10 @@ if %%errorlevel%%==0 NET USE T: \\\\%s\\ftp' %(netbios,netbios,netbios)
if not self.createUserFile(fileDirectory, fileTxt, uid, gid):
return False
#запишем переменные для сервера
domain = self.clVars.Get("sr_samba_domain")
self.clVars.Write("sr_samba_domain",domain,True,"local")
netbios = self.clVars.Get("sr_samba_netbios")
self.clVars.Write("sr_mail_host",netbios,True,"local")
self.clVars.Write("sr_samba_netbios",netbios,True,"local")
#запишем переменные для клиента
fullHostName = "%s.%s"%(self.clVars.Get('os_net_hostname'),
self.clVars.Get('os_net_domain'))
@ -4893,45 +4909,17 @@ class servLdap(shareLdap):
"""
servicePaths = []
servInstalled = []
# Инсталлированные сервисы
servInst = self.getServiceSetup()
# пути к директориям профилей
profilePaths = self.clVars.Get("cl_profile_path")
for profilePath in profilePaths:
if self.clVars.Get("sr_ldap_set") == "on":
serv = "ldap"
servPath = os.path.join(profilePath,serv)
if os.path.exists(servPath):
servicePaths.append(servPath)
servInstalled.append(serv)
if self.clVars.Get("sr_unix_set") == "on":
serv = "unix"
servPath = os.path.join(profilePath,serv)
if os.path.exists(servPath):
servicePaths.append(servPath)
servInstalled.append(serv)
if self.clVars.Get("sr_samba_set") == "on":
serv = "samba"
servPath = os.path.join(profilePath,serv)
if os.path.exists(servPath):
servicePaths.append(servPath)
servInstalled.append(serv)
if self.clVars.Get("sr_mail_set") == "on":
serv = "mail"
servPath = os.path.join(profilePath,serv)
if os.path.exists(servPath):
servicePaths.append(servPath)
servInstalled.append(serv)
if self.clVars.Get("sr_jabber_set") == "on":
serv = "jabber"
servPath = os.path.join(profilePath,serv)
if os.path.exists(servPath):
servicePaths.append(servPath)
servInstalled.append(serv)
if self.clVars.Get("sr_ftp_set") == "on":
serv = "ftp"
servPath = os.path.join(profilePath,serv)
if os.path.exists(servPath):
servicePaths.append(servPath)
servInstalled.append(serv)
for serv in servInst:
if self.clVars.Get("sr_%s_set"%serv) == "on":
servPath = os.path.join(profilePath,serv)
if os.path.exists(servPath):
servicePaths.append(servPath)
servInstalled.append(serv)
return (servicePaths, servInstalled)
def updateServer(self, options, serviceUpdate):
@ -4952,8 +4940,8 @@ class servLdap(shareLdap):
%str(history) + " ...")
return False
# находим установленные сервисы
servicePaths, servInstalled = self.getServiceSetupPathProfiles()
if not servicePaths:
servInstalled = self.getServiceSetup()
if not servInstalled:
self.printERROR("Services are not installed")
return False
flagError = False
@ -4977,7 +4965,7 @@ class servLdap(shareLdap):
self.printERROR(_("Not found password from service %s")%service)
flagError = True
break
self.clVars.Set("ld_%s_pw"%service,adminPw, True)
self.clVars.Set("ld_%s_pw"%service, adminPw, True)
# Наложение профилей
if not flagError:
for service in servInstalled:
@ -5061,9 +5049,12 @@ class servLdap(shareLdap):
scanPrivDirs.append(dirDelUsers)
# Добавляем calulate.ldap
allArchFiles.append(ldapParser.nameIniFile)
# Добавляем calculate.env
iniFile = "/" + self.clVars.Get("cl_env_path")[2]
allArchFiles.append(iniFile)
# Добавляем calculate.env
iniFiles = self.clVars.Get("cl_env_path")
if iniFiles and len(iniFiles)>1:
for iniFile in iniFiles:
if os.path.exists(iniFile):
allArchFiles.append(iniFile)
if "samba" in servInstalled:
scanPrivDirs.append(self.sambaPrivate)
if "mail" in servInstalled:
@ -5115,7 +5106,7 @@ class servLdap(shareLdap):
а также прописываем в автозапуск
"""
# находим установленные сервисы
servicePaths, servInstalled = self.getServiceSetupPathProfiles()
servInstalled = self.getServiceSetup()
return self.startServices(servInstalled)
def restoreServer(self):
@ -5308,7 +5299,7 @@ class servLdap(shareLdap):
if not self.delServicesAutostart(self.getALLServices()):
return False
# Получим путь к ini файлу
iniFile = "/" + self.clVars.Get("cl_env_path")[2]
iniFile = self.clVars.Get("cl_env_path")[2]
# Удаляем ini файл
if os.path.exists(iniFile):
os.remove(iniFile)
@ -5430,13 +5421,6 @@ class cl_ldap(shareLdap):
_("Jabber service options")],
"ftp":[_("Common options"),
_("FTP service options")],
"all":[_("Common options"),
_("Samba service options"),
_("LDAP service options"),
_("Unix service options"),
_("Mail service options"),
_("Jabber service options"),
_("FTP service options")],
}
# Cвязь длинных опций помощи и выводимых разделов помощи с опциями
self.relOptions = {"h":[_("Common options")],
@ -6201,7 +6185,7 @@ the password will be changed only for Samba account")
{'progAccess':(9,),
'optVal':"CONDITION",
'longOption':"history",
'helpChapter':_("Common options"),
'helpChapter':_("Jabber service options"),
'help':_("enabled or disabled jabber history logging, default disable.\
(on/off)")
},
@ -6220,12 +6204,6 @@ the password will be changed only for Samba account")
#'help':_("show enviroment values (filter for type, all - no filter)")
#},
# Services
{'progAccess':(9,),
'helpChapter':_("Services"),
'help':pcs(" all", self.column_width,
_("all services"), self.consolewidth-self.column_width)
},
{'progAccess':(6,),
'helpChapter':_("Services"),
'help':pcs(" ldap", self.column_width,

Loading…
Cancel
Save