如何设置我的
Linux机器,以便在Active Directory域控制器关闭时,我仍然可以以root用户身份登录,而不会有任何超时或延迟?
按照大部分文档的例子,我在/etc/pam.d配置中的pam_unix.so之前列出了pam_winbind.so.我相信这就是问题的原因.我记得看到备用的/etc/pam.d设置改变了顺序,可能会添加pam_localuser或pam_succeed_if(看看uid是否小于500),但我现在找不到任何细节(我还不够PAM专家可以快速轻松地自行提出强大的配置.
如果Active Directory不可用,使用Winbind建议PAM的设置是什么,以避免超时和延迟?
解决方法
您通常不仅希望首先使用pam_unix,而且当您启动任何会话时,pam将使用initgroups(3)枚举您所属的组,这将遍历/etc/nsswitch.conf中定义的所有组后端.
这种行为有几个原因,主要是关于关注点分离的技术限制,但简而言之,这允许您在/ etc / groups中指定LDAP用户属于wheel以允许它进行sudo(随机示例).
这导致有关远程目录服务器的主机上的根登录被破坏或非常慢的故事,即使在本地定义用户也是如此.这些故事是真的,但最常见的原因是配置不正确.
如果使用winbind,则可以定义不通过winbind查找哪些组的用户.适当的选项是smb.conf中的winbind initgroups blacklist(global).它于2007年通过http://git.samba.org/?p=samba.git;a=commitdiff;h=7399ab779d7100059475ed196e6e4435b2b33bbd推出
请注意,默认值包含root,因此您可能不需要覆盖它.
对于访客:
如果使用nss_ldap,则ldap.conf提供类似的nss_initgroups_ignoreusers.见nss_ldap(5).