ActiveDirectory/MachinePassword: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 30: Строка 30:
Winbind, на текущий момент (samba-winbind 4.16.7), не умеет после смены пароля машинного аккаунта обновлять системный keytab файл (/etc/krb5.keytab). Следовательно, во избежание конфликтов с sssd, следует отключить этот функционал. Для этого в файл /etc/samba/smb.conf в секцию [global] необходимо добавить параметр machine password timeout = 0.
Winbind, на текущий момент (samba-winbind 4.16.7), не умеет после смены пароля машинного аккаунта обновлять системный keytab файл (/etc/krb5.keytab). Следовательно, во избежание конфликтов с sssd, следует отключить этот функционал. Для этого в файл /etc/samba/smb.conf в секцию [global] необходимо добавить параметр machine password timeout = 0.


/etc/samba/smb.conf
'''/etc/samba/smb.conf'''
<source lang="bash">[global]
<source lang="bash">[global]
machine password timeout = 0</source>
machine password timeout = 0</source>
Строка 37: Строка 37:
Sssd для обновления пароля машинного аккаунта использует утилиту adcli. Необходимо убедиться, что она установлена в системе.
Sssd для обновления пароля машинного аккаунта использует утилиту adcli. Необходимо убедиться, что она установлена в системе.


'''# apt-get install adcli'''
<source lang="bash"># apt-get install adcli</source>


Так как Winbind не умеет обновлять системный keytab файл, то хранит текущий пароль машинного аккаунта в своей базе данных (/var/lib/samba/private/secrets.tdb). Необходимо включить в sssd функцию обновления пароля в этой базе. Для этого следует в файл /etc/sssd/ssd.conf в секцию [domain/<Домен>] добавить параметр ad_update_samba_machine_account_password = true.
Так как Winbind не умеет обновлять системный keytab файл, то хранит текущий пароль машинного аккаунта в своей базе данных (/var/lib/samba/private/secrets.tdb). Необходимо включить в sssd функцию обновления пароля в этой базе. Для этого следует в файл /etc/sssd/ssd.conf в секцию [domain/<Домен>] добавить параметр ad_update_samba_machine_account_password = true.
Строка 45: Строка 45:
Для корректного функционирования обновления пароля машинного аккаунта sssd необходим доступ на запись в файл /etc/krb5.keytab. Для этого не достаточно привилегий пользователя _sssd, от которого обычно и запускается sssd. Необходимо запускать sssd с правами суперпользователя. Для этого следует в файле /etc/sssd/sssd.conf в секции [sssd] изменить значение параметра user на root.
Для корректного функционирования обновления пароля машинного аккаунта sssd необходим доступ на запись в файл /etc/krb5.keytab. Для этого не достаточно привилегий пользователя _sssd, от которого обычно и запускается sssd. Необходимо запускать sssd с правами суперпользователя. Для этого следует в файле /etc/sssd/sssd.conf в секции [sssd] изменить значение параметра user на root.


<source lang="bash">/etc/sssd/sssd.conf
'''/etc/sssd/sssd.conf'''
<source lang="bash">
[sssd]
[sssd]
user = root</source>
user = root


[domain/<Домен>]
[domain/<Домен>]
ad_update_samba_machine_account_password = true
ad_update_samba_machine_account_password = true</source>


== Диагностика ==
== Диагностика ==

Версия от 18:30, 10 февраля 2023

Настройки обновления паролей аккаунтов машин в домене Miscrosoft Active Directory и Samba DC.

Описание

После завершения процедуры ввода в домен каждая машина получает специальный аккаунт вида MACHINE01$. Такой аккаунт, ассоциированный с машиной, а не с конкретным пользователем, позволяет машине выполнять в домене действия от своего имени. Наприме: запрашивать информацию о пользователях, получать машинные групповые политики и т. д.

