Linux用戶和用戶組以及相關命令(上)

/etc/passwd、/etc/group、/etc/shadow和/etc/gshadow介紹:

    1、/etc/passwd:該文件主要是存放用戶信息,一行記錄一個用戶。

[root@ST_server ~]# tail -2 /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
huangyisan:x:502:502::/home/huangyisan:/bin/bash

    觀察每一行,通過":"隔開,分成了七個部分,分別代表的意思是:

     第一部分:表示用戶名,比如huangyisan 。

     第二部分:表示密碼,這裏的x表示佔位符。

     第三部分:userID,是一個唯一標識。

     第四部分:groupID,是一個唯一標識。

     第五部分:別名,比如named用戶的別名就是Named

     第六部分:用戶家目錄,比如huangyisan的家目錄在/home/huangyisan下面

     第七部分:用戶的shell模式,比如huangyisan的shell模式是/bin/bash

    

    詳細說明每一部分:

     第一部分:也就是登陸時候遇到的用戶名

     第二部分:密碼是加密之後記錄在/etc/shadow裏面,具體的見下面的/etc/shadow介紹

     第三部分:管理員ID爲0,普通用戶範圍是1-60000。在centos5和6中,系統用戶範圍是1-499,登陸用戶範圍是500+;centos7中,系統用戶範圍是1-999,登陸用戶範圍是1000+。這些配置可以在/etc/login.defs中進行修改。

     第四部分:管理員組ID爲0,在centos5和6中,系統用戶組範圍是1-499;普通用戶組是500+,在centos7中,系統用戶範圍是1-999,普通用戶組是1000+

     第五部分:別名

     第六部分:一般默認創建了用戶會在/home/USERNAME下面生成該用戶對應的家目錄

     第七部分:存在有多種shell模式。默認是/bin/bash,更多shell可以查看/etc/shells文件,如果一個用戶的shell被指定爲/sbin/nologin的話,那麼這個用戶是沒法登陸linux的,即便是root,也不能su到用戶下面,這樣的用戶稱之爲“匿名用戶”,一般這樣的用戶可以用於FTP,能進行FTPdown數據,但是不允許登陸這臺FTP服務器。


   2、/etc/group:該文件主要存放用戶組的信息,一行記錄一個用戶組。

[root@ST_server ~]# tail -4 /etc/group
named:x:25:
huangyisan:x:502:huangyisan1,huangyisan3

    觀察每一行,通過":"隔開,分成了四個部分,分別代表的意思是

     第一部分:組名,比如huangyisan這個組

     第二部分:用戶組密碼,x表示佔位符,密碼是加密之後存放在/etc/gshadow內

     第三部分:用戶組ID,上面有介紹,唯一標識

     第四部分:組內用戶,表示加入該組的用戶,不同用戶用","隔開,只有附加組都會在這裏面。(已經測試)


   3、/etc/shadow:該文件主要是用戶記錄用戶密碼信息。

[root@ST_server ~]# tail -4 /etc/shadow
huangyisan:$6$5FvHR7Cn$LCDiv1W5ScbSjFkErA4HtFlQm.Kd7ND3TXKdWmQBr7xuiM3K5HtsIQwtH9KOa4MfdNVaUmG1kPCzbXqdT2o2i0:16658:0:99999:7:::
huangyisan1:!!:16658:0:99999:7:::
huangyisan2:!!:16658:0:99999:7:::
huangyisan3:!!:16658:0:99999:7:::

   觀察每一行,通過":"隔開,總共爲九部分,分別代表的意思是

     第一部分:用戶名,比如huangyisan

     第二部分:加密後的密碼;如果沒密碼,則用兩個"!"來表示。這個密碼被分爲三部分,通過"$"隔開,第一部分以數字的形式來表示算法,總共是四種方式(有疑問),通過man 3 crypt可以看到四種:

ID  | Method
              ---------------------------------------------------------
              1   | MD5
              2a  | Blowfish (not in mainline glibc; added in some
                  | Linux distributions)
              5   | SHA-256 (since glibc 2.7)
              6   | SHA-512 (since glibc 2.7)

那huangyisan的就是屬於方式6的加密,也就是SHA-512。第二部分是salt,系統默認加入的“雜質”,八位構成,主要是爲了防止相同密碼得到相同的第三部分加密後的信息。第三部分是用戶提供的密碼和salt一起計算得到的密碼加密信息。

     第三部分:表示從1970-01-01(unix元年)開始到上一次更變密碼總共經過了多少時間。

     第四部分:密碼最大不可被變動時間,如果是0,則表示可以即刻進行對密碼進行變動。

     第五部分:密碼有效時間,超過這個時間,則密碼失效,賬戶也暫時失效,如果99999,則永不失效。

     第六部分:密碼失效之前提醒時間,比如7的話,那麼到了密碼失效的前七天,系統就會通知用戶更變密碼。

     第七部分:密碼失效可登陸時間,當密碼失效以後,可以寬限用戶多少天內進行登陸,超過這個時間未修改密碼,則賬戶失效。

     第八部分:賬號失效時間,也是通過1970-01-01來計算的,到了這個點,賬號則自動失效了。

     第九部分:保留部分。


    4、/etc/gshadow:該文件主要用於存放用戶組加密等信息,一行記錄一個用戶組。

[root@ST_server ~]# tail -3 /etc/gshadow
huangyisan:$6$pHAKV/pR$Kaf1NYwqnL/SBGPqeiY/M9SvP5oe2xfqkUEgJyj2Vo9C0j3U.4b41lqnDSZNIz1wwf9ZSHPwL7MyC3o6o4yzF/::huangyisan1,huangyisan3
huangyisan1:!::
huangyisan3:!::

    觀察每一行,通過":"隔開,總共爲四部分,分別代表的意思是

     第一部分:用戶組名稱,比如huangyisan這個組

     第二部分:用戶組密碼,唯有給用戶組設定了密碼纔會有,否則以"!"表示空。這個密碼也是分爲三段,和上面說的一樣加密規則。

     第三部分:用戶組管理者,這個字段也可爲空,如果有多個用戶組管理者,用","號分割(不明白什麼意思)

     第四部分:該用戶組的成員,只包含附屬組,多個用戶之間用","隔開。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章