Администрирование атрибута управления учетной записью (userAccountControl)

Для администрирования атрибута управления учетной записью (userAccountControl) в домене Эллес с помощью утилиты samba-tool используется группа подкоманд uac.

Общие сведения

Атрибут userAccountControl определяет состояние учетной записи пользователя, учетной записи компьютера и служебной учетной записи (MSA, GMSA) в домене.

Он представляет собой битовую маску длиной 32 бита (4 байта), в которой каждый бит (флаг) соответствует определенному параметру учетной записи. Флаги могут принимать значение 1 (True) или 0 (False). Общее значение атрибута вычисляется на основе значений флагов: значения установленных флагов объединяются побитно с помощью логического оператора OR.

Эллес предоставляет инструменты для работы с некоторыми флагами атрибута userAccountControl (Табл. 1).

Табл. 1. Флаги атрибута userAccountControl и соответствующие им параметры samba-tool
Параметр
samba-tool
Флаг Назначение HEX Decimal

AccountNotDelegated

ADS_UF_NOT_DELEGATED

Контекст безопасности учетной записи не делегируется службам

0x00100000

1048576

AllowReversiblePasswordEncryption

ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED

Разрешает обратимое шифрование пароля

0x00000080

128

CannotChangePassword

ADS_UF_PASSWD_CANT_CHANGE

Запрет для пользователя на смену своего пароля

0x00000040

64

DoesNotRequirePreAuth

ADS_UF_DONT_REQUIRE_PREAUTH

Не требуется предварительная аутентификация

0x00400000

4194304

Enabled

ADS_UF_ACCOUNT_DISABLE

Учетная запись активна

0x00000002

2

HomedirRequired

ADS_UF_HOMEDIR_REQUIRED

Учетной записи требуется домашний каталог

0x00000008

8

MNSLogonAccount

ADS_UF_MNS_LOGON_ACCOUNT

Учетная запись типа MNS (Majority Node Set)

0x00020000

131072

PasswordNeverExpires

ADS_UF_DONT_EXPIRE_PASSWD

Срок действия пароля неограничен

0x00010000

65536

PasswordNotRequired

ADS_UF_PASSWD_NOTREQD

Пароль не требуется

0x00000020

32

SmartcardRequred

ADS_UF_SMARTCARD_REQUIRED

Для интерактивного входа в сеть требуется смарт-карта

0x00040000

262144

TrustedForDelegation

ADS_UF_TRUSTED_FOR_DELEGATION

Учетной записи доверяется неограниченное делегирование по Kerberos

0x00080000

524288

TrustedToAuthForDelegation

ADS_UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION

Учетной записи доверяется ограниченное делегирование по Kerberos

0x01000000

16777216

UseDESKeyOnly

ADS_UF_USE_DES_KEY_ONLY

Учетная запись может использовать только DES-шифрование для ключей

0x00200000

2097152

Просмотр состояния флагов атрибута userAccountControl

Формат вызова:

samba-tool uac show <DN> [options]

В качестве обязательного аргумента ожидается уникальное имя (distinguished name, DN) учетной записи пользователя, учетной записи компьютера или служебной учетной записи (MSA, GMSA).

Подкоманда возвращает:

  • общее значение атрибута userAccountControl;

  • значения флагов в формате False|True.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример получения значения атрибута userAccountControl учетной записи на локальном сервере от имени пользователя с действующим билетом Kerberos:

samba-tool uac show "CN=User1,CN=Users,DC=samdom,DC=example,DC=com"
userAccountControl: 4194816
--------------------------------------
Enabled: True
HomedirRequired: False
PasswordNotRequired: False
CannotChangePassword: False
AllowReversiblePasswordEncryption: False
PasswordNeverExpires: False
MNSLogonAccount: False
SmartcardRequred: False
TrustedForDelegation: False
AccountNotDelegated: False
UseDESKeyOnly: False
DoesNotRequirePreAuth: True
TrustedToAuthForDelegation: False
CannotChangePassword: False

Пример получения значения атрибута userAccountControl служебной учетной записи на удаленном сервере с указанием имени пользователя и пароля:

samba-tool uac show "CN=GMSA1,CN=Managed Service Accounts,DC=samdom,DC=example,DC=com" \
    -H ldap://dc1.samdom.example.com \
    -U Administrator%Password
userAccountControl: 4096
--------------------------------------
Enabled: True
HomedirRequired: False
PasswordNotRequired: False
CannotChangePassword: False
AllowReversiblePasswordEncryption: False
PasswordNeverExpires: False
MNSLogonAccount: False
SmartcardRequred: False
TrustedForDelegation: False
AccountNotDelegated: False
UseDESKeyOnly: False
DoesNotRequirePreAuth: False
TrustedToAuthForDelegation: False
CannotChangePassword: False

Изменение состояния флагов атрибута userAccountControl

Формат вызова:

samba-tool uac modify <DN> <uacproperty> (true | false) [options] [options]

В качестве обязательных аргументов ожидаются:

  • уникальное имя (distinguished name, DN) учетной записи пользователя, учетной записи компьютера или служебной учетной записи (MSA, GMSA);

  • имя флага, состояние которого требуется изменить; возможные значения (см. описание в Табл. 1):

    • AccountNotDelegated;

    • AllowReversiblePasswordEncryption;

    • CannotChangePassword;

    • DoesNotRequirePreAuth;

    • Enabled;

    • HomedirRequired;

    • MNSLogonAccount;

    • PasswordNeverExpires;

    • PasswordNotRequired;

    • SmartcardRequred;

    • TrustedForDelegation;

    • TrustedToAuthForDelegation;

    • UseDESKeyOnly;

  • значение для флага:

    • true — флаг установлен;

    • false — флаг не установлен.

Подкоманда изменяет состояние флага атрибута userAccountControl для учетной записи в соответствии с переданными параметрами.

Параметры

Параметры вызова:

  • -H URL|--URL=URL — URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.

Примеры

Пример изменения состояния флага DoesNotRequirePreAuth учетной записи на локальном сервере от имени пользователя с действующим билетом Kerberos:

samba-tool uac modify "CN=User1,CN=Users,DC=samdom,DC=example,DC=com" \
    DoesNotRequirePreAuth True

Пример изменения состояния флага DoesNotRequirePreAuth служебной учетной записи на удаленном сервере с указанием имени пользователя и пароля:

samba-tool uac modify "CN=GMSA1,CN=Managed Service Accounts,DC=samdom,DC=example,DC=com" \
    DoesNotRequirePreAuth True \
    -H ldap://dc1.samdom.example.com \
    -U Administrator%Password