Users
如何使用 getpwnam() 在 /etc/shadow 中獲取散列密碼?
顯然,有一個函式(getpwnam)給定使用者名,將返回相應的條目
/etc/passwd
以及該使用者的其他詳細資訊(shell、uid、gid 等)。但是,我不知道如何使該功能與影子密碼文件 (
/etc/shadow
) 一起使用。這可能嗎?該應用程序將以root
.
影子密碼文件的全部意義在於
getpwnam
它不會從中返回密碼。你需要看,man 3 shadow
特別getspnam
是。
由於兩個原因,這是不可能的:
- 影子文件是現代系統中的一種身份驗證方法。其中一些根本不涉及真實密碼 - 如果使用者通過指紋進行身份驗證,應該返回什麼?為什麼它會破壞任何應用程序?
- 為非根應用程序提供散列字元串將啟用離線攻擊。
無論如何,它是特定於系統的文件,沒有那麼複雜的結構,因此如果您需要它,您可以編寫自己的解析器。