Linux домене смена пароля

ActiveDirectory/MachinePassword

Настройки обновления паролей аккаунтов машин в домене 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:

[global] machine password timeout = 0 

SSSD

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

Читайте также:  Arch linux настройка интерфейса

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

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

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

[sssd] user = root [domain/] ad_update_samba_machine_account_password = true 
machine password timeout = 0 
ad_update_samba_machine_account_password = true 

Внимание! Установка обновлений для машины, введенной в домен с помощью ЦУС без обновлений от 21.07.2022, автоматически не добавляет параметры machine password timeout и ad_update_samba_machine_account_password в конфигурационные файлы.

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

ОС Windows

Для отключения периодического обновления пароля машинного аккаунта на машинах под управлением ОС Windows 2000 и старше достаточно включить параметр групповой политики «Default Domain Policy» «Член домена: отключить изменение пароля учётных записей компьютера».

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

Для отключения периодического обновления пароля машинного аккаунта на машинах под управлением ОС семейства Альт необходимо:

  • В файле /etc/sssd/sssd.conf в секции [domain/] изменить параметр ad_maximum_machine_account_password_age на 0:
[domain/] ad_maximum_machine_account_password_age = 0 
[global] machine password timeout = 0 

Диагностика

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

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

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

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

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

Потеря доверия между машиной и доменом

Проверить, имеет ли возможность машина успешно аутентифицироваться в домене можно следующим способам:

# klist -ke Keytab name: FILE:/etc/krb5.keytab KVNO Principal ---- -------------------------------------------------------------------------- 1 host/machine01.domain.alt@DOMAIN.ALT (aes256-cts-hmac-sha1-96) 1 host/MACHINE01@DOMAIN.ALT (aes256-cts-hmac-sha1-96) 1 host/machine01.domain.alt@DOMAIN.ALT (aes128-cts-hmac-sha1-96) 1 host/MACHINE01@DOMAIN.ALT (aes128-cts-hmac-sha1-96) 1 host/machine01.domain.alt@DOMAIN.ALT (DEPRECATED:arcfour-hmac) 1 host/MACHINE01@DOMAIN.ALT (DEPRECATED:arcfour-hmac) 1 MACHINE01$@DOMAIN.ALT (aes256-cts-hmac-sha1-96) 1 MACHINE01$@DOMAIN.ALT (aes128-cts-hmac-sha1-96) 1 MACHINE01$@DOMAIN.ALT (DEPRECATED:arcfour-hmac) 
  • затем следует попытаться получить kerberos билет для машинного аккаунта MACHINE01$ используя keytab файл /etc/krb5.keytab :
# kinit -k MACHINE01\$@DOMAIN.ALT 
# klist Ticket cache: KEYRING:persistent:0:0 Default principal: MACHINE01$@DOMAIN.ALT Valid starting Expires Service principal 10.02.2023 22:25:59 11.02.2023 08:25:59 krbtgt/DOMAIN.ALT@DOMAIN.ALT renew until 17.02.2023 22:25:59 # kdestroy -p MACHINE01\$@DOMAIN.ALT 

MACHINE01 — Имя машины в верхнем регистре.
DOMAIN.ALT — Realm домена в верхнем регистре.

Читайте также:  Linux boot directory files

Внимание! Убедитесь, что имя машины в keytab файле /etc/krb5.keytab соответствует реальному имени машины (см. hostnamectl ).

Восстановление работоспособности

Если диагностика показала, что машина потеряла доверие с доменом, то, для восстановления работоспособности, необходимо выполнить следующие действия:

  • обновить систему ( apt-get update && apt-get dist-upgrade );
  • удалить файл /etc/krb5.keytab ;
  • повторно ввести машину в домен используя ЦУС;
  • убедиться, что конфигурационные файлы соответствуют одному из сценариев «Включение обновления пароля машинного аккаунта» или «Отключение обновления пароля машинного аккаунта»;
  • перезагрузить машину.

Источник

Linux домене смена пароля

