更新PAM安全日志后开始显示:
su: PAM unable to dlopen(/lib64/security/pam_rootok.so): /lib64/security/pam_rootok.so: undefined symbol: selinux_check_access su: PAM adding faulty module: /lib64/security/pam_rootok.so
鉴于文件的名称,这似乎是一个严重的问题,但我无法find有关错误的任何信息。 我不会让任何人login到这台服务器上,所以我并不是想保护本地用户,但是我仍然希望PAM能够正确地对付任何未经授权的访问。
编辑:pam_rootok.so确实存在,其权限与/lib64/security下的其他文件相同。 此外su似乎工作,因为我仍然可以从非root用户移动到根。
错误的关键在于
undefined symbol: selinux_check_access
这个符号应该在/lib64/libselinux.so.1 。 您可能想要检查该文件是否存在,可读并具有较好的校验和。