我曾尝试在 fedora23 上安装 pam、ldap。我已将 pam.d/system-auth 配置如下:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 100 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account sufficient pam_ldap.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_ldap.so
ldap.conf 如下:
BASE dc=aaa,dc=bbb,dc=ccc
URI ldap://aaa.bbb.ccc/
sudoers_base ou=SUDOers,dc=aaa,dc=bbb,dc=ccc
pam_groupdn cn=serverFedora,ou=groups,dc=aaa,dc=bbb,dc=ccc
但是所有用户都可以登录,无论他们是否在群组中。知道我错过了什么吗?
先谢谢了
谢谢你的回答,我查了一下 man,但这个选项不受支持。我检查了一下,在 /etc/nslcd.conf 中找到了此选项:
base group ou=people,dc=aaa,dc=bbb,dc=ccc?one?memberOf=cn=fedoraserver,ou=groups,dc=aaa,dc=bbb,dc=ccc
base passwd ou=people,dc=aaa,dc=bbb,dc=ccc
base shadow ou=people,dc=aaa,dc=bbb,dc=ccc
以及 /etc/ldap.conf 中的内容:
nss_base_group cn=fedoraserver,ou=groups,dc=aaa,dc=bbb,dc=ccc
nss_base_passwd ou=people,dc=aaa,dc=bbb,dc=ccc
nss_base_shadow ou=people,dc=aaa,dc=bbb,dc=ccc
但我仍然遇到同样的问题,所有用户都可以登录,无论他们是否是 fedoraserver 的成员。有什么想法吗?
答案1
并非所有pam_ldap
模块都支持相同的选项,而pam_groupdn
您尝试使用的选项来自 PADL 对该模块的实现,大多数 Linux 发行版都试图放弃该模块。不建议返回旧的 PADL 模块,因为每个进程都必须维护自己独立的状态和与 LDAP 服务器的连接。
检查手册页 ( man pam_ldap
) 并验证是否列出了此选项。如果不存在,则表示您正在使用其他 PAM 模块,您需要查阅文档以了解如何使用当前模块实现此组限制。
(或者,看看pam_limits
)