我最近构建了一个 Arch Linux 服务器,它使用 NSLCD 连接到 Windows AD 进行身份验证。身份验证成功,但输入密码和收到提示之间有较长的延迟(大约 10 秒)。
在 AD 中,用户被存储在 3 个不同的 OU 中,“教职员工”、“学生”和“计算机科学”。
这是我的 nslcd.conf 的映射部分
pagesize 1000
referrals off
idle_timelimit 800
filter passwd (&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))
map passwd uid sAMAccountName
map passwd homeDirectory unixHomeDirectory
map passwd gecos displayName
filter shadow (&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))
map shadow uid sAMAccountName
map shadow shadowLastChange pwdLastSet
filter group (objectClass=group)
定制某些数据库查找。
#base group ou=Groups,dc=example,dc=com
base group ou=Computer Science,dc=muad,dc=local
#base passwd ou=People,dc=example,dc=com
base passwd ou=Faculty and Staff,dc=muad,dc=local
base passwd ou=Computer Science,dc=muad,dc=local
base passwd ou=Students,dc=muad,dc=local
#base shadow ou=People,dc=example,dc=com
#scope group onelevel
#scope hosts sub
我还启动了 nscd 服务,看看它是否有助于缓存来自 AD 的信息以加快登录过程。
这是我的 /etc/pam.d/system-auth 配置文件:
#%PAM-1.0
auth sufficient pam_ldap.so
auth required pam_unix.so try_first_pass nullok
auth optional pam_permit.so
auth required pam_env.so
account sufficient pam_ldap.so
account required pam_unix.so
account optional pam_permit.so
account required pam_time.so
password sufficient pam_ldap.so
password required pam_unix.so try_first_pass nullok sha512 shadow
password optional pam_permit.so
session required pam_limits.so
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
session optional pam_ldap.so
session optional pam_permit.so
以前我们使用的是 NIS,它的身份验证速度很快。但我们希望将 10 秒的延迟降到几乎为零。任何帮助都将不胜感激。如果您想查看更多文件,请提出要求。
谢谢,托德