linux中/etc/passwd文件與/etc/shadow文件解析

1. /etc/passwd文件 shell


  1.1 /etc/passwd文件內容格式 bash

    用戶名: 密碼 : uid  : gid :用戶描述:主目錄:登錄shell 服務器

    舉個例子: ui


1
2
3
4
5
6
7
8
9
10
11
12
#cat /etc/passwd  //利用cat命令打開查看passwd內容
root:x:0:0:Superuser:/:
daemon:x:1:1:Systemdaemons:/etc:
bin:x:2:2:Ownerofsystemcommands:/bin:
sys:x:3:3:Ownerofsystemfiles:/usr/sys:
adm:x:4:4:Systemaccounting:/usr/adm:
uucp:x:5:5:UUCPadministrator:/usr/lib/uucp:
auth:x:7:21:Authenticationadministrator:/tcb/files/auth:
cron:x:9:16:Crondaemon:/usr/spool/cron:
listen:x:37:4:Networkdaemon:/usr/net/nls:
lp:x:71:18:Printeradministrator:/usr/spool/lp:
sam:x:200:50:Samsan:/usr/sam:/bin/sh

用戶名:每一個用戶的標識字符串 加密

密碼:這裏的x表示是暗文顯示。若是是其餘什麼數字,就表明是密碼明文。 spa

uid:每一個用戶必須被分配一個userid,」0」爲root保留ID.1-99爲系統保留,分配給系統預約義賬號。Linux用戶能夠分爲3類:超級用戶(root  用戶標識號是0)、管理用戶和普通用戶。 code

系統中有一類用戶稱爲僞用戶(psuedo users),這些用戶在/etc/passwd文件中也佔有一條記錄,可是不能登陸,由於它們的登陸Shell爲空。
它們的存在主要是方便系統管理,知足相應的系統進程對文件屬主的要求。

  /etc/passwd文件中常見的僞用戶 接口

僞  用  戶
含     義
bin
擁有可執行的用戶命令文件
sys
擁有系統文件
adm
擁有賬戶文件
uucp
UUCP使用
lp
lp或lpd子系統使用
nobody
NFS使用
  除了上面列出的僞用戶外,還有許多標準的僞用戶,例如:audit, cron, mail, usenet等,它們也都各自爲相關的進程和文件所須要。
 
gid :字段記錄的是用戶所屬的用戶組。它對應着/etc/group文件中的一條記錄。

  

用戶描述:字段記錄着用戶的一些我的狀況,例如用戶的真實姓名、電話、地址等,這個字段並無什麼實際的用途。 進程

主目錄:用戶的起始工做目錄,它是用戶在登陸到系統以後所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登陸名。各用戶對本身的主目錄有讀、寫、執行(搜索)權限,其餘用戶對此目錄的訪問權限則根據具體狀況設置。 ci

登錄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 

登陸名:加密口令:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標誌

 

1
2
3
4
5
6
7
8
1)「登陸名」是與/etc/passwd文件中的登陸名相一致的用戶帳號
2)「口令」字段存放的是加密後的用戶口令字,長度爲13個字符。若是爲空,則對應用戶沒有口令,登陸時不須要口令;若是含有不屬於集合{./0-9A-Za-z}中的字符,則對應的用戶不能登陸。
3)「最後一次修改時間」表示的是從某個時刻起,到用戶最後一次修改口令時的天數。時間起點對不一樣的系統可能不同。例如在SCOLinux中,這個時間起點是1970年1月1日。
4)「最小時間間隔」指的是兩次修改口令之間所需的最小天數。
5)「最大時間間隔」指的是口令保持有效的最大天數。
6)「警告時間」字段表示的是從系統開始警告用戶到用戶密碼正式失效之間的天數。
7)「不活動時間」表示的是用戶沒有登陸活動但帳號仍能保持有效的最大天數。
8)「失效時間」字段給出的是一個絕對的天數,若是使用了這個字段,那麼就給出相應帳號的生存期。期滿後,該帳號就再也不是一個合法的帳號,也就不能再用來登陸了。
相關文章
相關標籤/搜索