Pam

PAM 如何在非特權程序中檢查使用者密碼?

  • September 14, 2017

當從非特權螢幕儲物櫃呼叫時,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 模組內部的,不應直接從應用程序呼叫。

引用自:https://unix.stackexchange.com/questions/392064