此文章轉載自"慧可",用來學習.
1. /etc/passwd文件
1.1 /etc/passwd文件內容格式
用戶名: 密碼 : uid : gid :用戶描述:主目錄:登陸shell
舉個例子:
用戶名:每個用戶的標識字符串
密碼:這里的x表示是暗文顯示。如果是其他什么數字,就代表是密碼明文。
uid:每個用戶必須被分配一個userid,”0”為root保留ID.1-99為系統保留,分配給系統預定義帳號。Linux用戶可以分為3類:超級用戶(root 用戶標識號是0)、管理用戶和普通用戶。
系統中有一類用戶稱為偽用戶(psuedo users),這些用戶在/etc/passwd文件中也占有一條記錄,但是不能登錄,因為它們的登錄Shell為空。
它們的存在主要是方便系統管理,滿足相應的系統進程對文件屬主的要求。
/etc/passwd文件中常見的偽用戶
偽 用 戶
|
含 義
|
bin
|
擁有可執行的用戶命令文件
|
sys
|
擁有系統文件
|
adm
|
擁有帳戶文件
|
uucp
|
UUCP使用
|
lp
|
lp或lpd子系統使用
|
nobody
|
NFS使用
|
用戶描述:字段記錄着用戶的一些個人情況,例如用戶的真實姓名、電話、地址等,這個字段並沒有什么實際的用途。
主目錄:用戶的起始工作目錄,它是用戶在登錄到系統之后所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登錄名。各用戶對自己的主目錄有讀、寫、執行(搜索)權限,其他用戶對此目錄的訪問權限則根據具體情況設置。
登陸shell:用戶登錄后,要啟動一個進程,負責將用戶的操作傳給內核,這個進程是用戶登錄到系統后運行的命令解釋器或某個特定的程序,即Shell。Shell是用戶與Linux系統之間的接口。Linux的Shell有許多種,每種都有不同的特點。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系統管理員可以根據系統情況和用戶習慣為用戶指定某個Shell。如果不指定Shell,那么系統使用sh為默認的登錄Shell,即這個字段的值為/bin/sh。
若此處shell為:/sbin/nologin,則代表這個用戶不能登錄。這樣做的好處是,ftp用戶只能通過ftp登錄ftp服務器,而不能登錄到shell中。
2. /etc/shadow 文件內容格式
Linux中 /etc/shadow文件中的記錄行與/etc/passwd中的一一對應,它由 pwconv 命令根據/etc/passwd中的數據自動產生。它的文件格式與/etc/passwd類似,由若干個字段組成,字段之間用“:”隔開,文件的每行是8個冒號分割的9個域,格式如下:
username: passwd: lastchg: min: max: warn: inactive: expire: flag
登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志