|
|
|
@ -1096,13 +1096,24 @@ if you want to continue to run the program again"))
|
|
|
|
|
def initialChecks(self, service, printError=True):
|
|
|
|
|
"""Начальная проверка перед запуском методов сервиса"""
|
|
|
|
|
if self.clVars.Get("sr_mail_relay_set") == "on":
|
|
|
|
|
self.printERROR(_("This server is a mail relay. \
|
|
|
|
|
if printError:
|
|
|
|
|
self.printERROR(_("This server is a mail relay. \
|
|
|
|
|
This command is not allowed."))
|
|
|
|
|
return False
|
|
|
|
|
if not self.isServiceSetup(service, printError):
|
|
|
|
|
return False
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def initialChecksSetup(self):
|
|
|
|
|
# Создаем объект переменных
|
|
|
|
|
self.createClVars()
|
|
|
|
|
"""Начальная проверка перед запуском метода setup"""
|
|
|
|
|
if self.clVars.Get("sr_mail_relay_set") == "on":
|
|
|
|
|
self.printERROR(_("This server is a mail relay. \
|
|
|
|
|
This command is not allowed."))
|
|
|
|
|
return False
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def chownR(self, directory, uid, gid):
|
|
|
|
|
"""изменяет владельца и группу
|
|
|
|
@ -1234,6 +1245,23 @@ This command is not allowed."))
|
|
|
|
|
(!(|(&(&(ou:dn:=Users)(ou:dn:=Mail))(uid=*))(&(&(ou:dn:=Groups)(ou:dn:=Mail))\
|
|
|
|
|
(cn=*)))))')
|
|
|
|
|
|
|
|
|
|
def deleteServiceVarsInFile(self, service):
|
|
|
|
|
"""Удаляет переменные сервиса из ini файлов
|
|
|
|
|
|
|
|
|
|
После запуска этого метода объект self.clVars должен быть пересоздан
|
|
|
|
|
"""
|
|
|
|
|
importVarsDict = self.createClVars(False,True)
|
|
|
|
|
serviceNameVars = "_%s_" %service
|
|
|
|
|
for location in importVarsDict.keys():
|
|
|
|
|
for nameVar in importVarsDict[location]:
|
|
|
|
|
# Если имя сервиса присутствует в переменной -
|
|
|
|
|
# Удаляем переменную
|
|
|
|
|
if serviceNameVars in nameVar:
|
|
|
|
|
if not self.clVars.Delete(nameVar, location, "server"):
|
|
|
|
|
return False
|
|
|
|
|
self.clVars = False
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
@adminConnectLdap
|
|
|
|
|
def deleteDN(self, relDelDN):
|
|
|
|
|
"""Удаляет DN и все внутренние элементы"""
|
|
|
|
@ -1382,14 +1410,18 @@ This command is not allowed."))
|
|
|
|
|
else:
|
|
|
|
|
return self.dialogYesNo(message)
|
|
|
|
|
|
|
|
|
|
def createClVars(self, clVars=False):
|
|
|
|
|
def createClVars(self, clVars=False, returnImportVar=False):
|
|
|
|
|
"""Создает объект Vars"""
|
|
|
|
|
# Словарь импортируемых переменных из ini Файлов
|
|
|
|
|
dictImportVars = {}
|
|
|
|
|
if not clVars:
|
|
|
|
|
clVars = cl_base.DataVars()
|
|
|
|
|
clVars.flServer()
|
|
|
|
|
clVars.flIniFile()
|
|
|
|
|
dictImportVars = clVars.flIniFile()
|
|
|
|
|
# Устанавливаем у объекта объект Vars
|
|
|
|
|
self.clVars = clVars
|
|
|
|
|
if returnImportVar:
|
|
|
|
|
return dictImportVars
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
@adminConnectLdap
|
|
|
|
@ -2652,8 +2684,9 @@ service"))
|
|
|
|
|
"""Начальная настройка Unix сервиса"""
|
|
|
|
|
# Принудительная установка
|
|
|
|
|
forceOptions = False
|
|
|
|
|
# Cоздаем объект переменные
|
|
|
|
|
self.createClVars()
|
|
|
|
|
# Создаем объект переменных и начальная проверка
|
|
|
|
|
if not self.initialChecksSetup():
|
|
|
|
|
return False
|
|
|
|
|
if options.has_key("f"):
|
|
|
|
|
forceOptions = True
|
|
|
|
|
# В случае если сервер установлен
|
|
|
|
@ -3733,17 +3766,16 @@ if you want to continue to run the program again"))
|
|
|
|
|
forceOptions = False
|
|
|
|
|
if options.has_key("f"):
|
|
|
|
|
forceOptions = True
|
|
|
|
|
# Создаем объект переменных
|
|
|
|
|
self.createClVars()
|
|
|
|
|
# Установка доступных сетей по умолчанию
|
|
|
|
|
self.clVars.Set("sr_mail_net_allow",
|
|
|
|
|
self.clVars.Get("os_net_allow").replace(",",", "),
|
|
|
|
|
True)
|
|
|
|
|
# Создаем объект переменных и начальная проверка
|
|
|
|
|
if not self.initialChecksSetup():
|
|
|
|
|
return False
|
|
|
|
|
if self.clVars.Get("sr_unix_set") != "on":
|
|
|
|
|
self.printERROR(_("Unix service is not setuped"))
|
|
|
|
|
self.printWARNING(_("Setup Unix service"))
|
|
|
|
|
self.printWARNING(" cl-setup unix")
|
|
|
|
|
return False
|
|
|
|
|
# Доверительные сети по умолчанию
|
|
|
|
|
allowNet = self.clVars.Get("os_net_allow")
|
|
|
|
|
# В случае если сервер установлен
|
|
|
|
|
if self.clVars.Get("sr_mail_set") == "on" and\
|
|
|
|
|
not forceOptions:
|
|
|
|
@ -3766,12 +3798,14 @@ if you want to continue to run the program again"))
|
|
|
|
|
return True
|
|
|
|
|
if options.has_key("a"):
|
|
|
|
|
# Получаем от пользователя доверительные сети
|
|
|
|
|
if not self.getAllowNet():
|
|
|
|
|
allowNet = self.getAllowNet()
|
|
|
|
|
if not allowNet:
|
|
|
|
|
return False
|
|
|
|
|
else:
|
|
|
|
|
if options.has_key("a"):
|
|
|
|
|
# Получаем от пользователя доверительные сети
|
|
|
|
|
if not self.getAllowNet():
|
|
|
|
|
allowNet = self.getAllowNet()
|
|
|
|
|
if not allowNet:
|
|
|
|
|
return False
|
|
|
|
|
# делаем backup
|
|
|
|
|
# Проверим запущен ли ldap
|
|
|
|
@ -3781,6 +3815,12 @@ if you want to continue to run the program again"))
|
|
|
|
|
return False
|
|
|
|
|
bakupObj = servLdap()
|
|
|
|
|
bakupObj.backupServer()
|
|
|
|
|
# Удаляем переменные сервиса в ini файлах
|
|
|
|
|
self.deleteServiceVarsInFile("mail")
|
|
|
|
|
# Cоздаем объект переменные
|
|
|
|
|
self.createClVars()
|
|
|
|
|
# Устанавливаем доступные сети
|
|
|
|
|
self.clVars.Set("sr_mail_net_allow",allowNet,True)
|
|
|
|
|
# Удаляем из автозапуска демона
|
|
|
|
|
if not self.delDaemonAutostart("postfix"):
|
|
|
|
|
return False
|
|
|
|
@ -4423,8 +4463,9 @@ class servJabber(shareLdap):
|
|
|
|
|
forceOptions = False
|
|
|
|
|
if options.has_key("f"):
|
|
|
|
|
forceOptions = True
|
|
|
|
|
# Создаем объект переменных
|
|
|
|
|
self.createClVars()
|
|
|
|
|
# Создаем объект переменных и начальная проверка
|
|
|
|
|
if not self.initialChecksSetup():
|
|
|
|
|
return False
|
|
|
|
|
#self.clVars.printVars()
|
|
|
|
|
#return True
|
|
|
|
|
if self.clVars.Get("sr_ldap_set") != "on":
|
|
|
|
@ -4461,6 +4502,10 @@ class servJabber(shareLdap):
|
|
|
|
|
return False
|
|
|
|
|
bakupObj = servLdap()
|
|
|
|
|
bakupObj.backupServer()
|
|
|
|
|
# Удаляем переменные сервиса в ini файлах
|
|
|
|
|
self.deleteServiceVarsInFile("jabber")
|
|
|
|
|
# Cоздаем объект переменные
|
|
|
|
|
self.createClVars()
|
|
|
|
|
# Удаляем из автозапуска демона
|
|
|
|
|
if not self.delDaemonAutostart("ejabberd"):
|
|
|
|
|
return False
|
|
|
|
@ -4926,16 +4971,18 @@ if %%errorlevel%%==0 NET USE T: \\\\%s\\ftp' %(netbios,netbios,netbios)
|
|
|
|
|
if flagCreateUnixUser:
|
|
|
|
|
self.servUnixObj.delUserUnixServer(userName, {},
|
|
|
|
|
False, False)
|
|
|
|
|
self.printERROR(_("Can not add user") + " ...")
|
|
|
|
|
self.printERROR(_("Can not add user %s")%userName + " ...")
|
|
|
|
|
return False
|
|
|
|
|
if flagCreateUnixUser:
|
|
|
|
|
self.printSUCCESS(_("Added user in Unix service") + " ...")
|
|
|
|
|
self.printSUCCESS(_("Added user in Samba service") +" ...")
|
|
|
|
|
self.printSUCCESS(_("Added user %s in Unix service")%userName+\
|
|
|
|
|
" ...")
|
|
|
|
|
self.printSUCCESS(_("Added user %s in Samba service")%userName +\
|
|
|
|
|
" ...")
|
|
|
|
|
return True
|
|
|
|
|
else:
|
|
|
|
|
if flagCreateUnixUser:
|
|
|
|
|
self.servUnixObj.delUserUnixServer(userName, {}, False, False)
|
|
|
|
|
self.printERROR(_("Can not add user") + " ...")
|
|
|
|
|
self.printERROR(_("Can not add user %s")%userName + " ...")
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
def searchSambaUser(self, userName):
|
|
|
|
@ -4997,19 +5044,17 @@ if %%errorlevel%%==0 NET USE T: \\\\%s\\ftp' %(netbios,netbios,netbios)
|
|
|
|
|
if not allowNet:
|
|
|
|
|
return False
|
|
|
|
|
# Установка переменной доступные сети
|
|
|
|
|
self.clVars.Set("sr_samba_net_allow",",".join(allowNet),True)
|
|
|
|
|
return True
|
|
|
|
|
allowNet = ",".join(allowNet)
|
|
|
|
|
self.clVars.Set("sr_samba_net_allow", allowNet ,True)
|
|
|
|
|
return allowNet
|
|
|
|
|
|
|
|
|
|
def setupSambaServer(self, options):
|
|
|
|
|
"""Начальная настройка Samba сервиса"""
|
|
|
|
|
# Принудительная установка
|
|
|
|
|
forceOptions = False
|
|
|
|
|
# Cоздаем объект переменные
|
|
|
|
|
self.createClVars()
|
|
|
|
|
# Установка доступных сетей по умолчанию
|
|
|
|
|
self.clVars.Set("sr_samba_net_allow",
|
|
|
|
|
self.clVars.Get("os_net_allow").replace(","," "),
|
|
|
|
|
True)
|
|
|
|
|
# Создаем объект переменных и начальная проверка
|
|
|
|
|
if not self.initialChecksSetup():
|
|
|
|
|
return False
|
|
|
|
|
if options.has_key("f"):
|
|
|
|
|
forceOptions = True
|
|
|
|
|
if self.clVars.Get("sr_unix_set") != "on":
|
|
|
|
@ -5023,6 +5068,8 @@ if %%errorlevel%%==0 NET USE T: \\\\%s\\ftp' %(netbios,netbios,netbios)
|
|
|
|
|
self.printWARNING (_("WARNING") + ": " +\
|
|
|
|
|
_("Samba server is configured")+ ".")
|
|
|
|
|
return True
|
|
|
|
|
# Доверительные сети по умолчанию
|
|
|
|
|
allowNet = self.clVars.Get("os_net_allow")
|
|
|
|
|
if not forceOptions:
|
|
|
|
|
# предупреждение при выполнении этой программы будут изменены
|
|
|
|
|
# конфигурационные файлы сервиса Samba
|
|
|
|
@ -5037,12 +5084,14 @@ if %%errorlevel%%==0 NET USE T: \\\\%s\\ftp' %(netbios,netbios,netbios)
|
|
|
|
|
return True
|
|
|
|
|
if options.has_key("a"):
|
|
|
|
|
# Получаем от пользователя доверительные сети
|
|
|
|
|
if not self.getAllowNet():
|
|
|
|
|
allowNet = self.getAllowNet()
|
|
|
|
|
if not allowNet:
|
|
|
|
|
return False
|
|
|
|
|
else:
|
|
|
|
|
if options.has_key("a"):
|
|
|
|
|
# Получаем от пользователя доверительные сети
|
|
|
|
|
if not self.getAllowNet():
|
|
|
|
|
allowNet = self.getAllowNet()
|
|
|
|
|
if not allowNet:
|
|
|
|
|
return False
|
|
|
|
|
# делаем backup
|
|
|
|
|
# Проверим запущен ли ldap
|
|
|
|
@ -5052,6 +5101,12 @@ if %%errorlevel%%==0 NET USE T: \\\\%s\\ftp' %(netbios,netbios,netbios)
|
|
|
|
|
return False
|
|
|
|
|
bakupObj = servLdap()
|
|
|
|
|
bakupObj.backupServer()
|
|
|
|
|
# Удаляем переменные сервиса в ini файлах
|
|
|
|
|
self.deleteServiceVarsInFile("samba")
|
|
|
|
|
# Cоздаем объект переменные
|
|
|
|
|
self.createClVars()
|
|
|
|
|
# Устанавливаем доступные сети
|
|
|
|
|
self.clVars.Set("sr_samba_net_allow",allowNet,True)
|
|
|
|
|
# Удаляем из автозапуска демона
|
|
|
|
|
if not self.delDaemonAutostart("samba"):
|
|
|
|
|
return False
|
|
|
|
@ -6626,11 +6681,12 @@ for running replication")%bFile)
|
|
|
|
|
objRepl = servRepl()
|
|
|
|
|
if not objRepl.cronReplicationOFF():
|
|
|
|
|
return False
|
|
|
|
|
# Получим путь к ini файлу
|
|
|
|
|
iniFile = self.clVars.Get("cl_env_path")[2]
|
|
|
|
|
# Удаляем ini файл
|
|
|
|
|
if os.path.exists(iniFile):
|
|
|
|
|
os.remove(iniFile)
|
|
|
|
|
# Получим пути к ini файлам
|
|
|
|
|
iniFiles = self.clVars.Get("cl_env_path")
|
|
|
|
|
# Удаляем все ini файлы
|
|
|
|
|
for iniFile in iniFiles:
|
|
|
|
|
if os.path.exists(iniFile):
|
|
|
|
|
os.remove(iniFile)
|
|
|
|
|
# Получим путь к ldap файлу
|
|
|
|
|
ldapParser = iniLdapParser()
|
|
|
|
|
ldapFile = ldapParser.nameIniFile
|
|
|
|
@ -8026,8 +8082,9 @@ class servFtp(shareLdap):
|
|
|
|
|
forceOptions = False
|
|
|
|
|
if options.has_key("f"):
|
|
|
|
|
forceOptions = True
|
|
|
|
|
# Создаем объект переменных
|
|
|
|
|
self.createClVars()
|
|
|
|
|
# Создаем объект переменных и начальная проверка
|
|
|
|
|
if not self.initialChecksSetup():
|
|
|
|
|
return False
|
|
|
|
|
if self.clVars.Get("sr_unix_set") != "on":
|
|
|
|
|
self.printERROR(_("Unix service is not setuped"))
|
|
|
|
|
self.printWARNING(_("Setup Unix service"))
|
|
|
|
@ -8062,6 +8119,10 @@ class servFtp(shareLdap):
|
|
|
|
|
return False
|
|
|
|
|
bakupObj = servLdap()
|
|
|
|
|
bakupObj.backupServer()
|
|
|
|
|
# Удаляем переменные сервиса в ini файлах
|
|
|
|
|
self.deleteServiceVarsInFile("ftp")
|
|
|
|
|
# Cоздаем объект переменные
|
|
|
|
|
self.createClVars()
|
|
|
|
|
# Удаляем из автозапуска демона
|
|
|
|
|
if not self.delDaemonAutostart("proftpd"):
|
|
|
|
|
return False
|
|
|
|
|