UID 是確認用戶權限的標識,用戶登陸系統所處的角色是經過 UID 來實現
的,而非用戶名,所以,每一個用戶的 UID 必須是惟一的。
UID 的惟一性是要管理員來確保的,其實經過修改/etc/passwd 文件,可
以讓任何用戶的 UID 的值爲 0,可是讓幾個用戶共用一個 UID 是危險的,而普
通用戶和 root 共用一個 UID ,那是尤爲危險的事情,由於這事實上就形成了
系統管理權限的混亂。
CentOS 系統會把前 499 個 UID 預留出來,給系統虛擬用戶佔用,虛擬用
戶通常是系統安裝時就有的,
是爲了完成系統任務所必須的用戶,但虛擬用戶是
不能登陸系統的,好比 ftp、nobody、adm、rpm、bin、shutdown 等。
添加普通用戶時的 UID 從 500 開始的,GID 也是從 500 開始,至於其它系
統,
有的系統可能會把前 999 UID 和 GID 預留出來;
以各個系統中/etc/login.defs
文件中的 UID_MIN 的最小值爲準; CentOS 系統 login.defs 的 UID_MIN 是
500, UID_MAX 值爲 60000,也就是說咱們經過 useradd 添加的普通用戶的
而
UID 的值通常都是在 500 到 60000 之間。
ID 和 UID 相似,是一個正整數或 0,GID 從 0 開始,GID 爲 0 的組讓系統
付予給 root 用戶組;系統會預留一些較靠前的 GID 給系統虛擬用戶(也被稱爲
假裝用戶)之用;每一個系統預留的 GID 都有所不一樣,好比 CentOS 預留了 500
個,咱們添加新用戶組時,用戶組是從 500 開始的;查看系統添加用戶組默認
的 GID 範圍應該查看 /etc/login.defs 中的 GID_MIN 和 GID_MAX 值。
注意
Linux 是真正意義上的多用戶操做系統,用戶(user)在系統中是分
角色的,因爲角色不一樣,權限和所完成的任務也不一樣。
通俗來講,用戶組(group)就是具備相同權限的用戶的集合體。
用戶和用戶組的對應關係能夠是是一對1、
多對1、
一對多或多對多,
一個用戶能夠從屬於多個用戶組,一個用戶組也能夠包含多個用戶,
可是在同一時間,一個用戶的主用戶組(primary group)或者說有效
用戶組(effective group)只能有一個。
系統管理員能在 Linux 系統中建若干普通用戶。
每一個用戶都有本身的
家目錄,
對本身家目錄中的文件有徹底的操控權限,對系統有有限的
權限,
在默認狀況下,每一個新建的普通用戶都從屬於一個單獨的和用
戶名同名的用戶組。
固然用戶的概念理解還不只僅於此, Linux 系統中還有一些用戶是
在
用來完成特定任務的,
稱爲虛擬用戶,
這類用戶不具備登陸系統的能
力,
但倒是系統運行不可缺乏的用戶,
好比 bin、
daemon、
adm、
ftp、
mail、nobody 等。咱們的瀏覽器,就是 nobody 用戶,咱們匿名訪問
ftp 時,會用到用戶 ftp。這類用戶都系統自身擁有的,而非後來添加
的,固然咱們也能夠添加虛擬用戶。apache-----瀏覽器
查看用戶可使用兩個命令 id 和 finger,這兩個命令各有測重,id 工具更測
重用戶、用戶所歸屬的用戶組、UID 和 GID 的查看;而 finger 測重用戶信息
的查詢,好比用戶名(登陸名)、家目錄、登陸 SHELL 類型等等。
重要
id [用戶名]
查看某個指定用戶的 UID,其初始用戶組的 GID,以及它所從屬的其餘
用戶組,若是不指定用戶名,則是查看調用者的相關信息。
重要
finger 用戶名
查詢用戶相關信息的,好比用戶名(登陸名)
、家目錄、登陸 SHELL 類
型等等
----------------安全工做環境下,默認登陸的用戶通常來講(同時也應該)是一個普通用戶,而
普通用戶是沒有管理其餘用戶的權力的,在通常狀況下,全部用戶都必須經過
root 用戶來創建。這時的解決辦法有兩個,一是註銷當前普通用戶,從新以 root
用戶登陸,但這種辦法並不方便;二是不退出當前用戶,能夠用 su 命令切換到
root 下進行下面兩個任務,等任務完成後再退出 root。固然經過臨時身份切換是
一種比較好的辦法。
竅門
系統平日操做使用普通用戶是一個好習慣,在有須要時, 才切換爲
root 進行操做,以免一時頭腦糊塗或者手指抽筋,作出鍵入「 rm -
rf /」 命令等不可挽救的事情來;
用較低權限執行系統服務可以保證系統安全,有的時候,咱們必需要
以某些系統帳號運行程序。 舉例來講, Linux 主機上面的 WWW 服
務器 Apache,咱們能夠額外創建一個名爲 apache 的用戶來啓動
Apache 守護進程,如此一來,若是這個程序被黑,至少整個系統不
至於都被黑了。
重要
su [選項] [用戶名]
在不退出當前登陸的狀況下,臨時切換用戶身份。
選項:
- 或者-l 在切換用戶的同時切換到相應用戶的登陸環境,
包括家目
錄,SHELL 定義等。
注意
-l 選項能夠簡寫爲 -,也即「 su -l root」 等價於「su - root」
若是 su 不帶[用戶名]參數,默認爲切換到 root 用戶,也即 「su - 」 等
價於「su - root」
若是 root 向普通用戶切換不須要密碼,而普通用戶切換到其它任何
用戶都須要密碼驗證
當心
su 的確方便,只要把 root 的密碼交給任何一個普通用戶,他都能切
換到 root 來完成全部的系統管理工做;但經過 su 也帶來了不安全因
素;例如系統有 10 個用戶,並且都參與管理。若是這 10 個用戶都
涉及到 root 權限的運用,做爲系統管理員若是想讓其它用戶經過 su
來切換到 root,必須把 root 權限密碼都告訴這 10 個用戶。這在必定
程度上就對系統的安全形成了威脅。「沒有不安全的系統,只有不安
全的人」,
咱們絕對不可能保證這 10 個用戶都能按正常操做規程來管
理系統,
其中任何一人對系統操做的重大失誤,均可能致使不可挽回
的後果;
因此 su 在多人蔘與的系統管理中,
並非最好的選擇, 只適用於
su
一兩我的參與管理的系統。
在其餘狀況下,
通常會選擇使用 sudo
(請
參考「sudo 和/etc/sudoers 目錄」)
;
root 密碼應該掌握在少數人手中,這絕對是 Linux 系統管理員的真
理!
竅門
通常用戶的密碼忘了,這個比較容易解決,切換到 root 幫助他修改就能夠
了;
你忘記了 root 密碼,這就比較麻煩了。最直接的一種補救方式就是重啓,
在本地進入單人維護模式後,用 passwd 命令修改密碼:
1.開機讀秒的時候按下任意鍵就會出現選單畫面
2.按下 e 進入 grub 的編輯模式
3.將光標移動到 kernel 那一行,再按一次 e 進入 kernel 該行的編輯模式
4.在出現的畫面當中,最後方輸入 single
5.按下[Enter]肯定後,按下 b 就能夠開機進入單人維護模式了
如今就登陸系統了,此時就能夠修改密碼了。
----------------bash添加、修改和刪除用戶和用戶組能夠經過多種方式來完成。其一,能夠經過
用戶添加、修改、刪除等實用命令來完成;其二,還能直接修改與用戶和用戶組
相關的配置文件來達到目的。
第一種方法比較直觀可是效率較低,第二種方法要
求對用戶和用戶組有較深刻的瞭解但也相對效率較高,
尤爲是在批量添加配置用
戶的時候。
注意
不論用命令仍是其餘第三方程序對用戶和用戶組進行添加、修改、刪
除最終結果仍是體如今系統用戶配置文件 /etc/passwd 和其對應影
子文件 /etc/shadow 以及用戶組配置文件 /etc/group 和其對應影
子文件/etc/gshadow 的改變上。至於這四個文件究竟是什麼,請參
看 5.7 單元。
如何在 Linux 系統中新增一個用戶呢?考慮到登陸系統時須要輸入的信息僅
包括: (1)用戶名 (2)密碼, 因此創建一個可用的用戶最少只也須要這兩樣數據
就能夠了。
指定用戶名可使用 useradd 命令,密碼設置使用 passwd 這個命
令。
重要
useradd [選項] 用戶名
爲系統添加一個新用戶。
選項:
-c :
後面接一個字符串,
是對本用戶的一些描述,
也能夠視爲用戶全
名。
-u :後面接一個數字。指定一個特定的 UID 給這個用戶,該值必須
惟一,不可相同,數值不可爲負;
-g :後面接的用戶組名就是咱們上面提到的初始用戶組;
-G :後面接的用戶組名則是這個用戶還要加入的其他用戶組;
-M :不創建用戶家目錄(虛擬用戶默認值) ;
-m :創建用戶家目錄 (普通用戶默認值) ;
-d :指定某個目錄成爲家目錄,而不使用默認值;
-r :創建一個系統虛擬用戶;
-e :後面接一個日期,格式爲『YYYY-MM-DD』,指定這個用戶失
效的日期;
-f :指定密碼是否會失效。0 爲馬上失效, -1 爲永遠不會失效(密碼
只會過時而強制在登入時從新指定而已)
重要
usermod [選項] 用戶名
修改當前系統裏存在的某個用戶的用戶設置。
選項:
其中-c /-d /-e /-f /-g /-G /-s /-u 選項:與 groupadd 同名選項意義類
同 ;
-l :後面跟用戶名,修改用戶名稱;
-L :暫時將用戶鎖住,讓他沒法登陸;
-U :解鎖用戶。
當心
usermod 不容許改變正在線上的用戶名和用戶 UID。 usermod 用
當
來改變用戶名和 UID, 必須確認這名用戶沒在系統上執行任何程序。
重要
userdel [選項] 用戶名
刪除當前系統裏某個用戶。
選項:
-r:表示在刪除用戶的同時,一併把用戶的家目錄及本地郵件存儲的
目錄或文件也一同刪除。
當心
請不要輕易用-r 參數;他會刪除用戶的同時刪除用戶全部的文件和
目錄,切記先刪除用戶,在確認後再手動刪除用戶目錄;
不容許刪除正在線上的用戶。
-------------------------服務器比添加用戶更簡單,添加用戶組最少只須要指定用戶組的名稱便可,用
groupadd 添加用戶組。
重要
groupadd [選項] 用戶組名
爲系統添加一個新用戶組。
選項:
-g :
後面接一個數字 ,
用來給用戶組指定一個 GID,
該值必須惟一,
不可相同,數值不可爲負;
-n :修改組的名稱。
-p :修改組的密碼。
重要
groupmod [選項] 用戶組名
爲系統添加一個新用戶組。
選項:
-g :後面接一個數字 ,修改組的 GID;
-r :創建一個系統虛擬用戶組。
重要
groupdel 用戶名
刪除當前系統裏某個用戶組。
當心
在刪除用戶組的時候請萬分當心,由於這有可能涉及到其它和這個
用戶組相關的用戶;
你沒法刪除一個用戶組,除非沒有任何一個用戶將這個用戶做爲主
用戶組(primary group),也即前面所提到的初始用戶組(initial
group)。
--------------------------app在不少狀況下,在多人共管主機,某些用戶請求執行某些須要 root 權限的
命令或者乾脆就是你忙不過來的時候,你就得讓其餘人得到 root 權限了。但將
系統的 root 密碼告訴不少人顯然不是一個好的選擇,這每每成爲悲劇事件的開
端。那麼咱們該如何作呢,sudo 命令給咱們提供了一個不須要 root 密碼也能執
行 root 權限命令的途徑。
sudo 命令容許規定的用戶可以以在許可範圍內以其餘用戶身份執行規定的
命令。
因此,
經過 sudo 命令系統管理員能夠分配給普通用戶一些合理的「權利」,
讓他們執行一些只有 root 或其餘特許用戶才能完成的任務,好比:運行一些像
mount,
halt,
shutdown 之類的命令,
或者編輯一些系統配置文件,
像/etc/mtab,
/etc/samba/smb.conf 等。這樣以來,就不只減小了 root 用戶的登錄次數和管
理時間,也提升了系統安全性。sudo 命令有如下特色:
sudo 命令可以限制指定用戶在指定主機上運行某些命令。
sudo 命令能夠提供日誌,忠實地記錄每一個用戶使用 sudo 命令作了些什麼,
而且能將日誌傳到中心主機或者日誌服務器。
sudo 命令爲系統管理員提供配置文件,容許系統管理員集中地管理用戶的
使用權限和使用的主機。它默認的存放位置是/etc/sudoers。
sudo 命令使用時間戳文件來完成相似「檢票」的系統。當用戶執行 sudo 命令
而且輸入密碼後,用戶得到了一張默認存活期爲 5 分鐘的「入場券」(默認值
能夠在編譯的時候改變)
。超時之後,用戶必須從新輸入密碼。
A) 修改/etc/sudoers 文件
一 開 始 系 統 默 認 僅 有 root 可 以 執 行 sudo 命 令 , 我 們 需 要 通 過 修 改
/etc/sudoers 文件來讓別的用戶也可以執行 sudo 命令。
用 vi /etc/sudoers 打開/etc/sudoers 文件,在沒有改動的狀況下文件大約
有 100 多行,在其中找到一行,以下所示:
......
## Next comes the main part: which users can run what software on
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
##
user
MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root
ALL=(ALL)
ALL
#找到這一行
# 用戶 可登陸的主機=(可切換的用戶身份列表) 可以使用的命令列表
# 表示 root 用戶能夠在任何地方(遠程終端)登陸,而且以任意用戶身份執行任何命令
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING,
PROCESSES, LOCATE, DRIVERS
......
咱們將在這行以後添加一行:
## Allow root to run any commands anywhere
root ALL=(ALL)
ALL
#找到這一行
intern01 ALL=(ALL)
ALL
#添加這行
#表示 intern01 用戶能夠在任何地方(遠程終端)登陸,以任意用戶身份執行任何命令
咱們試着用 intern01 經過 sudo 來執行一個 passwd 命令來修改 intern02 的
密碼:
[root@localhost ~]# su - intern01
[intern01@localhost ~]$ sudo –u root passwd intern02
#以 root 身份執行 passwd 命令,能夠省略 –u 選項,命令是默認轉換爲 root 身份的
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
#系統給出了一些警示信息
[sudo] password for intern01: #提供 intern01 密碼便可,無需提供 root 密碼
更改用戶 intern02 的密碼 。
新的 密碼:
從新輸入新的 密碼:
passwd: 全部的身份驗證令牌已經成功更新。
事實上,這樣就給了 intern01 幾乎等同於 root 的權限,除非你徹底信任
intern01,不然建議你不要這麼作,你能夠指定 intern01 可以執行的命令:
## Allow root to run any commands anywhere
root ALL=(ALL)
ALL
#找到這一行
intern01 localhost=(root) /sbin/shutdown -h -5
#表示 intern01 用戶能夠在本地登陸,以 root 用戶身份執行/sbin/shutdown -5 now 這個命
令,命令得以絕對路徑的方式指定
這樣一個一個用戶指定太過麻煩,也能夠按用戶組指定:
## Allow root to run any commands anywhere
root ALL=(ALL)
ALL
#找到這一行
%group_p 192.168.56.130=(root)
/sbin/shutdown -h -5
#表示從屬於 group_p 用戶組的 用戶能夠在 192.168.56.130 主機上登陸,以 root 用戶身
份執行/sbin/shutdown -5 now 這個命令
事實上,咱們甚至能夠免除用戶輸入本身密碼的步驟:
## Allow root to run any commands anywhere
root ALL=(ALL)
ALL
#找到這一行
%group_p 192.168.56.130=(root)
NOPASSWD:/sbin/shutdown -h -5
#表示從屬於 group_p 用戶組的 用戶能夠在 192.168.56.130 主機上登陸,以 root 用戶身
份執行/sbin/shutdown -5 now 這個命令,而且無需輸入用戶密碼
注意
雖說若是 sudo 命令容許規定的用戶可以以在許可範圍內以其餘用
戶身份執行規定的命令,
可是它最常仍是用在讓普通用戶可以以 root
身份執行一些命令;
sudo 命令不帶-u 選項,默認爲切換到 root 用戶身份,也即 「sudo
fdisk 」 等價於「su –u root fdisk
---------------------------------------------工具1. 用戶相關配置文件
A) /etc/passwd 文件是什麼
/etc/passwd 是系統識別用戶的一個文件,作個不恰當的比喻,
/etc/passwd 是一個花名冊,系統全部的用戶都在這裏有登陸記載;當咱們以
intern01 這個帳號登陸時,系統首先會查閱 /etc/passwd 文件,看是否有
intern01 這個帳號,而後肯定 intern01 的 UID,經過 UID 來確認用戶和身
份,若是存在則讀取/etc/shadow 影子文件中所對應的 intern01 的密碼;若是
密碼覈實無誤則登陸系統,讀取用戶的配置文件;
B)/etc/passwd 的 7 個字段
在/etc/passwd 中,每一行都表示的是一個用戶的信息;一行有 7 個字
段;每一個字段用:號分割,好比下面是個人系統中的/etc/passwd 的兩行;
intern01:x:500:500:張三:/home/intern01:/bin/bash
intern02:x:501:502::/home/intern02:/bin/bash
第一字段:用戶名,在上面的例子中,咱們看到這兩個用戶的用戶名分別
是 intern01 和 intern02;
第二字段:密碼;在例子中咱們看到的是一個 x,其實密碼已被映射到
/etc/shadow 文件中;
第三字段:UID ;請參看本文的 UID 的解說;
第四字段:GID;請參看本文的 GID 的解說;
第五字段:用戶名全稱,這是可選的,能夠不設置,在 intern01 這個用戶
中,用戶的全稱是張三 ;而 intern02 這個用戶沒有全稱;
第六字段:用戶的家目錄所在位置;intern01 這個用戶是/home/
intern01 ,而 intern02 這個用戶是/home/ intern02 ;
第七字段:用戶所用 SHELL 的類型,intern01 和 intern02 都用的是
bash ;因此爲/bin/bash 。
C)/etc/shadow 文件
/etc/shadow 文件是/etc/passwd 的影子文件,這個文件並不禁
/etc/passwd 而產生的,這兩個文件是應該是對應互補的;shadow 內容包括
用戶及被加密的密碼以及其它/etc/passwd 不能包括的信息,好比用戶的有效
期限等;這個文件只有 root 權限能夠讀取和操做,權限以下:
-r-------- 1 root root 1.5K 10 月 16 09:49 /etc/shadow
/etc/shadow 的權限不能隨便改成其它用戶可讀,這樣作是危險的。若是
你發現這個文件的權限變成了其它用戶組或用戶可讀了,要進行檢查,以防系
統安全問題的發生;若是咱們以普通用戶查看這個文件時,應該什麼也查看不
到,提示是權限不夠:
[intern01@localhost ~]$ more /etc/shadow
/etc/shadow: 權限不夠
D)/etc/shadow 的 9 個字段
/etc/shadow 文件的內容包括 9 個段位,每一個段位之間用:號分割;咱們以
以下的例子說明。
intern01:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:16662:0:99999:7:::
intern02:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:16662:0:99999:7::16668:
第一字段:用戶名(也被稱之爲登陸名),在例子中有兩條記錄,也表示
有兩個用戶 intern01 和 intern02
第二字段:被加密的密碼,若是有的用戶在此字段中是 x,表示這個用戶不
能登陸系統,也能夠看做是虛擬用戶,不過虛擬用戶和真實用戶都是相對
的,系統管理員隨時能夠對任何用戶操做;
第三字段:表示上次更改口令的天數(距 1970 年 01 月 01 日),上面的
例子能說明 intern01 和 intern02 這兩個用戶,是在同一天更改了用戶密
碼,固然是經過 passwd 命令來更改的,更改密碼的時間距 1970 年 01 月
01 日的天數爲 13072;
第四字段:禁用兩次口令修改之間最小天數的功能,設置爲 0
第五字段:兩次修改口令間隔最多的天數,在例子中都是 99999 天;這個
值若是在添加用戶時沒有指定的話,是經過/etc/login.defs 來獲取默認
值,PASS_MAX_DAYS 99999;你能夠查看/etc/login.defs 來查看,具體
的值;
第六字段:提早多少天警告用戶口令將過時;當用戶登陸系統後,系統登
錄程序提醒用戶口令將要做廢;若是是系統默認值,是在添加用戶時由
/etc/login.defs 文件定義中獲取,在 PASS_WARN_AGE 中定義;在例子
中的值是 7 ,表示在用戶口令將過時的前 7 天警告用戶更改期口令;
第七字段:在口令過時以後多少天禁用此用戶;此字段表示用戶口令做廢
多少天后,系統會禁用此用戶,也就是說系統會不能再讓此用戶登陸,也
不會提示用戶過時,是徹底禁用;在例子中,此字段兩個用戶的都是空
的,表示禁用這個功能;
第八字段:用戶過時日期;此字段指定了用戶做廢的天數(從 1970 年的 1
月 1 日開始的天數),若是這個字段的值爲空,賬號永久可用;在例子
中,咱們看到 intern01 這個用戶在此字段是空的,表示此用戶永久可用;
而 intern02 這個用戶表示在距 1970 年 01 月 01 往後 16668 天后過時,算
起來也就是 2010 年 11 月 21 號過時
第九字段:保留字段,目前爲空,以備未來 Linux 發展之用;
2. 用戶組相關配置文件
A) /etc/group 文件
/etc/group 文件是用戶組的配置文件,內容包括用戶和用戶組,而且能顯
示出用戶是歸屬哪一個用戶組或哪幾個用戶組,由於一個用戶能夠歸屬一個或多
個不一樣的用戶組;同一用戶組的用戶之間具備類似的特徵。好比咱們把某一用
戶加入到 root 用戶組,那麼這個用戶就能夠瀏覽 root 用戶家目錄的文件,若是
root 用戶把某個文件的組讀寫執行權限開放,root 用戶組的全部用戶均可以修
改此文件,若是是可執行的文件(好比腳本),root 用戶組的用戶也是能夠執
行的;
用戶組的特性在系統管理中爲系統管理員提供了極大的方便,但安全性也
是值得關注的,如某個用戶下有對系統管理有最重要的內容,最好讓用戶擁有
獨立的用戶組,或者是把用戶下的文件的權限設置爲徹底私有;另外 root 用戶
組通常不要輕易把普通用戶加入進去。
B)/etc/group 的 4 個字段
/etc/group 的內容包括用戶組(Group)、用戶組口令、GID 及該用戶組
所包含的用戶(User),每一個用戶組一條記錄;格式以下:
group_name:passwd:GID:user_list
在/etc/group 中的每條記錄分四個字段:
第一字段:用戶組名稱;
第二字段:用戶組密碼;
第三字段:GID
第四字段:用戶列表,每一個用戶之間用,號分割;本字段能夠爲空;若是字
段爲空表示用戶組爲 GID 的用戶名;
咱們舉個例子:
root:x:0:root,intern02
#用戶組 root,x 是密碼段,表示沒有設置密碼,GID 是 0,root 用戶組下包括 root、intern02
以及 GID 爲 0 的其它用戶(能夠經過/etc/passwd 查看)
intern01:x:500:intern02
#用戶組 intern01,x 是密碼段,表示沒有設置密碼,GID 是 500,intern01 用戶組下包括
intern02 用戶及 GID 爲 500 的用戶(能夠經過/etc/passwd 查看)
intern02:x:502:intern02
#用戶組 intern02,x 是密碼段,表示沒有設置密碼,GID 是 502,intern02 用戶組下包用戶
intern02 及 GID 爲 502 的用戶(能夠經過/etc/passwd 查看)
helloer:x:503:
#用戶組 helloer,x 是密碼段,表示沒有設置密碼,GID 是 503,helloer 用戶組下包括 GID
爲 503 的用戶,能夠經過/etc/passwd 查看
而/etc/passwd 對應的相關的記錄爲:
root:x:0:0:root:/root:/bin/bash
intern01:x:500:500:intern01 sun:/home/intern01:/bin/bash
intern02:x:505:502:intern02 open,intern02 office,13898667715:/home/intern02:/bin/bash
helloer:x:502:503::/home/helloer:/bin/bash
由此能夠看出 helloer 用戶組包括 helloer 用戶;因此咱們查看一個用戶組
所擁有的用戶,能夠經過對比/etc/passwd 和/etc/group 來獲得。
C)/etc/gshadow 文件
/etc/gshadow 是/etc/group 的加密文件,好比用戶組(Group)管理密碼
就是存放在這個文件。/etc/gshadow 和/etc/group 是互補的兩個文件;對於
大型服務器,針對不少用戶和組,定製一些關係結構比較複雜的權限模型,設
置用戶組密碼是極有必要的。好比咱們不想讓一些非用戶組成員永久擁有用戶
組的權限和特性,這時咱們能夠經過密碼驗證的方式來讓某些用戶臨時擁有一
些用戶組特性,這時就要用到用戶組密碼。
D)/etc/gshadow 的 4 個字段
/etc/gshadow 格式以下,每一個用戶組獨佔一行,咱們舉例來講明:
intern01:!::intern02
intern02:oUS/q7NH75RhQ::intern02
第一字段:用戶組名
第二字段:用戶組的密碼,intern01 用戶組無密碼;intern02 用戶組有已
經,已經加密;
第三字段:用戶組管理者,二者都爲空;
第四字段:intern01 用戶組所擁有的成員是 intern02 ,而後還要對照一下
/etc/group 和/etc/passwd 查看是否還有其它用戶,通常默認添加的用
戶,有時同時也會建立用戶組和用戶名同名稱; intern02 用戶組有成員
intern02
加密