Arch manual pages

PASSWD(5) File formats PASSWD(5)

passwd - 密碼檔案

Passwd 是個純文字檔, 它包含了一個系統帳戶列表, 給出每個帳戶一些有用的信息,比如使用者 ID,組 ID, 家目錄, shell,等. 通常它也包含了每個使用者經過加密的密碼. 它通常應該是可讀的(許\[u591A]命令,工具程式,像 ls(1) 用它做使用者 Id 到使用者名稱的映射),但是只允許\[u8D85]級使用者有寫方式權限.

在過去美好的日子裏,這種一般的讀許\[u53EF]沒有什麼大問題. 每個人都能讀到加密了的密碼,因為硬體太慢以至於不能解開一個 精選的密碼,另外,這基本假定是為友好的使用團體使用的. 現在,許\[u591A]人運行一些版本的影子密碼套件,它們在 /etc/passwd 的密碼域裏是 *,而不再是加密的口令, 加密的口令放在 /etc/shadow 中,那個檔案只有超級使用者能讀.

不管是否使用了影子密碼,許\[u591A]系統管理員使用一個星號在加密的密碼字段 以確保使用者不能鑒別他(她)自己的密碼. (見下面的注意)

如果你建立了一個新的登入,首先放個星號在密碼字段, 然後使用 passwd(1) 設置它.

(密碼檔案)裏每行一條記錄,並且每行有這樣的格式:

account:password:UID:GID:GECOS:directory:shell (帳號:密碼:使用者ID:組ID:一般的信息:目錄:shell)

字段描述如下:

account
使用者在系統中的名字,它不能包含大寫字母.
password
加密的使用者密碼,或者星號。
UID
使用者 ID 數。
GID
使用者的主要組 ID 數。
GECOS
這字段是可選的,通常為了存放信息目的而設的. 通常,它包含了使用者的全名. GECOS 意思是通用電氣綜合作業系統(General Electric Comprehensive Operating System), 當 GE 的大型系統部分割售賣給 Honeywell 時它被改為 GCOS. Dennis Ritchie 作過報告:"有時我們發送印刷品或批道作業到 GCOS機器時,gcos 字段打斷了 $IDENT 卡的信息,不太美觀。"(譯者:我想是太長吧)
directory
使用者的 $HOME 目錄.
shell
登入時運行的程式(如果空的,使用 /bin/sh). 如果設為不存在的執行(程式),使用者不能通過 login(1) 登入.

如果你想建立使用者組,他們的 GID 必須相等並且一定是在 /etc/group的一條記錄, 要不然組就不存在.

如果加密密碼設成星號,使用者將不能用 login(1) 來登入, 但依然可以用 rlogin(1) 登入, 通過 rsh(1) 或者 cron(1) 或者 at(1) 或者 mail 過濾器等程式運行已有的進程和開始新的等. 試圖通過簡單改變 shell 字段鎖住一個使用者結果是一樣的, 而且還附上了使用 su(1) 的權限.

/etc/passwd

passwd(1), login(1), su(1), group(5), shadow(5)

Scorpio <rawk@chinese.com>

2000/11/26

http://cmpp.linuxforum.net
January 5, 1998