From 9c6e9f29252925751aa831cb2d005a606f01b216 Mon Sep 17 00:00:00 2001 From: asamoukin Date: Mon, 9 Feb 2009 15:09:20 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BB=D1=8F=20=D0=BA=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D0=BD=D0=B4=20=D1=82=D1=80=D0=B5=D0=B1=D1=83=D1=8E=D1=89=D0=B8?= =?UTF-8?q?=D1=85=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B0=20root=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20=D0=BD=D0=B0=20root?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.calculate.ru/calculate2/calculate-client/trunk@842 c91db197-33c1-4113-bf15-f8a5c547ca64 --- pym/cl_client.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/pym/cl_client.py b/pym/cl_client.py index 9d08fd6..ba59d77 100644 --- a/pym/cl_client.py +++ b/pym/cl_client.py @@ -232,6 +232,14 @@ conjunction with the 'login' or 'logout'") # Объект хранения переменных self.clVars = False + def isRoot(self): + """Определяет является ли пользователь root""" + if os.getuid() == 0 and os.getgid() == 0: + return True + else: + self.printERROR("The user is not root") + return False + def createClVars(self, clVars=False): """Создает объект Vars""" @@ -482,6 +490,9 @@ conjunction with the 'login' or 'logout'") def createHome(self, userName, applyAlways=False): """Создание пользовательской директории с настройками для kde4""" + # Проверяем на root + if not self.isRoot(): + return False # Создаем объект переменных self.createClVars() uidGid = False @@ -571,6 +582,9 @@ conjunction with the 'login' or 'logout'") def mountRemote(self): """Монтирование remote и домашней директории если компьютер в домене""" + # Проверяем на root + if not self.isRoot(): + return False self.createClVars(self.clVars) domain = self.clVars.Get("cl_remote_host") if domain: @@ -621,6 +635,9 @@ conjunction with the 'login' or 'logout'") def delDomain(self): """выводим из домена""" + # Проверяем на root + if not self.isRoot(): + return False self.createClVars() pathRemote = "/var/calculate/remote" pathHome = "/var/calculate/home" @@ -652,6 +669,9 @@ conjunction with the 'login' or 'logout'") def addDomain(self, domainName): """Вводим в домен""" + # Проверяем на root + if not self.isRoot(): + return False # Создаем объект переменных self.createClVars() netDomain = self.clVars.Get("os_net_domain") @@ -767,6 +787,9 @@ install/6intranet" %(domain,servDn,unixDN,bindDn,bindPw) def umountUserRes(self, userName): """Отмонтирование пользовательских ресурсов и синхронизация настроек""" + # Проверяем на root + if not self.isRoot(): + return False self.createClVars() # В случае компьютера вне домена if not self.clVars.Get("cl_remote_host"): @@ -835,6 +858,9 @@ install/6intranet" %(domain,servDn,unixDN,bindDn,bindPw) """Отмонтирование пользовательских ресурсов без синхронизации настроек""" + # Проверяем на root + if not self.isRoot(): + return False self.createClVars(self.clVars) # В случае компьютера вне домена if not self.clVars.Get("cl_remote_host"): @@ -917,6 +943,9 @@ install/6intranet" %(domain,servDn,unixDN,bindDn,bindPw) def mountUserRes(self, userName, sync=True): """Монтирование пользовательских ресурсов и синхронизация настроек""" + # Проверяем на root + if not self.isRoot(): + return False # Проверка на повторный вход пользователя if self.isTwoSessionsUser(userName): return False