linux 系统中 /etc/passwd 和 /etc/shadow文件详解
在linux操作系統中, /etc/passwd文件中的每個用戶都有一個對應的記錄行,記錄著這個用戶的一下基本屬性。該文件對所有用戶可讀。
??而/etc/shadow文件正如他的名字一樣,他是passwd文件的一個影子,/etc/shadow文件中的記錄行與/etc/passwd中的一一對應,它由pwconv命令根據/etc/passwd中的數據自動產生。但是/etc/shadow文件只有系統管理員才能夠進行修改和查看。
?/etc/passwd文件介紹
??首先,我們通過命令行cat /etc/passwd進行查看/etc/passwd文件內容:
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin libuuid:x:100:101::/var/lib/libuuid: syslog:x:101:104::/home/syslog:/bin/false messagebus:x:102:106::/var/run/dbus:/bin/false usbmux:x:103:46:usbmux daemon,,,:/home/usbmux:/bin/false dnsmasq:x:104:65534:dnsmasq,,,:/var/lib/misc:/bin/false avahi-autoipd:x:105:113:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false kernoops:x:106:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false rtkit:x:107:114:RealtimeKit,,,:/proc:/bin/false saned:x:108:115::/home/saned:/bin/false whoopsie:x:109:116::/nonexistent:/bin/false speech-dispatcher:x:110:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/sh avahi:x:111:117:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false lightdm:x:112:118:Light Display Manager:/var/lib/lightdm:/bin/false colord:x:113:121:colord colour management daemon,,,:/var/lib/colord:/bin/false hplip:x:114:7:HPLIP system user,,,:/var/run/hplip:/bin/false pulse:x:115:122:PulseAudio daemon,,,:/var/run/pulse:/bin/false yaofei:x:1000:1000:ubuntu14.04,,,:/home/yaofei:/bin/bash sshd:x:116:65534::/var/run/sshd:/usr/sbin/nologin mysql:x:117:125:MySQL Server,,,:/nonexistent:/bin/false??從文件中我們可以看到,/etc/passwd中一行記錄對應著一個用戶,每行記錄又被冒號(:)分隔為7個字段,其格式和具體含義如下:?
用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
- 用戶名(login_name):是代表用戶賬號的字符串。通常長度不超過8個字符,并且由大小寫字母和/或數字組成。登錄名中不能有冒號(:),因為冒號在這里是分隔符。為了兼容起見,登錄名中最好不要包含點字符(.),并且不使用連字符(-)和加號(+)打頭。
- 口令(passwd):一些系統中,存放著加密后的用戶口令字。雖然這個字段存放的只是用戶口令的加密串,不是明文,但是由于/etc/passwd文件對所有用戶都可讀,所以這仍是一個安全隱患。因此,現在許多Linux系統(如SVR4)都使用了shadow技術,把真正的加密后的用戶口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個特殊的字符,例如“x”或者“*”。
- 用戶標識號(UID):是一個整數,系統內部用它來標識用戶。一般情況下它與用戶名是一一對應的。如果幾個用戶名對應的用戶標識號是一樣的,系統內部將把它們視為同一個用戶,但是它們可以有不同的口令、不同的主目錄以及不同的登錄Shell等。取值范圍是0-65535。0是超級用戶root的標識號,1-99由系統保留,作為管理賬號,普通用戶的標識號從100開始。在Linux系統中,這個界限是500。
- 組標識號(GID):字段記錄的是用戶所屬的用戶組。它對應著/etc/group文件中的一條記錄。
- 注釋性描述(users):字段記錄著用戶的一些個人情況,例如用戶的真實姓名、電話、地址等,這個字段并沒有什么實際的用途。在不同的Linux系統中,這個字段的格式并沒有統一。在許多Linux系統中,這個字段存放的是一段任意的注釋性描述文字,用做finger命令的輸出。
- 主目錄(home_directory):也就是用戶的起始工作目錄,它是用戶在登錄到系統之后所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登錄名。各用戶對自己的主目錄有讀、寫、執行(搜索)權限,其他用戶對此目錄的訪問權限則根據具體情況設置。
- 登錄Shell(Shell):用戶登錄后,要啟動一個進程,負責將用戶的操作傳給內核,這個進程是用戶登錄到系統后運行的命令解釋器或某個特定的程序,即Shell。Shell是用戶與Linux系統之間的接口。Linux的Shell有許多種,每種都有不同的特點。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系統管理員可以根據系統情況和用戶習慣為用戶指定某個Shell。如果不指定Shell,那么系統使用sh為默認的登錄Shell,即這個字段的值為/bin/sh。
?/etc/shadow文件介紹
??/etc/shadow文件格式與/etc/passwd文件格式類似,同樣由若干個字段組成,字段之間用“:”隔開。
??通過命令行輸入sudo cat /etc/shadow進行文件內容查看:
??文件中字段主要含義為:登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
“口令”字段存放的是加密后的用戶口令字:
“最后一次修改時間”表示的是從某個時刻起,到用戶最后一次修改口令時的天數。時間起點對不同的系統可能不一樣。例如在SCOLinux中,這個時間起點是1970年1月1日。
總結
以上是生活随笔為你收集整理的linux 系统中 /etc/passwd 和 /etc/shadow文件详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式系统编程软件架构主要包括哪些知识?
- 下一篇: SSL,SSH,OpenSSL,Open