Shell
向使用者顯示登錄提示?/bin/登錄?蓋蒂?
我有一個服務,當使用者通過套接字連接到它時執行命令,並將它接收到的所有內容重定向到執行的程序。
它適用於 bash 等 shell,為使用者提供遠端 shell。
而不是分叉 bash 或 sh,我想執行一些要求使用者和密碼的東西,比如
/bin/login
這是正確的執行命令嗎?非根服務沒有什麼可以用來做同樣的事情嗎?我認為
getty
calls/bin/login
,但我可以作為使用者執行它嗎?我想我可以安裝 telnetd 並重定向到,
telnet localhost
但我寧願不執行 telnet 伺服器。
如何詢問密碼?
print $prompt read $response
如果您想知道如何驗證您的使用者,理想情況下您將編寫您的程序,使其具有 pam-aware 功能,遵循所有 Internet 上的 pam 開發人員指南之一。一個例子是http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_ADG.html。您可能還可以在系統上使用一個幫助程序來實現此目的,例如 unix_chkpwd,您可以在生成子程序並切換到目標使用者後使用它。但是 pam 應用程序開發人員界面非常簡單,因此自己進行身份驗證可能是合情合理的。