|
|
|
@ -644,6 +644,25 @@ class shareLdap(imp_cl_err, imp_cl_xml, imp_cl_help, imp_cl_smcon):
|
|
|
|
|
self.printERROR(_("Path %s exists") %userDir)
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
def createUserFile(self, fileName, fileTxt, uid, gid, mode=0644):
|
|
|
|
|
"""Создает пользовательский файл с содержимым
|
|
|
|
|
|
|
|
|
|
Если директория файла не существует то ошибка
|
|
|
|
|
"""
|
|
|
|
|
userDir = os.path.split(fileName)[0]
|
|
|
|
|
if not os.path.exists(userDir):
|
|
|
|
|
self.printERROR(_("Path %s not exists") %userDir)
|
|
|
|
|
return False
|
|
|
|
|
fd = os.open(fileName, os.O_CREAT)
|
|
|
|
|
os.close(fd)
|
|
|
|
|
os.chmod(fileName, mode)
|
|
|
|
|
os.chown(fileName,uid,gid)
|
|
|
|
|
FD = open(fileName, "r+")
|
|
|
|
|
FD.write(fileTxt)
|
|
|
|
|
FD.close()
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def saveVarsClient(self, listVarName):
|
|
|
|
|
"""Записывает переменные для клиента calcualte-client"""
|
|
|
|
|
#считаем переменные для клиента
|
|
|
|
@ -4247,6 +4266,14 @@ class servSamba(shareLdap):
|
|
|
|
|
if createDirHome:
|
|
|
|
|
if not self.createUserDir(uid, gid, createDirHome):
|
|
|
|
|
flagError = True
|
|
|
|
|
# Cоздаем иконку на домашеней директории
|
|
|
|
|
if not flagError:
|
|
|
|
|
fileTxt = "[Desktop Entry]\nIcon=user-home"
|
|
|
|
|
fileDirectory = os.path.join(createDirHome,
|
|
|
|
|
".directory")
|
|
|
|
|
if not self.createUserFile(fileDirectory,
|
|
|
|
|
fileTxt, uid, gid):
|
|
|
|
|
flagError = True
|
|
|
|
|
# Cоздаем директорию netlogon
|
|
|
|
|
if not flagError and createDirLogon:
|
|
|
|
|
if not self.createUserDir(uid, gid, createDirLogon):
|
|
|
|
@ -4485,6 +4512,17 @@ class servSamba(shareLdap):
|
|
|
|
|
# Устанавливаем автозапуск демона
|
|
|
|
|
if not self.setDaemonAutostart("samba"):
|
|
|
|
|
return False
|
|
|
|
|
# если нет share то создадим
|
|
|
|
|
sharePath = self.clVars.Get("sr_samba_share_path")
|
|
|
|
|
if not os.path.exists(sharePath):
|
|
|
|
|
os.makedirs(sharePath)
|
|
|
|
|
# Создадим иконку для share
|
|
|
|
|
fileTxt = "[Desktop Entry]\nIcon=folder-bookmarks"
|
|
|
|
|
fileDirectory = os.path.join(sharePath,".directory")
|
|
|
|
|
uid = 0
|
|
|
|
|
gid = 0
|
|
|
|
|
if not self.createUserFile(fileDirectory, fileTxt, uid, gid):
|
|
|
|
|
return False
|
|
|
|
|
#запишем переменные для клиента
|
|
|
|
|
fullHostName = "%s.%s"%(self.clVars.Get('os_net_hostname'),
|
|
|
|
|
self.clVars.Get('os_net_domain'))
|
|
|
|
|