我目前正在分析单点登录 RPM。RPM 中包含模块 pam_radius_auth.so。根据此处的文档:http://freeradius.org/pam_radius_auth/和这里:http://freeradius.org/pam_radius_auth/INSTALL,该模块应该在 /etc/pam.d/ 中的以下行之后引用:
身份验证需要 /lib/security/pam_securetty.so
在此行之前:
身份验证需要 /lib/security/pam_unix_auth.so
默认情况下,我看到 4 个文件包含 pam_securetty.so,但没有一个文件引用 pam_unix_auth.so。根据下面提供的安装文档,我无法确定模块行是否要求将 pam_unix_auth 行添加到应用程序文件中,以便两行都存在,或者它是否只是说明如果其中一行存在,则需要在该行之前或之后提供。AND 一词的用法让我感到困惑。
以下是一些令人困惑的文档:
**************************************************************************** Redhat Linux > 5.0
制作。
将“pam_radius_auth.so”复制到/lib/security/pam_radius_auth.so
在每个应用程序配置(/etc/pam.d/application)中添加:
身份验证足够 /lib/security/pam_radius_auth.so
后
身份验证需要 /lib/security/pam_securetty.so
及之前
身份验证需要 /lib/security/pam_unix_auth.so
IE
需要身份验证 /lib/security/pam_securetty.so
需要身份验证 /lib/security/pam_radius_auth.so 需要身份验证
/lib/security/pam_unix_auth.so
如果有人配置过这个,你能告诉我你的经验以及正确的解释是什么吗?谢谢!
答案1
我认为这些说明已经过时了,并且提到了较旧的 PAM 配置文件格式。有问题的两行配置应如下所示:
auth required pam_securetty.so
auth required pam_unix.so
即pam_unix.so
而不是pam_unix_auth.so
,并且没有模块的完整路径(仅是实际的模块文件名)。
顺便说一句,该模块似乎pam_unix
曾经被拆分成用于不同用途的不同模块:
$ ls -l pam_unix*
lrwxrwxrwx 1 root root 11 Dec 14 2010 pam_unix_acct.so -> pam_unix.so
lrwxrwxrwx 1 root root 11 Dec 14 2010 pam_unix_auth.so -> pam_unix.so
lrwxrwxrwx 1 root root 11 Dec 14 2010 pam_unix_passwd.so -> pam_unix.so
lrwxrwxrwx 1 root root 11 Dec 14 2010 pam_unix_session.so -> pam_unix.so
-rwxr-xr-x 1 root root 48824 Nov 1 2010 pam_unix.so