2013-07-06 45 views
2

我有一個運行在嵌入式Linux上的C編寫的程序,有時候它想檢查一個系統用戶的密碼。如何使用C或shell在Linux中檢查密碼?

  1. 如果我能得到的/etc/passwd文件地穴鹽,我可以使用的crypt()來檢查用戶密碼的修正。
  2. 有shell的任何腳本可以幫助我檢查密碼嗎?如check_passwd用戶名密碼,那麼它返回的值是正確的還是不正確的? 謝謝!
+2

查看'login'程序的源代碼。 – hek2mgl

+3

另請參見[pam - 可插拔認證模塊](http://www.linux-pam.org/) – hek2mgl

+1

謝謝您的回答!我發現busybox的_libbb/correct_password.c_中的代碼對解決方案有很大的幫助。還是謝謝〜 –

回答

0

如上所述,正確的處理方法是使用可插入的驗證模塊。您必須將libpam添加到您使用的任何嵌入式Linux中,但這通常很簡單(例如,buildroot提供了一個linux-pam軟件包)。