Passwd

passwd 是一個用於 Unix ， Plan 9 ， Inferno 和大多數類 Unix 操作系統中用於更改用戶密碼的命令 。 用戶輸入的密碼通過密鑰派生函數運行 ， 以創建新密碼的散列值 ， 並將其保存 。 出於安全考慮 ， 將不會保存輸入的密碼而僅保存生成的散列值 。 當用戶登錄時 ， 用戶在登錄過程中輸入的密碼將通過相同的密鑰派生函數處理 ， 並將生成的散列值與保存值進行比較 。 如果哈希值相同 ， 則認爲輸入的密碼正確 ， 即用戶已通過身份驗證 。 從理論上講 ， 兩個不同的密碼可能會產生相同的哈希值 。 但是 ， 密碼散列函數在設計時的要求就是使得能夠找到產生相同散列的密碼極爲困難 ， 這在實際上不可行 。 因此 ， 如果產生的散列與存儲的散列匹配 ， 則可以對用戶進行身份驗證 。 passwd 命令可用於更改本地帳戶的密碼 ， 在大多數系統上 ， 也可用於更改在分佈式身份驗證機制 （ 如 NIS ， Kerberos 或 LDAP ） 中管理的密碼 。 passwd 文件和 shadow 文件是類Unix系統中用於記錄用戶名 、 用戶ID和用戶密碼等信息的文件 ， 類似於Windows下的 % windir % \ system32 \ registry \ sam文件 。 這兩個文件通常位於 / etc目錄之下 。 同時 ， 類Unix系統中可用passwd命令更改特定用戶的密碼 。