Всем доброго здравия.
Осуществляю постепенный переход фирмы с Win на Linux.
Сервера почти все переведены, кроме терминалльных серверов и рабочих станций.
Сейчас пришла их очередь.
Для авторизации пользователей и решения небольшого числа групповых политик используется AD.
Документации и статей по настройке терминалок на Linux и настройки авторизации в AD предостаточно. Для включения Linux машин в домен использую PBIS Open. В общем и целом всё замечательно, кроме одного — при окончании срока действия пароля пользователя AD не понятно как его обновить без авторизации пользователя на виндовой машине.
Три дня пытаюсь найти решение возникшей проблемы.
Кто-нибудь решал подобную задачу?

  • Смена пароля учетной записи AD на Linux, rusadmin, 16:14 , 14-Май-15, (1)
    • Смена пароля учетной записи AD на Linux, imak, 16:41 , 14-Май-15, (2)
      • Смена пароля учетной записи AD на Linux, fail, 17:52 , 14-Май-15, (3)
        • Смена пароля учетной записи AD на Linux, imak, 17:56 , 14-Май-15, (4)
          • Смена пароля учетной записи AD на Linux, тень_pavel_simple, 18:33 , 14-Май-15, (5)
            • Смена пароля учетной записи AD на Linux, imak, 19:11 , 14-Май-15, (6)
              • Смена пароля учетной записи AD на Linux, тень_pavel_simple, 20:45 , 14-Май-15, (7)
                • Смена пароля учетной записи AD на Linux, yffa, 08:45 , 29-Мрт-16, ( 8 )

                Оффтоп
                Лично мое мнение:
                для всех задач есть свое оптимальное решение.
                И сдается мне что Вы зря затеяли скрещивать групповые политики AD с рабочими станциями на базе Linux.

                > И сдается мне что Вы зря затеяли скрещивать групповые политики AD с
                > рабочими станциями на базе Linux.

                Я наверно непонятно выразился. У меня не стоит задача настривать групповые политики для Linux.
                Мне только нужна возможность авторизации AD пользователей на Linux машинах.
                И с этим я тоже уже разобрался, за исключением проблемы обновления устаревшего пароля этого пользователя.

                Другими словами.
                В AD есть требование обновления пароля пользователя раз в 60 дней.
                Когда пользователь логинится на linux машине под своей доменной учетной записью с просроченным паролем, комп сообщает ему, что пароль просрочен. и всё 🙁
                Мне нужно, чтобы вместо предупреждения появлялся диалог обновления пароля, если конечно такое возможно.
                Т.е. я ищу возможность обновить пароль учетной записи AD из под linux.

                > Другими словами.
                > В AD есть требование обновления пароля пользователя раз в 60 дней.
                > Когда пользователь логинится на linux машине под своей доменной учетной записью с
                > просроченным паролем, комп сообщает ему, что пароль просрочен. и всё 🙁

                Если не подводит память, эти 60 дней менятся штатными ср-вами управлениями «политиками» AD.

                Разумеется, если это не рагламентировано внутренними циркулярами организации.

                > Если не подводит память, эти 60 дней менятся штатными ср-вами управлениями «политиками»
                > AD.
                > Разумеется, если это не рагламентировано внутренними циркулярами организации.

                Если Вы предлагаете сделать пароли бессрочными, то такое решение категорически не устраивает.

                >> Если не подводит память, эти 60 дней менятся штатными ср-вами управлениями «политиками»
                >> AD.
                >> Разумеется, если это не рагламентировано внутренними циркулярами организации.
                > Если Вы предлагаете сделать пароли бессрочными, то такое решение категорически не устраивает.

                Нужен гостевой аккаунт со страницей смены пароля.

                > Нужен гостевой аккаунт со страницей смены пароля.

                Не совсем представляю способ реализации Вашего предложения.
                Можете подробнее описать?

                >> Нужен гостевой аккаунт со страницей смены пароля.
                > Не совсем представляю способ реализации Вашего предложения.
                > Можете подробнее описать?

                Юзеер имеет графический вход? тогда дисплей манагер должен предоставить ему возможность ввести имя/пароль, если он не может войти, то он выбирает вход под юзером (ну например guest), под этим юзером открывается браузер со страницей смены пароля или открывается минимальное приложение которое через kerberos меняет пароль.

                помимо прочего можно использовать политики смены паролей на уровне pam, во время входа пользователя проверять время жизни пароля и заранее предлагать смену, ну и вход с помощью otp в sufficient секцию

                Пароль текущего юзера AD меняется командой: kpasswd $USER
                Эту команду вставляем в кнопку запуска, получаем ярлык.
                Так пользователь может менять свой пароль пока тот еще действителен, после предупреждения «Осталось . дней до окончания действия пароля».
                Создание «общего» пользователя, способного менять кому угодно пароли в АД, на мой взгляд, несколько ммм. небезопасно.

                Источник

Оцените статью
Adblock
detector