linux中/etc/passwd文件与/etc/shadow文件解析
1. /etc/passwd文件
1.1 /etc/passwd文件內容格式
用戶名: 密碼 : uid? : gid :用戶描述:主目錄:登陸shell
舉個例子:
#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表示是暗文顯示。如果是其他什么數字,就代表是密碼明文。
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?
登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
?
1)“登錄名”是與/etc/passwd文件中的登錄名相一致的用戶賬號 2)“口令”字段存放的是加密后的用戶口令字,長度為13個字符。如果為空,則對應用戶沒有口令,登錄時不需要口令;如果含有不屬于集合{./0-9A-Za-z}中的字符,則對應的用戶不能登錄。 3)“最后一次修改時間”表示的是從某個時刻起,到用戶最后一次修改口令時的天數。時間起點對不同的系統可能不一樣。例如在SCOLinux中,這個時間起點是1970年1月1日。 4)“最小時間間隔”指的是兩次修改口令之間所需的最小天數。 5)“最大時間間隔”指的是口令保持有效的最大天數。 6)“警告時間”字段表示的是從系統開始警告用戶到用戶密碼正式失效之間的天數。 7)“不活動時間”表示的是用戶沒有登錄活動但賬號仍能保持有效的最大天數。 8)“失效時間”字段給出的是一個絕對的天數,如果使用了這個字段,那么就給出相應賬號的生存期。期滿后,該賬號就不再是一個合法的賬號,也就不能再用來登錄了。?
?
?
??
?
?
轉載于:https://www.cnblogs.com/haore147/p/3619153.html
總結
以上是生活随笔為你收集整理的linux中/etc/passwd文件与/etc/shadow文件解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos调整时间时区
- 下一篇: Java 之文件目录操作