Linux口令相關知識

技術小美發表於2017-11-14

/etc/passwd   每個使用者都可讀,因為很多程式需要用它來根據UID查詢使用者名稱等,比如ls。
/etc/shadow   只有root使用者可讀。

因為暴露加密後的密碼資訊,也會增加被破解的風險,所以用shadow檔案更加安全。

passwd檔案格式:
使用者名稱:密碼:使用者id:組id:使用者資訊:主目錄:shell ynguo:x:509:510::/home/ynguo:/bin/bash

shadow檔案格式:
使用者名稱:加密口令:上一次修改的時間(從1970年1月1日起的天數):口令在兩次修改間的最小天數:口令修改之前向使用者發出警告的天數:口令終止後賬號被禁用的天數:從1970年1月1日起賬號被禁用的天數:保留域
例如:
root:$1$t4sFPHBq$JXgSGgvkgBDD/D7FVVBBm0:11037:0:99999:7:-1:-1:1075498172

使用shadow檔案之後,passwd中密碼一欄為x。如果沒有使用shadow檔案,執行pwconv程式產生它。

如果更改了passwd,並且某些內容損壞(無法登陸到帳號),用pwunconv可以進行反向密碼轉換。

類似的,對於組來說也有對應的影子檔案:
/etc/groups
/etc/gshadow
產生影子檔案:grpconv
反向密碼轉換:grpunconv

參見另外一篇相關文章:

      在linux中,口令檔案在/etc/passwd中,早期的這個檔案直接存放加密後的密碼,前兩位是”鹽”值,是一個隨機數,後面跟的是加密的密碼。為了安全,現在的linux都提供了 /etc/shadow這個影子檔案,密碼放在這個檔案裡面,並且是隻有root可讀的。

下面來分析一下/etc/passwd檔案,他的每個條目有7個域,分別是名字:密碼:使用者id:組id:使用者資訊:主目錄:shell 例如:ynguo:x:509:510::/home/ynguo:/bin/bash
在利用了shadow檔案的情況下,密碼用一個x表示,普通使用者看不到任何密碼資訊。如果你仔細的看看這個檔案,會發現一些奇怪的使用者名稱,她們是系 統的預設賬號,預設賬號是攻擊者入侵的常用入口,因此一定要熟悉預設賬號,特別要注意密碼域是否為空。下面簡單介紹一下這些預設賬號
adm擁有賬號檔案,起始目錄/var/adm通常包括日誌檔案

bin擁有使用者命令的可執行檔案

daemon用來執行系統守護程式

games用來玩遊戲

halt用來執行halt命令

lp擁有印表機後臺列印檔案

mail擁有與郵件相關的程式和檔案

news擁有與usenet相關的程式和檔案

nobody被NFS(網路檔案系統)使用

shutdown執行shutdown命令

sync執行sync命令

uucp擁有uucp工具和檔案

傳統上,/etc/passwd檔案在很大範圍內是可讀的,因為許多應用程式需要用他來把UID轉換為使用者名稱。例如,如果不能訪問/etc/passwd,那麼ls -l命令將顯示UID而不是使用者名稱。但是使用口令猜測程式,具有加密口令的可讀/etc/passwd檔案有巨大的安全危險。所以出現了影子檔案/etc/shadow。
影子口令系統把口令檔案分成兩部分:/etc/passwd和/etc/shadow。影子口令檔案儲存加密的口令;/etc/passwd檔案中的密碼全部變成x。Shadow只能是root可讀,從而保證了安全。/etc/shadow檔案每一行的格式如下:
使用者名稱:加密口令:上一次修改的時間(從1970年1月1日起的天數):口令在兩次修改間的最小天數:口令修改之前向使用者發出警告的天數:口令終止後賬號被禁用的天數:從1970年1月1日起賬號被禁用的天數:保留域。
例如:root:$1$t4sFPHBq$JXgSGgvkgBDD/D7FVVBBm0:11037:0:99999:7:-1:-1:1075498172
bin:*:11024:0:99999:7:::

daemon:*:11024:0:99999:7:::預設情況下,口令更新並不開啟。如果你的系統沒有啟動影子檔案,那麼執行pwconv程式。

本文轉sinojelly51CTO部落格,原文連結:http://blog.51cto.com/sinojelly/216583,如需轉載請自行聯絡原作者