[轉]/etc/passwd文件解析
/etc/passwd文件內容如下
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin
mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash
在該文件中,每一行用戶記錄的各個數據段用“:”分隔,分別定義了用戶的各方面屬性。各個字段的順序和含義如下:
註冊名:口令:用戶標識號:組標識號:用戶名:用戶主目錄:命令解釋程序
用英語表達為:
LOGNAME:PASSWORD:UID:GID:USERINFO:HOME:SHELL
/etc/passwd這個文件中包含著全部用戶的信息,因此只有root用戶才有權查看。為了讓普通用戶能夠修改各自的信息,所以才有了passwd(修改密碼)、chsh(修改默認shell)等命令。這些命令的效果跟直接修改/etc/passwd這個文件是一樣的。
1、註冊名
註冊名(login_name):用於區分不同的用戶。在同一系統中註冊名是惟一的。在很多系統上,該字段被限制在8個字符(字母或數字)的長度之內;並且要註意,通常在Linux系統中對字母大小寫是敏感的。這與MSDOS/Windows是不一樣的。
2、口令
口令(passwd):系統用口令來驗證用戶的合法性。超級用戶root或某些高級用戶可以使用系統命令passwd來更改系統中所有用戶的口令,普通用戶也可以在登錄系統後使用passwd命令來更改自己的口令。
此外,需要註意的是,如果passwd字段中的第一個字符是“*”的話,那麽,就表示該賬號被查封了,系統不允許持有該賬號的用戶登錄。
3、用戶標識號(UID)
UID是一個數值,是Linux系統中惟一的用戶標識,用於區別不同的用戶。在系統內部管理進程和文件保護時使用 UID字段。在Linux系統中,註冊名和UID都可以用於標識用戶,只不過對於系統來說UID更為重要;而對於用戶來說註冊名使用起來更方便。在某些特 定目的下,系統中可以存在多個擁有不同註冊名、但UID相同的用戶,事實上,這些使用不同註冊名的用戶實際上是同一個用戶。
4、組標識號(GID)
GID這是當前用戶的缺省工作組標識。具有相似屬性的多個用戶可以被分配到同一個組內,每個組都有自己的組名,且以自己的組標 識號相區分。像UID一樣,用戶的組標識號也存放在passwd文件中。在現代的Unix/Linux中,每個用戶可以同時屬於多個組。除了在 passwd文件中指定其歸屬的基本組之外,還在/etc/group文件中指明一個組所包含用戶。
5、用戶名(user_name)
用戶名包含有關用戶的一些信息,如用戶的真實姓名、辦公室地址、聯系電話等。在Linux系統中,mail和finger等程序利用這些信息來標識系統的用戶。
6、用戶主目錄(home_directory)
該字段定義了個人用戶的主目錄,當用戶登錄後,他的Shell將把該目錄作為用戶的工作目錄。 在Unix/Linux系統中,超級用戶root的工作目錄為/root;而其它個人用戶在/home目錄下均有自己獨立的工作環境,系統在該目錄下為每 個用戶配置了自己的主目錄。個人用戶的文件都放置在各自的主目錄下。
7、命令解釋程序(Shell)
Shell是當用戶登錄系統時運行的程序名稱,通常是一個Shell程序的全路徑名,如/bin/bash。
需要註意的是,系統管理員通常沒有必要直接修改passwd文件,Linux提供一些賬號管理工具幫助系統管理員來創建和維護用戶賬號。
Linux口令管理之/etc/passwd文件
/etc/passwd文件是Linux/UNIX安全的關鍵文件之一.該文件用於用戶登錄時校驗 用戶的口令,當然應當僅對root可寫.文件中每行的一般格式為:
原文鏈接
[轉]/etc/passwd文件解析