我已经安装了389-ds并创建了一个用户和几个组。然后,我authconfig
在客户端上配置为使用该LDAP
实例对用户进行身份验证。我已以该用户身份成功登录。到目前为止一切都很好。
现在,我想关闭匿名访问:
dn: cn=config
replace: nsslapd-allow-anonymous-access
nsslapd-allow-anonymous-access: off
由于PAM
默认使用匿名绑定,因此我需要将binddn
and放入bindpw
中/etc/pam_ldap.conf
,并在实例中创建该用户LDAP
。没问题,那里。
我在任何地方都找不到记录的是我是否需要为该binddn
“用户”提供某种访问控制列表以允许其查看任何用户的密码。
binddn
第一个问题:我需要为我的用户配置 ACL 吗?
我看到一条注释,大意是PAM
绑定足够长的时间来验证用户是否存在,并且实际的身份验证尝试绑定为用户请求访问 (URA)。那是我丢失的链接中的几句话。所以,我不能回去尝试寻找该场景的扩展。如果PAM
这样工作,就不需要特定的 ACL,对吧?
问题二:是否PAM
binddn
只需要能够搜索 URA,或者是否需要额外的权限?
2014-09-21 22:38
如上所述,我关闭了匿名访问,并在我的 dirsrv 实例的访问日志中发现了一些有趣的内容。
[21/Sep/2014:22:33:45 -0700] conn=111 op=0 UNPROCESSED OPERATION - Anonymous access not allowed
[21/Sep/2014:22:33:45 -0700] conn=111 op=0 RESULT err=48 tag=101 nentries=0 etime=0
[21/Sep/2014:22:33:45 -0700] conn=111 op=1 UNPROCESSED OPERATION - Anonymous access not allowed
[21/Sep/2014:22:33:45 -0700] conn=111 op=1 RESULT err=48 tag=101 nentries=0 etime=0
[21/Sep/2014:22:33:45 -0700] conn=111 op=2 UNBIND
[21/Sep/2014:22:33:45 -0700] conn=111 op=2 fd=65 closed - U1
[21/Sep/2014:22:33:45 -0700] conn=112 fd=64 slot=64 SSL connection from 127.0.0.1 to 127.0.0.1
[21/Sep/2014:22:33:45 -0700] conn=112 SSL 128-bit AES
[21/Sep/2014:22:33:45 -0700] conn=112 op=0 BIND dn="cn=dafydd2277,ou=users,dc=localdomain" method=128 version=3
[21/Sep/2014:22:33:45 -0700] conn=112 op=1 UNBIND
[21/Sep/2014:22:33:45 -0700] conn=112 op=1 fd=64 closed - U1
[21/Sep/2014:22:33:45 -0700] conn=112 op=0 RESULT err=0 tag=97 nentries=0 etime=0 dn="cn=dafydd2277,ou=users,dc=localdomain"
我将此与允许匿名绑定的登录尝试进行了比较。这些都是SRCH
搜索,没有实际的绑定尝试。这是有道理的。
下一个实验将尝试在关闭匿名绑定的情况下更改我的密码。我会以我的身份进行绑定,还是 PAM 会尝试匿名绑定? (我有一个猜测...)
我得出的结论是 PAM 的访问权限仅用于搜索。对给定用户的任何修改都通过该用户自己的凭据进行处理。这意味着我可以创建一个供 PAM 连接的用户,而不必担心该用户的访问权限。
2014-09-22 21:31
因此,我为 PAM 添加了一个用于搜索的帐户,binddn
并bindpw
在/etc/pam_ldap.conf
.坏消息是我仍然收到UNPROCESSED OPERATION
尝试,并且我无法证明 PAM 现在正在使用我提供的 DN。 (此外,行为不会随--enablesssd
或--disablessd
in改变authconfig
。PAM 和 SSS 之间的界限在哪里?)还有更多研究要做...