Как и у любого другого пользователя, у машинного пользователя есть свой пароль, генерируемый автоматически в процессе ввода машины в домен. В отличии от обычных пользователей, у машинных аккаунтов нет ограничения на время жизни пароля, но машина имеет возможность поменять его самостоятельно. По умолчанию машины с MS Windows 2000 и старше меняют пароль раз в 30 дней. Информация о последней смене пароля хранится в аттрибуте машинного аккаунта pwdlastset.

Локальная политика смены пароля машинного аккаунта

Сменой пароля машинного аккаунта можно управлять с помощью групповых политик. Для этого нужно отредактировать параметр политики домена по умолчанию (Default domain policy) "Domain member: Maximum machine account password age" ("Член домена: максимальный срок действия пароля учётной записи компьютера"), который располагается в подразделе "Computer Configuration/Windows Settings/Security Settings/Local Policies/Security Options" ("Конфигурация компьютера/Политики/Конфигурация Windows/Параметры безопасности/Локальные политики/Параметры безопасности"). Значение по умолчанию: 30 дней.

С помощью другого параметра "<название на английском>" ("Член домена: отключить изменение пароля учётных записей компьютера") можно отключить обновления пароля машинного аккаунта совсем, но делать этого не рекомендуется.

Выше указанные параметры корректно работают на машинах с ОС MS Windows 2000 и старше.

На машинах с ОС Альт (sssd 2.8.1) данные параметры игнорируются (необходимо проверить).

В ADMC, на данный момент (admc 0.11.2), нет возможности настроить данные параметры групповой политики. Необходимо использовать оснастку RSAT "Управление групповыми политиками".

Включение обновления пароля машинного аккаунта

ОС Windows

Для включения периодического обновления пароля машинного аккаунта на машинах под управлением ОС Windows 2000 и старше дополнительных действий не требуется. Периодичность обновления настраивается с помощью соответствующей групповой политики.

ОС семейства Альт

За обновление пароля машинного аккаунта на машинах под управлением ОС Альт отвечают сервисы sssd и winbind.

Winbind

Winbind, на текущий момент (samba-winbind 4.16.7), не умеет после смены пароля машинного аккаунта обновлять системный keytab файл (/etc/krb5.keytab). Следовательно, во избежание конфликтов с sssd, следует отключить этот функционал. Для этого в файл /etc/samba/smb.conf в секцию [global] необходимо добавить параметр machine password timeout = 0.

/etc/samba/smb.conf

[global]
machine password timeout = 0

SSSD

Sssd для обновления пароля машинного аккаунта использует утилиту adcli. Необходимо убедиться, что она установлена в системе.

# apt-get install adcli

Так как Winbind не умеет обновлять системный keytab файл, то хранит текущий пароль машинного аккаунта в своей базе данных (/var/lib/samba/private/secrets.tdb). Необходимо включить в sssd функцию обновления пароля в этой базе. Для этого следует в файл /etc/sssd/ssd.conf в секцию [domain/<Домен>] добавить параметр ad_update_samba_machine_account_password = true.

Периодичностью обновления пароля машинного аккаунта можно управлять с помощью параметра ad_maximum_machine_account_password_age в секции [domain/<Домен>] в /etc/sssd/ssd.conf.

Для корректного функционирования обновления пароля машинного аккаунта sssd необходим доступ на запись в файл /etc/krb5.keytab. Для этого не достаточно привилегий пользователя _sssd, от которого обычно и запускается sssd. Необходимо запускать sssd с правами суперпользователя. Для этого следует в файле /etc/sssd/sssd.conf в секции [sssd] изменить значение параметра user на root.

/etc/sssd/sssd.conf

[sssd]
user = root

[domain/<Домен>]
ad_update_samba_machine_account_password = true

Диагностика

Дата последней смены пароля

Дата последней смены пароля хранится в базе данных AD. Запросить её можно одни из способов, перечисленных ниже:

На введённой в домен машине выполняем с правами суперпользователя:

# net ads info

Если машина уже потеряла доверие в домене, то выполнить эту же команду от доменного пользователя:

# net ads info -U <user>

Нас интересует поле Last machine account password change.

Время жизни пароля в домене