一、Linux Shadow文件
Linux Shadow文件是Linux系統中非常重要的一個文件,它存儲著系統用戶的加密密碼以及相關的安全信息,可以說是保護系統安全的重要組成部分,常被黑客攻擊或者系統管理人員濫用。
這個文件通常被存儲在/etc/shadow,其許可權為-rw-r—-,僅有root用戶有讀寫許可權。
ls -l /etc/shadow
-rw-------. 1 root root 1248 Feb 16 21:15 /etc/shadow
由於該文件中包含著用戶的重要信息,因此其訪問許可權應嚴格控制,以保證系統的安全性。
二、Linux passwd文件
Linux passwd文件是Linux系統中存儲所有用戶的基本信息,包括用戶名、用戶ID等。
這個文件通常被存儲在/etc/passwd,其許可權為-rw-r–r–,所有用戶都有讀許可權。
ls -l /etc/passwd
-rw-r--r--. 1 root root 2846 Feb 16 21:12 /etc/passwd
passwd文件常被用於查詢用戶信息、用戶登錄驗證和處理用戶許可權等操作。
三、Linux Shadow文件的許可權
Linux Shadow文件的許可權是保護系統安全的一部分,一個安全的系統必須要使用正確的許可權來保護它。
在Linux系統中,文件或者目錄的讀(r)許可權、寫(w)許可權和執行(x)許可權可以分別用數字表示為4、2和1,三個許可權的組合可以通過計算來得到唯一的數字表示。例如:讀寫許可權可以表示為6(4 + 2),讀寫執行許可權可以表示為7(4 + 2 + 1)。
Linux Shadow文件的許可權通常為-rw-r—-,也就是只有root用戶擁有該文件的讀寫許可權。
chmod 640 /etc/shadow # 設置Shadow文件許可權
ls -l /etc/shadow # 查看Shadow文件許可權設置
-rw-r-----. 1 root root 1248 Feb 16 21:15 /etc/shadow
四、Linux Shadow文件的加密過程
Linux Shadow文件中存儲的用戶密碼是經過加密處理的,這裡介紹加密的過程。
當一個新用戶被添加到系統中時,系統會自動創建一個隨機的鹽值(salt),同時將用戶輸入的密碼和鹽值通過一個特定的演算法進行加密,生成一個密文(ciphertext),最終將鹽值和密文存儲到Shadow文件中。
下面是一個示例。
echo "password" | openssl passwd -6 -salt xyz
$6$xyz$cZ21ZJ5Vz3eAAZQzpHsOGwVnxrN5j1G7HL2Iatf4m9tR9vgYCCHoqU/aFbrWRzUEf/muE/ZElNyBfT7ODuKFi/
其中,”-6″表示採用SHA-512演算法進行加密,”-salt”指定了鹽值。最後生成的字元串為Shadow文件中的一行內容,該行內容的格式如下。
username:password:lastchg:min:max:warn:inactive:expire:
其中,username表示用戶名,password表示經過加密的密碼,lastchg表示上一次修改密碼的時間,min表示密碼的最短使用期限,max表示密碼的最長使用期限,warn表示通知用戶密碼需要更改的天數,inactive表示密碼過期後系統允許用戶的不活動時間(單位為天),expire表示密碼失效的日期。
五、Linux Shadow文件的管理
系統管理人員需要不時地修改或處理Shadow文件中的信息,下面介紹常用的一些命令。
1、修改密碼失效時間。
chage -M 90 linuxshadow # 將密碼的最長使用期限設置為90天
2、為新用戶分配密碼。
useradd linuxshadow # 添加新用戶
passwd linuxshadow # 指定一個密碼給新用戶
3、通過Shadow文件查詢用戶信息。
grep linuxshadow /etc/shadow # 查詢用戶password信息
4、將Shadow文件從備份中還原出來。
cp /etc/shadow.bak /etc/shadow # 還原shadow文件
六、總結
通過本文的介紹,我們了解了Linux Shadow文件在Linux系統中的重要性,並重點介紹了該文件的許可權、加密過程、以及常見的管理命令。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/269918.html