Users

如何使用 getpwnam() 在 /etc/shadow 中獲取散列密碼?

  • November 26, 2018

顯然,有一個函式(getpwnam)給定使用者名,將返回相應的條目/etc/passwd以及該使用者的其他詳細資訊(shell、uid、gid 等)。

但是,我不知道如何使該功能與影子密碼文件 ( /etc/shadow) 一起使用。這可能嗎?該應用程序將以root.

影子密碼文件的全部意義在於getpwnam 它不會從中返回密碼。你需要看,man 3 shadow特別getspnam是。

由於兩個原因,這是不可能的:

  • 影子文件是現代系統中的一種身份驗證方法。其中一些根本不涉及真實密碼 - 如果使用者通過指紋進行身份驗證,應該返回什麼?為什麼它會破壞任何應用程序?
  • 為非根應用程序提供散列字元串將啟用離線攻擊。

無論如何,它是特定於系統的文件,沒有那麼複雜的結構,因此如果您需要它,您可以編寫自己的解析器。

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