6 #ifndef ALD_KADM5_WRAPPER 7 #define ALD_KADM5_WRAPPER 23 #define KADM5_ITF_NAME "kadmin" 27 #define KRB5_ITF_VERSION_1 1 28 #define KRB5_ITF_VERSION_2 2 32 #define KRB5CCNAME "KRB5CCNAME" 86 #define ALD_KRB_SET_PW_MAX_LIFE 0x01 89 #define ALD_KRB_SET_PW_MIN_LIFE 0x02 91 #define ALD_KRB_SET_PW_MIN_LENGTH 0x04 93 #define ALD_KRB_SET_PW_MIN_CLASSES 0x08 95 #define ALD_KRB_SET_PW_HISTORY_NUM 0x10 99 #define ALD_KRB_SET_PW_MAX_FAIL 0x20 100 #define ALD_KRB_SET_PW_FAIL_CNT_INT 0x40 102 #define ALD_KRB_SET_PW_LCK_OUT_DUR 0x80 107 #define ALD_KRB_SET_PW_ALL ALD_KRB_SET_PW_MAX_LIFE | ALD_KRB_SET_PW_MIN_LIFE | ALD_KRB_SET_PW_MIN_LENGTH \ 108 | ALD_KRB_SET_PW_MIN_CLASSES | ALD_KRB_SET_PW_HISTORY_NUM | ALD_KRB_SET_PW_MAX_FAIL \ 109 | ALD_KRB_SET_PW_FAIL_CNT_INT | ALD_KRB_SET_PW_LCK_OUT_DUR 136 princ_expire_time = 0;
145 max_renewable_life = 0;
151 #define ALD_KRB_DISALLOW_ALL_TIX 0x00000040 154 #define ALD_KRB_REQUIRES_PWCHANGE 0x00000200 156 #define ALD_KRB_DISALLOW_TGT_BASED 0x00000004 160 #define ALD_KRB_SET_POLICY 0x000800 161 #define ALD_KRB_SET_RANDKEY 0x001000 163 #define ALD_KRB_SET_PWCHANGE 0x002000 165 #define ALD_KRB_SET_DISALLOWTIX 0x004000 167 #define ALD_KRB_SET_MAXLIFE 0x008000 169 #define ALD_KRB_SET_MAXRLIFE 0x010000 171 #define ALD_KRB_CLR_FAILCNT 0x020000 173 #define ALD_KRB_SET_DISALLOWTGTBASED 0x040000 178 #define ALD_KRB_STR_ACCOUNT_TYPE "ald_account" 180 #define ALD_KRB_STR_ACCOUNT_USER "user" 181 #define ALD_KRB_STR_ACCOUNT_SERVICE "service" 182 #define ALD_KRB_STR_ACCOUNT_INTERNAL "internal" 194 virtual unsigned int GetItfVersion() = 0;
203 virtual void ConnectPassword(
const string& user,
const string& pwd,
bool kadmin,
bool savecred =
false) = 0;
211 virtual void ConnectKeytab(
const string& user,
const string& keytab,
bool kadmin,
bool savecred =
false) = 0;
217 virtual string ConnectCreds(
const string& cache,
bool kadmin) = 0;
219 virtual bool IsConnected() = 0;
224 virtual void Disconnect(
bool keep_cred =
false) = 0;
231 virtual void Policies(
const string& expr,
ald_string_list& pollist) = 0;
236 virtual CALDKrbPolicyPtr PolicyGet(
const string& polname) = 0;
242 virtual void PolicyAdd(CALDKrbPolicyPtr Policy,
unsigned int setmask) = 0;
248 virtual void PolicyMod(CALDKrbPolicyPtr Policy,
unsigned int setmask) = 0;
253 virtual void PolicyDel(
const string& policy) = 0;
260 virtual void Principals(
const string& expr,
ald_string_list& princlist) = 0;
265 virtual CALDKrbPrincipalPtr PrincipalGet(
const string& princname) = 0;
272 virtual void PrincipalAdd(CALDKrbPrincipalPtr Principal,
const string& pwd,
unsigned int setmask) = 0;
278 virtual void PrincipalMod(CALDKrbPrincipalPtr Principal,
unsigned int setmask) = 0;
283 virtual void PrincipalDel(CALDKrbPrincipalPtr Principal) = 0;
288 virtual void PrincipalGetStrings(CALDKrbPrincipalPtr Principal) = 0;
295 virtual void PrincipalSetString(CALDKrbPrincipalPtr Principal,
const string &key,
const string &val) = 0;
301 virtual void PrincipalChangePwd(CALDKrbPrincipalPtr Principal,
const string& pwd) = 0;
309 virtual bool KeytabCheckPrincipal(
const string& keytab,
const string& princname) = 0;
315 virtual void KeytabAddPrincipal(
const string& keytab,
const string& princname) = 0;
321 virtual void KeytabRmPrincipal(
const string& keytab,
const string& princname) = 0;
327 virtual void KeytabPrincipals(
const string& keytab,
ald_string_list& princlist) = 0;
330 virtual string GetDefaultRealm() = 0;
331 virtual long GetLastError() = 0;
332 virtual bool IfReconnectNeeded() = 0;
333 virtual string GetUserId() = 0;
349 virtual CALDKadm5ConnPtr getConnection() = 0;
355 #define ADM_KRB_USER_NAME "K/M" 360 #endif // ALD_KADM5_WRAPPER Абстрактный класс-интерфейс соединения с сервером Kerberos.
Definition: kadm5-wrapper.h:191
shared_ptr< IALDKadm5Wrapper > CALDKadm5WrapperPtr
Разделяемый указатель на интерфейс взаимодействия с Kerberos IALDKadm5Wrapper.
Definition: kadm5-wrapper.h:352
time_t last_failed
Время последней неуспешной попытки аутентификации
Definition: kadm5-wrapper.h:127
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
Объявление основного интерфейса клиента Astra Linux Directory и необходимых для него типов и интерфей...
Абстрактный класс-интерфейс взаимодействия с Kerberos.
Definition: kadm5-wrapper.h:345
unsigned int lockout_duration
Длительность блокировки
Definition: kadm5-wrapper.h:51
unsigned int refcnt
Счетчик использования политики
Definition: kadm5-wrapper.h:47
unsigned int fail_auth_count
Количество неуспешных попыток аутентификации
Definition: kadm5-wrapper.h:128
#define KADM5_ITF_NAME
Имя интерфейса Kerberos.
Definition: kadm5-wrapper.h:24
string policy
Имя политики паролей
Definition: kadm5-wrapper.h:121
virtual ~IALDKadm5Connection()
Деструктор
Definition: kadm5-wrapper.h:335
unsigned int itf_version
Версия протокола Kerberos.
Definition: kadm5-wrapper.h:41
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:9
virtual ~CALDKrbPolicy()
Деструтор
Definition: kadm5-wrapper.h:82
unsigned int history_num
Размер истории паролей
Definition: kadm5-wrapper.h:46
Класс политики паролей Kerberos.
Definition: kadm5-wrapper.h:37
virtual ~CALDKrbPrincipal()
Деструктор
Definition: kadm5-wrapper.h:147
time_t pw_expiration
Время истечения действия пароля
Definition: kadm5-wrapper.h:124
IALDKadm5Wrapper(IALDCore &Core)
Конструктор
Definition: kadm5-wrapper.h:348
unsigned int max_fail
Максимальное количество неверных вводов пароля до блокировки
Definition: kadm5-wrapper.h:49
Базовый класс интерфейса
Definition: ALDCore.h:83
unsigned int max_life
Максимальное время действия билета
Definition: kadm5-wrapper.h:130
unsigned int attributes
Вектор атрибутов
Definition: kadm5-wrapper.h:129
unsigned int max_renewable_life
Максимальное возобновляемое время действия билета
Definition: kadm5-wrapper.h:131
unsigned int max_life
Максимальное время действия пароля
Definition: kadm5-wrapper.h:43
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
unsigned int itf_version
Версия протокола Kerberos.
Definition: kadm5-wrapper.h:120
shared_ptr< CALDKrbPolicy > CALDKrbPolicyPtr
Разделяемый указатель на политику паролей Kerberos CALDKrbPolicy.
Definition: kadm5-wrapper.h:111
time_t princ_expire_time
Максимальное время действия учетной записи
Definition: kadm5-wrapper.h:122
unsigned int min_classes
Минимальное количество классов символов
Definition: kadm5-wrapper.h:45
unsigned int min_life
Минимальное время действия пароля
Definition: kadm5-wrapper.h:42
time_t last_success
Время последней успешной попытки аутентификации
Definition: kadm5-wrapper.h:126
ald_string_map strings
Строковые атрибуты
Definition: kadm5-wrapper.h:132
string name
Имя политики
Definition: kadm5-wrapper.h:40
Класс принципала Kerberos.
Definition: kadm5-wrapper.h:116
shared_ptr< IALDKadm5Connection > CALDKadm5ConnPtr
Разделяемый указатель на интерфейс соединения с сервером Kerberos.
Definition: kadm5-wrapper.h:338
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
void Assign(CALDKrbPolicy &policy)
Копирование свойств с другой политики
Definition: kadm5-wrapper.h:69
shared_ptr< CALDKrbPrincipal > CALDKrbPrincipalPtr
Разделяемый указатель на принципал Kerberos CALDKrbPrincipal.
Definition: kadm5-wrapper.h:185
unsigned int min_length
Минимальная длина
Definition: kadm5-wrapper.h:44
#define KRB5_ITF_VERSION_2
Версия 2 протокола Kerberos.
Definition: kadm5-wrapper.h:29
time_t last_pwd_change
Время последней смены пароля
Definition: kadm5-wrapper.h:123
unsigned int failcnt_interval
Время между попытками ввода при неверном вводе
Definition: kadm5-wrapper.h:50
time_t mod_date
Время модификации
Definition: kadm5-wrapper.h:125
Абстрактный класс IALDCore - основной интерфейс клиента Astra Linux Directory, с помощью которого вып...
Definition: ALDCore.h:241
string name
Имя принципала
Definition: kadm5-wrapper.h:119