|
Astra Linux Directory Client Core API
1.7.0
|
См. документацию.
27 #define ALD_CI_LDAP 0x1 // LDAP interface needed
29 #define ALD_CI_KADM5 0x2 // KADM5 interface needed
30 #define ALD_CI_RPC 0x4 // RPC interface needed
32 #define ALD_CI_GSS 0x100 // used GSS authentication
33 #define ALD_CI_LAZY 0x200 // dont establish connection immedeately
34 #define ALD_CI_CACHE 0x400 // try use credential cache
36 #define ALD_CI_ALL ALD_CI_LDAP|ALD_CI_KADM5|ALD_CI_RPC|ALD_CI_GSS|ALD_CI_LAZY
37 #define ALD_CI_LOCAL ALD_CI_LDAP|ALD_CI_KADM5
38 #define ALD_CI_CLIENT ALD_CI_LDAP|ALD_CI_RPC|ALD_CI_GSS|ALD_CI_LAZY
66 unsigned int flags = ALD_CI_ALL);
78 const string&
userId()
const {
return m_strUserId;}
81 bool Check(
unsigned int timeout,
unsigned int delay);
138 virtual bool Validate(
const void *value,
const void *tag,
void *result);
152 virtual bool Validate(
const void *value,
const void *tag,
void *result);
162 #define ALD_RE_SERVICE_NAME "[A-Za-z][A-Za-z0-9\\_\\-]*"
166 virtual bool Validate(
const void *value,
const void *tag,
void *result);
176 #define ALD_RE_PATH "[\\/0-9A-Za-zА-Яа-я\\.\\-\\_]+"
180 virtual bool Validate(
const void *value,
const void *tag,
void *result);
190 #define ALD_RE_UTF8_GECOS_FIELD "[^\\:]*"
193 #define ALD_RE_GECOS_FIELD "[^А-Яа-рс-я\\:]*"
198 virtual bool Validate(
const void *value,
const void *tag,
void *result);
208 #define ALD_RE_POLICY_NAME "[0-9A-Za-z\\_\\-]+"
212 virtual bool Validate(
const void *value,
const void *tag,
void *result);
222 #define ALD_RE_LIFETIME "\\d+(d|h|m|s)"
226 virtual bool Validate(
const void *value,
const void *tag,
void *result);
238 virtual bool Validate(
const void *value,
const void *tag,
void *result);
250 virtual bool Validate(
const void *value,
const void *tag,
void *result);
260 #define ALD_RE_HOST_NAME "[a-z0-9\\-][\\.a-z0-9\\-]*"
261 #define ALD_RE_HOST_DOMAIN_NAME "[a-z0-9\\-]+%s"
266 virtual bool Validate(
const void *value,
const void *tag,
void *result);
276 #define ALD_RE_DOMAIN_NAME "^\\.[a-z0-9\\-][a-z0-9\\-\\.]*"
280 virtual bool Validate(
const void *value,
const void *tag,
void *result);
292 virtual bool Validate(
const void *value,
const void *tag,
void *result);
302 #define ALD_RE_HOST_FLAGS "\\[P?C?F?D?\\]"
307 virtual bool Validate(
const void *value,
const void *tag,
void *result);
317 #define ALD_RE_SGROUP_NAME "[A-Za-z][A-Za-z0-9\\_\\-\\ ]*"
321 virtual bool Validate(
const void *value,
const void *tag,
void *result);
331 #define ALD_RE_HGROUP_NAME "[A-Za-z][A-Za-z0-9\\_\\-\\ ]*"
336 virtual bool Validate(
const void *value,
const void *tag,
void *result);
347 #define ALD_VALIDATOR_LOG_TEMPLATE "LogTemplate"
351 virtual bool Validate(
const void *value,
const void *tag,
void *result);
363 virtual bool Validate(
const void *value,
const void *tag,
void *result);
387 string UserToDN(
const string &user,
const string &base);
392 enum ALDServiceOperation {asoStop, asoStart, asoRestart, asoInstall, asoRemove, asoReload};
394 int ManageService(
const string &service, ALDServiceOperation op,
bool ignore =
false);
399 int ExecCommand(
const string &command,
bool infinite =
false);
401 int ExecCommandOut(
const string &command,
ald_string_list &outlist,
bool infinite =
false);
416 void CreateClientMountPoint(
IALDCore &Core);
418 void UmountClientMountPoint(
IALDCore &Core,
const string &mode);
419 void MountClientMountPoint(
IALDCore &Core,
const string &mode);
476 void UnConfigureSSSD(
IALDCore *pCore);
480 #endif // ALD_CORE_UTILS
ALDAuthType
Набор способов аутентификации
Definition: ALDCore.h:28
CALDDocNameValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:362
string m_strUserId
Аутентифицированный пользователь
Definition: ALDCoreUtils.h:61
bool LoginAdmin(IALDCore &Core, const string &admin, const string &pwd)
Вход администратора с паролем
bool ParseHostName(IALDCore &Core, const string &fullname, string &host, string &domain, string *perror)
Разбор полного имени компьютера
int IncrementCounter(string &name, int increment)
Атомарное изменение значения именованного счётчика
IALDCore * m_pCore
Указатель на интерфейс ядра
Definition: ALDCoreUtils.h:55
Класс валидатора флагов компьютера
Definition: ALDCoreUtils.h:300
CALDSvcGroupNameValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:320
Базовый класс валидатора
Definition: ALDCore.h:132
bool m_bActive
Состояние активного соединения
Definition: ALDCoreUtils.h:62
bool GetActiveALDServerName(IALDCore &Core, const string &domain, string &dc)
Обнаружение контроллера указанного домена
string SvcPrincipal(IALDCore &Core, const string &svc, const string &host="", const string &realm="")
Синтез принципала сервиса по имени, компьютеру и домену
Класс валидатора размера истории заданий
Definition: ALDCoreUtils.h:234
shared_ptr< IALDConfig > CALDConfigPtr
Разделяемый указатель на интерфейс конфигурирования Astra Linux Directory.
Definition: ald-config.h:223
Класс валидатора имени группы
Definition: ALDCoreUtils.h:146
void CheckConfigured(IALDCore &Core)
Проверка настроенности ALD.
void Connect(const string &userId, ALDAuthType at, unsigned int ci_flags=0)
Установка соединения для заданного пользователя по типу аутентификации и флагам
void Connect(ALDAuthType at, unsigned int ci_flags=0)
Установка соединения по типу аутентификации и флагам
void RegisterBaseValidators(IALDCore &Core)
Регистрация базовых валитаторов
void UseCommonCommand(IALDCore &Core, const string &cmd)
Разрешение использования указанной общей команды
string DNToUser(const string &dn)
ПОлучение имени пользователя по DN.
Класс валидатора имени группы сервисов
Definition: ALDCoreUtils.h:315
const string & userId() const
Возвращет аутентифицированного пользователя
Definition: ALDCoreUtils.h:78
Класс валидатора DNS имени
Definition: ALDCoreUtils.h:288
void SetCounter(string &name, int value)
Установка значения именованного счётчика
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
IALDCore * AllocateCore()
Выделение ядра
void UpdateLifetimes(IALDCore &Core, CALDKadm5ConnPtr &krb5)
Обновление времени жизни всех принципалов
Класс валидатора времени жизни
Definition: ALDCoreUtils.h:220
Класс соединения
Definition: ALDCoreUtils.h:53
void UpdatePrincipalInKeytab(CALDKadm5ConnPtr krb5, const string &keytab, const string &name, bool create)
Обновление ключей принципала в ключевом файле
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
CALDUserNameValidator(IALDCore &Core)
Регулярное выражение имени пользователя
Definition: ALDCoreUtils.h:137
Класс валидатора пути ФС
Definition: ALDCoreUtils.h:174
string CannonicalizePrincipalName(IALDCore &Core, const string &name, const string &domain)
Канонизация имени принципала (синтез имени с доменом)
void RegisterLdapSchema(IALDCore &Core, const string &schema)
Регистрирует указанную схему LDAP.
Объявление RPC интерфейса Astra Linux Directory.
CALDConnection(IALDCore &Core, ALDAuthType at, unsigned int flags=ALD_CI_ALL)
Конструктор
IALDCore * pCore() const
Возвращает указатель на интерфейс ядра
void FreeCore(IALDCore *&ICore)
Освобождение ядра
shared_ptr< CALDKrbPolicy > CALDKrbPolicyPtr
Разделяемый указатель на политику паролей Kerberos CALDKrbPolicy.
Definition: kadm5-wrapper.h:111
Класс валидатора имени группы компьютеров
Definition: ALDCoreUtils.h:329
void CheckCompatibility(IALDCore &Core, const string &version)
Проверка совместимости с версией
CALDDomainNameValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:279
CALDKadm5ConnPtr m_connKadm5
Указатель на интерфейс Kerberos.
Definition: ALDCoreUtils.h:58
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
void RestartNSCD()
Перезапуск служб NSCD, NSLCD.
CALDTaskHistoryValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:237
void InitCore(IALDCore &Core)
Инициализация ядра
Класс валидатора имени сервиса
Definition: ALDCoreUtils.h:160
CALDDNSNameValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:291
unsigned int m_ci_flags
Флаги соединения
Definition: ALDCoreUtils.h:60
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
shared_ptr< IALDRpcConnection > CALDRpcConnPtr
Definition: ald-rpc.h:179
void Disconnect()
Завершение соединения
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
void SetAllowTix(CALDKadm5ConnPtr &krb5, bool AllowTix)
Установка признака выдачи билетов AllowTix всех принципалов
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:242
bool UnparseHostName(IALDCore &Core, const string &host, const string &domain, string &fullname, string *perror)
Синтез полного имени компьютера
void InvalidateNSCD()
Обновление кеша службы NSCD.
Класс валидатора GECOS.
Definition: ALDCoreUtils.h:188
ALDAuthType AuthType() const
Возвращает тип аутентификации
CALDKadm5ConnPtr & kadm5()
Возвращает указатель на интерфейс Kerberos.
shared_ptr< CALDConnection > CALDConnectionPtr
Разделяемый указатель на соединение
Definition: ALDCoreUtils.h:104
CALDLdapConnPtr m_connLdap
Указатель на интерфейс LDAP.
Definition: ALDCoreUtils.h:57
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
CALDRpcConnPtr & rpc()
Возвращает указатель на интерфейс RPC.
Объявление интерфейса взаимодействия с Kerberos.
CALDRpcConnPtr m_connRpc
Указатель на интерфейс RPC.
Definition: ALDCoreUtils.h:59
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
CALDHiddenPrincipalsValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:249
shared_ptr< IALDKadm5Connection > CALDKadm5ConnPtr
Разделяемый указатель на интерфейс соединения с сервером Kerberos.
Definition: kadm5-wrapper.h:338
list< int > ald_int_list
Список целых
Definition: ALDUtils.h:154
CALDServiceNameValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:165
Объявление интерфейса взаимодействия с LDAP.
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
void FilterUserPrincipals(IALDCore &Core, ald_string_list &list)
Отбрасывание из списка принципалов записей с '/'.
CALDPolicyNameValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:211
Класс валидатора имени политики
Definition: ALDCoreUtils.h:206
CALDHostFlagsValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:305
shared_ptr< IALDLdapConnection > CALDLdapConnPtr
Разделяемый указатель на интерфейс соединения с сервером LDAP.
Definition: ldap-wrapper.h:310
Класс валидатора шаблона протоколирования
Definition: ALDCoreUtils.h:345
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
CALDLdapConnPtr & ldap()
Возвращает указатель на интерфейс LDAP.
bool Check(unsigned int timeout, unsigned int delay)
Проверка соединения
int GetCounter(string &name)
Получение значения именованного счётчика
Объявление интерфейса конфигурирования Astra Linux Directory.
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
void Logout(IALDCore &Core, bool keep_cred=false)
Выход администратора
bool IsConnected()
Возвращает состояние соединения
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:10
void EnsureConnection()
Восстановление соединения
CALDHostNameValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:265
#define ALD_VALIDATOR_LOG_TEMPLATE
Регулярное выражение шаблона протоколирования
Definition: ALDCoreUtils.h:347
CALDHostGroupNameValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:334
bool IsKadm() const
Возвращает доступность интерфейса Kerberos.
unsigned int flags() const
Возвращет флаги соединения
CALDPolicyLifeTimeValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:225
CALDGecosValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:197
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
Класс валидатора имени домена
Definition: ALDCoreUtils.h:274
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
Объявление основного интерфейса клиента Astra Linux Directory и необходимых для него типов и интерфей...
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
CALDGroupNameValidator(IALDCore &Core)
Регулярное выражение имени группы
Definition: ALDCoreUtils.h:151
string HostPrincipal(const string &name)
Получение имени принципала компьютера
virtual bool Validate(const void *value, const void *tag, void *result)
Перегружаемый вызов валидации
Класс валидатора скрытых принципалов
Definition: ALDCoreUtils.h:246
ALDAuthType m_AuthType
Текущий тип аутентификации
Definition: ALDCoreUtils.h:56
string UserToDN(const string &user, const string &base)
ПОлучение DN по имени пользователя
Класс валидатора имени пользователя
Definition: ALDCoreUtils.h:132
Класс валидатора имени документа
Definition: ALDCoreUtils.h:359
shared_ptr< CALDKrbPrincipal > CALDKrbPrincipalPtr
Разделяемый указатель на принципал Kerberos CALDKrbPrincipal.
Definition: kadm5-wrapper.h:185
void CheckValidExits(const string &command, const int exitcode, ald_int_list &validlist)
Проверка кода возврата по списку успешных
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
bool IsLdap() const
Возвращает доступность интерфейса LDAP.
bool IsRpc() const
Возвращает доступность интерфейса RPC.
Класс валидатора имени компьютера
Definition: ALDCoreUtils.h:258
CALDLogTemplateValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:350
string LifetimeToStr(unsigned int ltime)
Получение ткстового представления времени жизни
CALDPathValidator(IALDCore &Core)
Конструктор
Definition: ALDCoreUtils.h:179