帳號管理-/etc/passwd和/etc/shadow結構

Linux 身份認證的資訊,都放在 /etc/passwd 和 /etc/shadow,很多應用程式也會讀取這 2 個檔案,例如 ls。

/etc/passwd 結構:用戶資訊

User-Name:Encrypted-Password:UID:GID:Comment:$HMOE:$SHELL
範例:apacheserver:x:500:500::/home/apacheserver:/bin/bash
User-Name:apacheserver
Encrypted-Password:x  // 密碼是放在 /etc/shadow,因為很多程式會讀這個內容,放在此處風險太高。
UID:500
GID:500
Comment(GECOS):
$HOME:/home/apacheserver
$SHELL:/bin/bash

/etc/shadow 結構:密碼資訊

欄位 1:欄位 2:欄位 3:欄位 4:欄位 5:欄位 6:欄位 7:欄位 8:欄位 9

欄位 1:使用者名稱
欄位 2:加密後的密碼
欄位 3:最近一次更改密碼日期
欄位 4:限制密碼變更天數(PASS_MIN_DAYS),0 表示無限制
欄位 5:限制密碼可使用天數(PASS_MAX_DAYS)
欄位 6:密碼過期前警告天數(PASS_WARN_AGE)
欄位 7:密碼過期後寬限時間(inactive)
欄位 8:帳號失效日期(expiration)
欄位 9:保留

補充:使用date計算日期,因為沒有excel可以用XD。
# date -d '19700101 15631 days'
 四 10月 18 00:00:00 CST 2012

範例:apacheserver:$1$eSDh1dqo$1rEoTHCvdrVXvQQEONymx0:15631:5:30:7:3:15705:
使用者名稱:apacheserver
加密後的密碼:$1$eSDh1dqo$1rEoTHCvdrVXvQQEONymx0
最近一次更改密碼日期:15631  // 這裡顯示的是天數,日期為 2012-10-18,從 1970-01-01 開始計算
限制密碼變更天數:5  // 表示到 2012-10-23 都不能變更密碼。
限制密碼可使用天數:30  // 表示 2012-11-17 以前必須變更密碼,不然原密碼就會失效。
密碼過期前警告天數:7  // 表示 2012-11-10 至 2012-11-17,這 7 天只要登入系統,就會看到警告訊息。
密碼過期後寬限時間:3  // 表示更改密碼的日期延後 3 天至 2012-11-20。
帳號失效日期:15705  // 密碼失效日期為 2012-12-31,這裡顯示的是天數,從 1970-01-01 開始計算。

ls 使用 /etc/passwd 範例: # ll
 drwx------. 29 apacheserver apacheserver 4096 Oct 23 11:15 apacheserver
# vim /etc/passwd
 apacheserver:x::500::/home/apacheserver:/bin/bash  // 拿掉 uid
# ll
 drwx------. 29 500 apacheserver 4096 Oct 23 11:15 apacheserver

沒有留言:

張貼留言