您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux系統中的/etc/passwd文件和etc/shadow文件該怎么理解,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
在Linux系統中 /etc/passwd文件和etc/shadow文件是兩個非常重要的文件。
  首先,我們通過命令行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/passwd文件格式類似,同樣由若干個字段組成,字段之間用“:”隔開。
  通過命令行輸入sudo cat /etc/shadow進行文件內容查看:
root:!:17043:0:99999:7::: daemon:*:16652:0:99999:7::: bin:*:16652:0:99999:7::: sys:*:16652:0:99999:7::: sync:*:16652:0:99999:7::: games:*:16652:0:99999:7::: man:*:16652:0:99999:7::: lp:*:16652:0:99999:7::: mail:*:16652:0:99999:7::: news:*:16652:0:99999:7::: uucp:*:16652:0:99999:7::: proxy:*:16652:0:99999:7::: www-data:*:16652:0:99999:7::: backup:*:16652:0:99999:7::: list:*:16652:0:99999:7::: irc:*:16652:0:99999:7::: gnats:*:16652:0:99999:7::: nobody:*:16652:0:99999:7::: libuuid:!:16652:0:99999:7::: syslog:*:16652:0:99999:7::: messagebus:*:16652:0:99999:7::: usbmux:*:16652:0:99999:7::: dnsmasq:*:16652:0:99999:7::: avahi-autoipd:*:16652:0:99999:7::: kernoops:*:16652:0:99999:7::: rtkit:*:16652:0:99999:7::: saned:*:16652:0:99999:7::: whoopsie:*:16652:0:99999:7::: speech-dispatcher:!:16652:0:99999:7::: avahi:*:16652:0:99999:7::: lightdm:*:16652:0:99999:7::: colord:*:16652:0:99999:7::: hplip:*:16652:0:99999:7::: pulse:*:16652:0:99999:7::: yaofei:$1$5M0Rbozg$1fWsJaQB.TFAL24b96xi41:17043:0:99999:7::: sshd:*:17043:0:99999:7::: mysql:!:17048:0:99999:7:::
  文件中字段主要含義為:登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
“登錄名”是與/etc/passwd文件中的登錄名相一致的用戶賬號
“口令”字段存放的是加密后的用戶口令字:
如果為空,則對應用戶沒有口令,登錄時不需要口令;
星號代表帳號被鎖定;
雙嘆號表示這個密碼已經過期了;
$6$開頭的,表明是用SHA-512加密;
$1$表明是用MD5加密;
$2$ 是用Blowfish加密;
$5$ 是用 SHA-256加密;
“最后一次修改時間”表示的是從某個時刻起,到用戶最后一次修改口令時的天數。時間起點對不同的系統可能不一樣。例如在SCOLinux中,這個時間起點是1970年1月1日。“最小時間間隔”指的是兩次修改口令之間所需的最小天數。
“最小時間間隔”指的是兩次修改口令之間所需的最小天數。
“最大時間間隔”指的是口令保持有效的最大天數。
“警告時間”字段表示的是從系統開始警告用戶到用戶密碼正式失效之間的天數。
“不活動時間”表示的是用戶沒有登錄活動但賬號仍能保持有效的最大天數。
“失效時間”字段給出的是一個絕對的天數,如果使用了這個字段,那么就給出相應賬號的生存期。期滿后,該賬號就不再是一個合法的賬號,也就不能再用來登錄了。
Linux /etc/group文件與/etc/passwd和/etc/shadow文件都是有關于系統管理員對用戶和用戶組管理時相關的文件。linux /etc/group文件是有關于系統管理員對用戶和用戶組管理的文件,linux用戶組的所有信息都存放在/etc/group文件中。具有某種共同特征的用戶集合起來就是用戶組(Group)。用戶組(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件。
將用戶分組是Linux系統中對用戶進行管理及控制訪問權限的一種手段。每個用戶都屬于某個用戶組;一個組中可以有多個用戶,一個用戶也可以屬于不同的組。當一個用戶同時是多個組中的成員時,在/etc/passwd文件中記錄的是用戶所屬的主組,也就是登錄時所屬的默認組,而其他組稱為附加組。
用戶組的所有信息都存放在/etc/group文件中。此文件的格式是由冒號(:)隔開若干個字段,這些字段具體如下:
組名:口令:組標識號:組內用戶列表
具體解釋: 組名:組名是用戶組的名稱,由字母或數字構成。與/etc/passwd中的登錄名一樣,組名不應重復。 口令:口令字段存放的是用戶組加密后的口令字。一般Linux系統的用戶組都沒有口令,即這個字段一般為空,或者是x。 組標識號:組標識號與用戶標識號類似,也是一個整數,被系統內部用來標識組。別稱GID.
組內用戶列表:是屬于這個組的所有用戶的列表,不同用戶之間用逗號(,)分隔。這個用戶組可能是用戶的主組,也可能是附加組。
使用實例:
[root@localhost test6]# cat /etc/group root:x:0:root,linuxsir bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin
我們以root?0:root,linuxsir 為例: 用戶組root,x是密碼段,表示沒有設置密碼,GID是0,root用戶組下包括root、linuxsir以及GID為0的其它用戶。
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
關于Linux系統中的/etc/passwd文件和etc/shadow文件該怎么理解就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。