passwd及shadow檔案解析

2021-06-22 10:23:31 字數 1062 閱讀 3255

passwd檔案是以行為單位的配置檔案,每行定義系統上的乙個使用者,行內分為字段,字段之間由乙個冒號隔開。這些字段依次為:

使用者名稱密碼使用者id

組id使用者全名

主目錄登入shell

補充:密碼:在舊的unix系統上,這個字段含有使用者的加密密碼,為了安全性,現在的linux均顯示為 x 或 * 號。

使用者全名:安裝linux時如果不輸入全名,則顯示為跟使用者名稱一樣,如果輸入,則顯示為全名(不可用於登入)

shadow檔案

通過perl生成linux系統使用者儲存在shadow中的密碼:

perl -e 'print crypt("12345678",q($1$ildiyncq)),"\n"'
\\其中12345678為要給使用者設定的密碼,

$1$ildiyncq字串是自定義字串,shadow裡一般用$1$後面跟8個字元這種格式。

生成的密碼串樣式如下:

$1$ildiyncq$0napsn3qck9sj4fqp5rfz0

中間有個$,前面算salt,這個salt是隨機寫入的,跟後面的加密值,合在一起叫hash 

"$1$" stands for md5, 後面只能跟8個字元

"$2a$" is blowfish,

"$5$" is sha-256 

"$6$" is sha-512,

crypt 本身預設用des演算法 

如果salt以$1$開頭就使用md5演算法

des演算法命令如下:

perl -e 'print crypt("12345678","/g"),"\n"'

生成的密碼串樣式如下:

/gsr78mzt1eyi

可以通過檢視libcrypt[._*]鏈結到/usr/lib下的哪些庫檔案來得知系統密碼所使用的加密演算法。

如果鏈結到libcrypt*庫,那麼使用的為md5;

如果為libdescrypt*,就應該為des了。

具體操作如下:

#cd /usr/lib

#ls -l libcrypt[._]*

linux的passwd和shadow重要檔案說明

l etc passwd vim etc passwd root x 0 0 root root bin bash 省略 說明 每一行都代表乙個賬號。有很多賬號是系統中必須要的,簡稱系統賬號,例如bin,nobody 等。每一行使用 分隔開,共有七段,分別是 1,賬號名稱。對應 uid 用的!2,密...

Linux下passwd和shadow檔案內容詳解

一 etc passwd name password uid gid comment home shell name 使用者登入名 password 使用者口令。此域中的口令是加密的,常用x表示。當使用者登入系統時,系統對輸入的口令採取相同的演算法,與此域中的內容進行比較。如果此域為空,表明該使用者...

shadow 檔案詳解

一 etc shadow檔案的來歷 在以前的linux系統中,使用者名稱 所在的使用者組 密碼 單向加密 等資訊都儲存在 etc shadow的 檔案中,很多軟體通過呼叫這個檔案來獲取使用者名稱和使用者組,例如ls命令通過使用者id來找到 etc passwd檔案中的使用者名稱。這意味著,所有使用者...