You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-utils-3-unix/pym/unix/variables/unix.py

86 lines
2.2 KiB

# -*- 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)