Pam
PAM 如何在非特權程序中檢查使用者密碼?
當從非特權螢幕儲物櫃呼叫時,PAM 設法檢查使用者密碼。例如:
screen
我在 Fedora 26 的軟體包中找不到任何 SUID-root 二進製文件,但lockscreen
命令 (Ctrl``a
Ctrl``x
) 仍然有效。我在任何地方都看不到任何xsecurelock
設置 SUID root 的 Makefile。我很困惑。這是如何運作的?我的使用者沒有讀取權限
/etc/shadow
。我沒有將 OpenWall pam_tcb用於每個使用者的影子文件。
如果您查看 pam 安裝的二進製文件,它包括
unix_checkpwd
.unix_chkpwd 是用於驗證目前使用者密碼的 pam_unix 模組的幫助程序。它還在影子中檢查密碼和帳戶到期日期。它不打算直接從命令行執行,如果這樣做會記錄安全違規。
它通常安裝 setuid root 或 setgid shadow。
幫助程序的介面 - 命令行選項和輸入/輸出數據格式是 pam_unix 模組內部的,不應直接從應用程序呼叫。