應該使用什麼程式在控制台上詢問使用者密碼,檢查密碼並僅返回退出代碼?

應該使用什麼程式在控制台上詢問使用者密碼,檢查密碼並僅返回退出代碼?

什麼節目只是詢問指定使用者的密碼(即使呼叫使用者是 root),如果成功則返回退出代碼 0,如果失敗則返回退出代碼 1?

是否有這樣一個簡單的程序(即不是帶有編輯配置的“sudo”)來完成任務?

另外,我正在尋找將登入使用者的程式(檢查其密碼,寫入 auth.log),但不執行任何程式(如login),只需返回退出程式碼。

答案1

您需要一個名為pwauth。它完全按照您的描述進行操作:接受使用者名稱和密碼,然後根據有效性返回退出代碼。它被設計為與 apache 的 mod_auth_external 一起使用來掛鉤系統身份驗證,但應該可以很好地滿足您的需求。

答案2

您試圖破壞使用者會話的目的,使用者在登入其帳戶時已經輸入了該密碼,因此再次詢問您的任務是不禮貌的;如果您確實希望程式基於登錄,那麼最好的方法是支援密鑰環,這允許用戶自行選擇是否為您的任務明確鍵入密碼。

不要強迫使用者correct horse battery staple在剛輸入時再次輸入...

答案3

看起來最簡單的方法就是使用python-pam作為/usr/share/doc/python-pam/examples/pamtest.py例子。此範例讀取密碼,使用 PAM 對使用者進行身份驗證,並根據結果寫入訊息。可以輕鬆更改為各種退出代碼。

相關內容