我用木偶用于管理我们的生产服务器。在 rhel5 下,启用 ldap 的标准方法是使用 authconfig 工具。它可以成功运行,但实际上无法与 puppet 的做事方式兼容。如果我要让 puppet 对身份验证配置文件进行相关编辑,我应该更改哪些文件?我首先想到的是,我知道需要编辑以启用 ldap 身份验证的文件是
/etc/ldap.conf
/etc/nsswitch.conf
但也可能存在我不确定的 pam 配置文件
答案1
我通常编辑:
/etc/ldap.conf
/etc/nsswitch.conf
/etc/openldap/ldap.conf (check for certs if necessary)
/etc/pam.d/system-auth
我认为这涵盖了必要之恶。可能还需要 /etc/sudoers。
答案2
我倾向于管理 /etc/sysconfig/authconfig(其中包含变量列表),然后使用 authconfig --updateall,这样我就可以删除 1 个控制所有内容的文件。
答案3
我不确定任何 RedHat 特定的配置,但看看这个LDAP 配置指南。
基本上,除了您提到的文件之外,您还应该像这样配置 PAM:
auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account sufficient pam_unix.so
account sufficient pam_ldap.so
account required pam_ldap.so
password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
password sufficient pam_unix.so nullok md5 shadow use_authtok
password sufficient pam_ldap.so use_first_pass
password required pam_deny.so
答案4
稍微离题,但在为 ldap auth 设置 PAM 时有帮助的是,当用户第一次登录服务器时自动创建用户主目录。
如果您在 system-auth 文件中设置 ldap,则将以下内容添加到“session”中:
session required pam_mkhomedir.so skel=/etc/skel umask=0077
在 RHEL5 服务器上,在“session require pam_limits.so”(第三个“session”配置参数)之后出现了这种情况。
根据tucker上面的建议,puppet是一个用于管理跨多个服务器配置的绝佳工具。