|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
# Copyright 2016 Mir Calculate. http://www.calculate-linux.org
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
import sys
|
|
|
|
from calculate.lib.datavars import (ReadonlyVariable, Variable)
|
|
|
|
from calculate.ldap.variables.helpers import (HashHelper, RandomPasswordHelper,
|
|
|
|
ServerEnvHelper)
|
|
|
|
|
|
|
|
_ = lambda x: x
|
|
|
|
from calculate.lib.cl_lang import (setLocalTranslate, getLazyLocalTranslate)
|
|
|
|
|
|
|
|
setLocalTranslate('cl_unix3', sys.modules[__name__])
|
|
|
|
__ = getLazyLocalTranslate(_)
|
|
|
|
|
|
|
|
|
|
|
|
class VariableLdUnixLogin(ReadonlyVariable):
|
|
|
|
"""
|
|
|
|
Имя администратор Unix сервера
|
|
|
|
"""
|
|
|
|
value = "Unix"
|
|
|
|
|
|
|
|
|
|
|
|
# class VariableLdUnixDn(ServerEnvHelper, ReadonlyVariable):
|
|
|
|
# """
|
|
|
|
# DN настроенного сервиса
|
|
|
|
# """
|
|
|
|
# fallback_variable = "unix.ld_unix_dn"
|
|
|
|
# service = "unix"
|
|
|
|
# parameter = "dn"
|
|
|
|
|
|
|
|
|
|
|
|
class VariableLdUnixDn(ReadonlyVariable):
|
|
|
|
"""
|
|
|
|
DN сервиса
|
|
|
|
"""
|
|
|
|
value_format = "ou={ld_unix_login},{ldap.ld_services_dn}"
|
|
|
|
|
|
|
|
|
|
|
|
class VariableLdUnixUsersDn(ReadonlyVariable):
|
|
|
|
"""
|
|
|
|
DN пользователей сервиса
|
|
|
|
"""
|
|
|
|
value_format = "ou=Users,{ld_unix_dn}"
|
|
|
|
|
|
|
|
|
|
|
|
class VariableLdUnixGroupsDn(ReadonlyVariable):
|
|
|
|
"""
|
|
|
|
DN групп сервиса
|
|
|
|
"""
|
|
|
|
value_format = "ou=Groups,{ld_unix_dn}"
|
|
|
|
|
|
|
|
|
|
|
|
class VariableLdUnixHash(HashHelper, ReadonlyVariable):
|
|
|
|
"""
|
|
|
|
Хэш рут пароля
|
|
|
|
"""
|
|
|
|
source = "ld_unix_pw"
|
|
|
|
|
|
|
|
|
|
|
|
class VariableLdUnixPw(ServerEnvHelper, RandomPasswordHelper, Variable):
|
|
|
|
"""
|
|
|
|
Пароль root
|
|
|
|
"""
|
|
|
|
password_len = 9
|
|
|
|
service = "unix"
|
|
|
|
parameter = "PASS"
|
|
|
|
|
|
|
|
@property
|
|
|
|
def fallback_value(self):
|
|
|
|
#return "test22"
|
|
|
|
return RandomPasswordHelper.get(self)
|
|
|
|
|
|
|
|
#def get(self):
|
|
|
|
# if self.Get('ld_unix_pw_generate_set') == 'on':
|
|
|
|
# return "test22"
|
|
|
|
# return RandomPasswordHelper.get(self)
|
|
|
|
# else:
|
|
|
|
# super(VariableLdUnixPw, self).get()
|
|
|
|
|
|
|
|
class VariableLdUnixPwGenerateSet(Variable):
|
|
|
|
"""
|
|
|
|
Перегенерировать пароль или нет
|
|
|
|
"""
|
|
|
|
type = "bool"
|
|
|
|
|
|
|
|
opt = ("-g", "--gen-password")
|
|
|
|
|
|
|
|
def init(self):
|
|
|
|
self.label = _("Generate new service password")
|
|
|
|
self.help = _("generate new service password")
|
|
|
|
|
|
|
|
def get(self):
|
|
|
|
if self.Get('server.sr_unix_set') == 'on':
|
|
|
|
return "off"
|
|
|
|
else:
|
|
|
|
return "on"
|