|
|
|
@ -533,7 +533,6 @@ conjunction with the 'login' or 'logout'")
|
|
|
|
|
|
|
|
|
|
def errorExit(self):
|
|
|
|
|
"""Отмонтирование пользовательских ресурсов при ошибке"""
|
|
|
|
|
# TODO: добавить удаление приватных файлов
|
|
|
|
|
if self.errorAndUnmountUserRes and self.userName:
|
|
|
|
|
self.umountUserResNoSync(self.userName, False, False, False, True)
|
|
|
|
|
|
|
|
|
@ -1547,6 +1546,19 @@ or ld_bind_dn or ld_bind_pw")
|
|
|
|
|
return False
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def clearUserKey(self, userName):
|
|
|
|
|
"""Очищает пользовательский ключ ядра"""
|
|
|
|
|
# Ищем ключ в ядре
|
|
|
|
|
if _cl_keys.getKey(userName):
|
|
|
|
|
# Если нашли очищаем
|
|
|
|
|
if _cl_keys.clearKey(userName) == 0:
|
|
|
|
|
return True
|
|
|
|
|
else:
|
|
|
|
|
self.printERROR(_("Can not clear kernel key from user %s")\
|
|
|
|
|
%userName)
|
|
|
|
|
return False
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def umountUserRes(self, userName,progress=False):
|
|
|
|
|
"""Отмонтирование пользовательских ресурсов и синхронизация настроек"""
|
|
|
|
|
# Имя пользователя
|
|
|
|
@ -1665,6 +1677,8 @@ or ld_bind_dn or ld_bind_pw")
|
|
|
|
|
except:
|
|
|
|
|
# Удаляем приватные файлы
|
|
|
|
|
self.removePrivateFiles(homeDir)
|
|
|
|
|
# Очищаем ключ в ядре
|
|
|
|
|
self.clearUserKey(userName)
|
|
|
|
|
# Отмонтируем пользовательские ресурсы в случае ошибки
|
|
|
|
|
self.errorAndUnmountUserRes = True
|
|
|
|
|
return False
|
|
|
|
@ -1672,11 +1686,15 @@ or ld_bind_dn or ld_bind_pw")
|
|
|
|
|
if needSync and not self.syncUser(userName,homeDir,"logout",uid,gid):
|
|
|
|
|
# Удаляем приватные файлы
|
|
|
|
|
self.removePrivateFiles(homeDir)
|
|
|
|
|
# Очищаем ключ в ядре
|
|
|
|
|
self.clearUserKey(userName)
|
|
|
|
|
# Отмонтируем пользовательские ресурсы в случае ошибки
|
|
|
|
|
self.errorAndUnmountUserRes = True
|
|
|
|
|
return False
|
|
|
|
|
# Удаляем приватные файлы
|
|
|
|
|
self.removePrivateFiles(homeDir)
|
|
|
|
|
# Очищаем ключ в ядре
|
|
|
|
|
self.clearUserKey(userName)
|
|
|
|
|
flagError = False
|
|
|
|
|
for path, res in pathRemote:
|
|
|
|
|
if self.isMount(path ,"cifs"):
|
|
|
|
|