当从非特权屏幕锁调用时,PAM 会设法检查用户密码。例如:
screen
我在Fedora 26 上的包中找不到任何 SUID-root 二进制文件,但lockscreen
命令 ( Ctrla Ctrlx) 仍然有效。我xsecurelock
也看不到任何设置 SUID root 的Makefile 。
我很困惑。这是如何运作的?我的用户没有读取权限/etc/shadow
。我没有使用 OpenWallpam_tcb对于每用户影子文件。
答案1
如果您查看 pam 安装的二进制文件,它包括unix_checkpwd
.
unix_chkpwd 是 pam_unix 模块的帮助程序,用于验证当前用户的密码。它还检查影子中的密码和帐户到期日期。它不打算直接从命令行运行,如果这样做,则会记录安全违规。
它通常安装setuid root 或setgidshadow。
帮助程序的界面 - 命令行选项和输入/输出数据格式是 pam_unix 模块的内部内容,不应直接从应用程序调用。