Как я могу настроить свой Linux так, чтобы, если контроллер домена Active Directory не работает, я все еще мог войти в систему как root без каких-либо тайм-аутов или задержек?
Следуя примеру большей части документации, я перечислил pam_winbind.so
перед pam_unix.so
в моем /etc/pam.d
конфигурации. Я считаю, что в этом причина проблемы. Я помню, как видел альтернативу /etc/pam.d
настройки, которые изменяют порядок и, возможно, добавляют либо pam_localuser
или pam_succeed_if
(чтобы узнать, меньше ли uid 500), но сейчас я не могу найти никаких подробностей (и я недостаточно разбираюсь в PAM, чтобы быстро и легко создать надежную конфигурацию самостоятельно).
Какова рекомендуемая настройка для PAM с Winbind, чтобы избежать тайм-аутов и задержек, если Active Directory недоступен?
Мало того, что ты вообще хочешь pam_unix
сначала, но когда вы запускаете любой сеанс, pam перечислит группы, к которым вы принадлежите, используя initgroups(3)
, который пройдет через все group
бэкэнд, определенный в /etc/nsswitch.conf
.
Есть несколько причин такого поведения, в основном технические ограничения, связанные с разделением проблем, но вкратце это позволяет вам указать в /etc/groups
что пользователь LDAP принадлежит wheel
позволить этому sudo
(случайный пример).
Это приводит к рассказам о root
вход в систему не работает или работает очень медленно на хостах с удаленными серверами каталогов, даже если пользователь определен локально. Эти истории правдивы, но чаще всего из-за неправильной конфигурации.
Если вы используете winbind
, вы можете определить пользователей, группы которых не будут просматриваться winbind
. Подходящий вариант - winbind initgroups blacklist
(глобальный) в smb.conf
. Он был представлен в 2007 году через http://git.samba.org/?p=samba.git;a=commitdiff;h=7399ab779d7100059475ed196e6e4435b2b33bbd
Обратите внимание, что значение по умолчанию содержит root
, поэтому вам, вероятно, не нужно его перезаписывать.
Для посетителей:
Если вы используете nss_ldap
, ldap.conf
предлагает аналогичный nss_initgroups_ignoreusers
. Видеть nss_ldap(5)
.