FlossDoc: 请协力 GPLv3 的中文翻译工作。
File:/etc/master.passwd
FlossDoc,自由中文開源知識庫
< File: | etc
master.passwd 是包括 FreeBSD、OpenBSD、NetBSD 和 iOS 等 BSD Unix 系統存放每一個使用者資訊和密碼的檔案。和 /etc/passwd 不同,它的檔案權限 (file mode) 一般會設為只有超級使用者才可以讀取,以減低使用者密碼受到攻擊的機會。
master.passwd 格式和 passwd 很相似,只是多了使用者類別 (class)、密碼有效期限和帳號有效期限三欄。為兼容一般 Unix 程式,每次改變 master.passwd 的內容會由工具 pwd_mkdb 透過刪去多了的三欄和把密碼欄取替為星號 (“*”) 來更新 passwd 。因為 master.passwd 亦是一個簡單的文字檔,一般可以直接使用任何文字編輯器修改,但為安全起見,請使用系統提供的工具如 passwd、chage 和 vipw -s 等改變此檔案的內容。
目录 |
[编辑]
結構與內容
master.passwd 檔案中的每一列記錄了系統每一個使用者的資料。每一列的格式如下:
username:encrypted-password:UID:GID:class:change:expire:comment:home-directory:login-shell
以下是個典型 master.passwd 檔案的內容:
root:m9lkMX9ZCD3ZA:0:0::0:0:Charlie &:/root:/bin/csh toor:*:0:0::0:0:Bourne-again Superuser:/root: daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
每一列都有七欄資料,欄與欄之間以冒號 (“:”) 分隔。每一欄的用途以下:
- 使用者名稱 (Username) - 登入和識別使用者的名稱。一般都建議只使用小階英文字母和數字組合作為使用者名稱,而第一個字元一般需要是英文字母。部份 Unix 容許較寬鬆的命名規則,例如很多 Unix 都容許使用底線等 (“_”)。不過使用如大階字母和點號 (“.”) 有機會搞亂一些如電郵程式等軟件的運作。[1]
- 已加密的密碼 (Encrypted password) - 如其名,這欄是存放已加密的使用者密碼。特別留意如果這欄是空的,表示無需輸入密碼就可以登入這使用者。這在正常系統是絕對不可能出現的。唯一原因就是系統已被人入侵。如果這欄第一個字元為星號 “*” 表示此帳戶已被停用。如果以 “*LOCKED*” 開頭,表示此帳戶已鎖定不能登入。
- 使用者識別編號 (UID, User identification number) - 系統真正識別使用者的編號。如果兩個或以上的使用者擁相同的 UID ,系統會當相同旳使用者處理。[2]特別留意 UID 為 0 的使用者,表示他有和系統管理員 root 相同的權力。如果發現有 root 以外使用者的 UID 為 0 ,一般表示系統已被人入侵和該使用者是入侵者所設的後門 (back door)。
- 首要群組識別編號 (GID, Primary group ID) - 使用者登入時預設使用者群組的識別編號,一般要對應 /etc/group 中的群組資料。
- 使用者登入的類別 (class) - 設定使用者登入時的類別,可以設定使用者的性質、環境、計費和可使用的系統資源等。登入類別是在設定檔 /etc/login.conf 中定義。
- 密碼有效期限 (Change) - 由 Epoch 日期 1970 年 1 月 1 日凌晨零時零分至密碼必須被變更時間的秒數。如果為 0 或被漏空,則代表不設限。
- 帳號有效期限 (Expire) - 由 Epoch 日期 1970 年 1 月 1 日凌晨零時零分至帳號的有效期限的秒數。如果為 0 或被漏空,則代表沒有期限。
- 使用者全名或註解 (Comment or User fullname) - 傳統上存放了使用者的真實姓名和其他附加資訊。附加資訊一般會逗號 (“,”) 分隔開,其意義和次序在不同 Unix 系統可有分別,但一般格式為「使用者全名,辦公室編號,辦公室電話號碼,屋宅電話號碼」,各以逗號 (“,”) 分隔開。如果使用者全名有 (&) ,使用時會用第一個字元變為大寫的日使用者登入名稱取替。這欄亦傳統上叫作 GECOS 或 GCOS 欄,因為早期貝爾實驗室 (Bell Lab) 中的 Unix 系統一般使用 GECOS 作列印 spooling 和其他工作,而這欄就被加入 passwd 檔案存放登入 GECOS 系統需要的 ID。[2][3]
- 個人目錄 (User home directory) - 使用者個人目錄 (home directory) 的路徑。
- 登入命令解析器 (login shell/command interpreter) - 使用登入時使用的 Shell 命令解析器。
[编辑]
相關工具
- passwd - 更改使用者密碼
- chfn - 更改使用者名稱
- chsh - 更改使用者 shell
- vipw - 編輯 /etc/passwd 檔案
- pwd_mkdb - 依 master.passwd 內容自動產生 /etc/passwd、/etc/pwd.db 和 /etc/spwd.db 的工具。
[编辑]
相關檔案
- /etc/passwd - 傳統 Unix/Linux 記錄使用者資料的檔案。
- /etc/group - 傳統 Unix/Linux 記錄使用者群組的檔案。
- /etc/pwd.db - 為加快閱取使用者資料的 db 版本。
- /etc/spwd.db - 為加快閱取使用者密碼和安全資料的 db 版本。
- /etc/shadow - Linux 和 BSD 以外大部份 Unix 系統使用 shadow password 時儲存使用者密碼和相關資料的檔案。
- /etc/gshadow - Linux 和 BSD 以外大部份 Unix 系統使用 shadow password 時儲存使用者群組密碼和相關資料的檔案。
[编辑]
例子
[编辑]
Apple Mac OS X
Apple Mac OS X 實際將使用者的資料放入目錄服務中,master.passwd 只供系統在單使用者模式 (single-user mode) 中使用。
## # User Database # # Note that this file is consulted directly only when the system is running # in single-user mode. At other times this information is provided by # Open Directory. # # See the opendirectoryd(8) man page for additional information about # Open Directory. ## nobody:*:-2:-2::0:0:Unprivileged User:/var/empty:/usr/bin/false root:*:0:0::0:0:System Administrator:/var/root:/bin/sh daemon:*:1:1::0:0:System Services:/var/root:/usr/bin/false _uucp:*:4:4::0:0:Unix to Unix Copy Protocol:/var/spool/uucp:/usr/sbin/uucico _networkd:*:24:24::0:0:Network Services:/var/empty:/usr/bin/false _installassistant:*:25:25::0:0:Install Assistant:/var/empty:/usr/bin/false _lp:*:26:26::0:0:Printing Services:/var/spool/cups:/usr/bin/false _postfix:*:27:27::0:0:Postfix Mail Server:/var/spool/postfix:/usr/bin/false _scsd:*:31:31::0:0:Service Configuration Service:/var/empty:/usr/bin/false _ces:*:32:32::0:0:Certificate Enrollment Service:/var/empty:/usr/bin/false _mcxalr:*:31:31::0:0:Service COnfiguration Service:/var/empty:/usr/bin/false _pcastagent:*:55:55::0:0:Podcast Producer Agent:/var/pcast/agent:/usr/bin/false _pcastserver:*:56:56::0:0:Podcast Producer Server:/var/pcast/server:/usr/bin/false _serialnumberd:*:58:58::0:0:Serial Number Daemon:/var/empty:/usr/bin/false _devdocs:*:59:59::0:0:Developer Documentation:/var/empty:/usr/bin/false _sandbox:*:60:60::0:0:Seatbelt:/var/empty:/usr/bin/false _mdnsresponder:*:65:65::0:0:mDNSResponder:/var/empty:/usr/bin/false _ard:*:67:67::0:0:Apple Remote Desktop:/var/empty:/usr/bin/false _www:*:70:70::0:0:World Wide Web Server:/Library/WebServer:/usr/bin/false
[编辑]
Jailbreak iOS
## # User Database # # This file is the authoritative user database. ## nobody:*:-2:-2::0:0:Unprivileged User:/var/empty:/usr/bin/false root:m9lkMX9ZCD3ZA:0:0::0:0:System Administrator:/var/root:/bin/sh mobile:QV0K5p9TdvUIQ:501:501::0:0:Mobile User:/var/mobile:/bin/sh daemon:*:1:1::0:0:System Services:/var/root:/usr/bin/false _wireless:*:25:25::0:0:Wireless Services:/var/wireless:/usr/bin/false _securityd:*:64:64::0:0:securityd:/var/empty:/usr/bin/false _mdnsresponder:*:65:65::0:0:mDNSResponder:/var/empty:/usr/bin/false _sshd:*:75:75::0:0:sshd Privilege separation:/var/empty:/usr/bin/false _unknown:*:99:99::0:0:Unknown User:/var/empty:/usr/bin/false
[编辑]
參考資料
- ↑ FreeBSD (2007-05-08). “FreeBSD 9 Manpage: master.passwd(5) - format of the password file”.
- ↑ 2.0 2.1 Frisch, AEleen (2002). Essential System Administration. 3rd edition. O'Reilly, Inc. p.224.
- ↑ Wikipedia. “Gecos field”. Accessed at Oct 8th 2008.
[编辑]
外部連結
- BSD Manpage: master.passwd(5) - format of the password file


- FreeBSD/NetBSD/OpenBSD 中的 master.passwd(5) 說明文件

