Linux中每個(gè)用戶都要屬于一個(gè)或多個(gè)組,有了用戶組,就可以將用戶添加到組中,這樣就方便管理員對(duì)用戶的集中管理。 Linux系統(tǒng)中用戶組分為root組、系統(tǒng)組、普通用戶組三類。當(dāng)一個(gè)用戶屬于多個(gè)組時(shí),這些組中只能有一個(gè)作為該用戶的主屬組,其他組就被稱為此用戶的次屬組。 組基本信息在文件/etc/group中;組密碼信息在文件/etc/gshadow中。通過(guò)命令:cat /etc/group、cat /etc/gshadow可查看文件內(nèi)容。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的甘南網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
各用戶組中,以 ":" 作為字段之間的分隔符,分為 4 個(gè)字段,每個(gè)字段對(duì)應(yīng)的含義為:
組名:密碼:GID:該用戶組中的用戶列表
而在gshadow文件中,每行代表一個(gè)組用戶的密碼信息,各行信息用 ":" 作為分隔符,分為 4 個(gè)字段,每個(gè)字段的含義如下:
組名:加密密碼:組管理員:組附加用戶列表
root用戶可以直接修改/etc/group文件達(dá)到管理組的目的,也可以使用以下命令:groupadd、groupdel、groupmod -n、gpasswd -a、gpasswd -d、newgrp。
下面使用案例分別講解這些命令:
添加用戶組的命令是 groupadd,命令格式如下:
groupadd? [ -g gid? [ -o ] ]? [ -r ]? [ -f ]? group
參數(shù)說(shuō)明:
-g:指定新建工作組的 id;
-r:創(chuàng)建系統(tǒng)工作組,系統(tǒng)工作組的組ID小于 500;
-K:覆蓋配置文件 "/ect/login.defs";
-o:允許添加組 ID 號(hào)不唯一的工作組。
-f,--force: 如果指定的組已經(jīng)存在,此選項(xiàng)將失明了僅以成功狀態(tài)退出。當(dāng)與 -g 一起使用,并且指定的GID_MIN已經(jīng)存在時(shí),選擇另一個(gè)唯一的GID(即-g關(guān)閉)。
示例:創(chuàng)建一個(gè)新的組,并添加組 ID。
[root@VM-4-4-centos ~]# groupadd? -g? 888? newgroup
此時(shí)在/etc/group文件中產(chǎn)生了一個(gè)id為888的項(xiàng)目:
刪除用戶組時(shí),可用groupdel(group delete)指令來(lái)完成。倘若該組中仍包括某些用戶,則必須先刪除這些用戶后,方能刪除組。 注意:刪除的組不能為主屬組! 命令格式:
groupdel? [組名]? ? ? ? ?
示例:刪除用戶組 newgroup
[root@VM-4-4-centos ~]# groupdel? newgroup
此時(shí)再查看/etc/group文件時(shí)可以看到用戶組newgroup已經(jīng)不存在,刪除成功!
要更改用戶組識(shí)別碼或名稱可使用 groupmod 來(lái)完成。命令格式:
groupmod? [ -g? 群組識(shí)別碼? -o ] [ -n? 新群組名稱 ] [原群組名稱]
參數(shù)說(shuō)明 :
-g 群組識(shí)別碼 設(shè)置欲使用的群組識(shí)別碼。
-o 重復(fù)使用群組識(shí)別碼。
-n 新群組名稱 設(shè)置欲使用的群組名稱。
示例:創(chuàng)建用戶組newgroup并修改其名稱為modifiedgroup
[root@VM-4-4-centos ~]# groupadd? newgroup
[root@VM-4-4-centos ~]# groupmod? -n? modifiedgroup? newgroup
查看/etc/group文件,只存在名稱為modifiedgroup的用戶組,修改成功!
gpasswd 是 Linux 下工作組文件 /etc/group 和 /etc/gshadow 管理工具,用于將一個(gè)用戶添加到組或者從組中刪除。命令格式:
gpasswd? [可選項(xiàng)]? 組名
可選項(xiàng)參數(shù) :
-a:添加用戶到組;
-d:從組刪除用戶;
-A:指定管理員;
-M:指定組成員和-A的用途差不多;
-r:刪除密碼;
-R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組。
示例1:將用戶yangwei添加到組modifiedgroup中
[root@VM-4-4-centos ~]# gpasswd? -a? yangwei? modifiedgroup
此時(shí)查看/etc/group文件發(fā)現(xiàn)組?modifiedgroup中出現(xiàn)用戶yangwei
示例2:將用戶yangwei從組modifiedgroup中給刪除
[root@VM-4-4-centos ~]# gpasswd? -d? yangwei? modifiedgroup
再次查看/etc/group文件發(fā)現(xiàn)用戶yangwei已經(jīng)不存在。
當(dāng)需要在不同的群組下工作的時(shí)候我們需要進(jìn)行切換群組操作,這個(gè)操作由newgrp指令來(lái)完成。命令格式如下:
newgrp [群組名稱]
注意!當(dāng)前用戶必須都是兩個(gè)群組的成員,否則切換群組時(shí)需要輸入切換組的組密碼,這時(shí)候當(dāng)前用戶作為臨時(shí)成員在切換組下工作,所創(chuàng)建的文件全都屬于切換組。
示例1:用戶yangwei不屬于群組modifiedgroup,請(qǐng)將當(dāng)前工作組切換為modifiedgroup。
示例2:將用戶yangwei添加到組modifiedgroup中,并切換工作組為modifiedgroup。
總結(jié):Linux用戶組管理需要掌握最基本的幾個(gè)命令及其選項(xiàng)參數(shù): groupadd 、groupdel 、groupmod 、gpasswd 、newgrp !
linux一條命令不能創(chuàng)建多個(gè)用戶組。Linux中創(chuàng)建用戶組的命令是groupadd,這個(gè)命令只能創(chuàng)建一個(gè)用戶組。
每個(gè)用戶都有一個(gè)用戶組,系統(tǒng)可以對(duì)一個(gè)用戶組中的所有用戶進(jìn)行集中管理。不同Linux系統(tǒng)對(duì)用戶組的規(guī)定有所不同,如Linux下的用戶屬于與它同名的用戶組,這個(gè)用戶組在創(chuàng)建用戶時(shí)同時(shí)創(chuàng)建。
用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實(shí)際上就是對(duì)/etc/group文件的更新。
1、增加一個(gè)新的用戶組使用groupadd命令。其格式如下:
代碼:
groupadd選項(xiàng)用戶組
可以使用的選項(xiàng)有:
代碼:
-gGID指定新用戶組的組標(biāo)識(shí)號(hào)(GID)。
-o一般與-g選項(xiàng)同時(shí)使用,表示新用戶組的GID可以與系統(tǒng)已有用戶組的GID相同。
例1:代碼:#groupaddgroup1
此命令向系統(tǒng)中增加了一個(gè)新組group1,新組的組標(biāo)識(shí)號(hào)是在當(dāng)前已有最大組標(biāo)識(shí)號(hào)基礎(chǔ)上加1。
例2:代碼:#groupadd-g101group2
此命令向系統(tǒng)中增加了一個(gè)新組group2,同時(shí)指定新組的組標(biāo)識(shí)號(hào)是101。
2、如果要?jiǎng)h除一個(gè)已有的用戶組,使用groupdel命令。其格式如下:
代碼:
groupdel用戶組
例如:代碼:#groupdelgroup1
此命令從系統(tǒng)中刪除組group1。
3、修改用戶組的屬性使用groupmod命令。其語(yǔ)法如下:
代碼:
groupmod選項(xiàng)用戶組
常用的選項(xiàng)有:
代碼:
-gGID為用戶組指定新的組標(biāo)識(shí)號(hào)。
-o與-g選項(xiàng)同時(shí)使用,用戶組的新GID可以與系統(tǒng)已有用戶組的GID相同。
-n新用戶組將用戶組的名字改為新名字
例1:代碼:#groupmod-g102group2
此命令將組group2的組標(biāo)識(shí)號(hào)修改為102。
例2:代碼:#groupmod_g10000-ngroup3group2
此命令將組group2的標(biāo)識(shí)號(hào)改為10000,組名修改為group3。
4、如果一個(gè)用戶同時(shí)屬于多個(gè)用戶組,那么用戶可以在用戶組之間切換,以便具有其他用戶組的權(quán)限。用戶可以在登錄后,使用命令newgrp切換到其他用戶組,這個(gè)命令的參數(shù)就是目的用戶組。例如:代碼:$newgrproot
這條命令將當(dāng)前用戶切換到root用戶組,前提條件是root用戶組確實(shí)是該用戶的主組或附加組。類似于用戶賬號(hào)的管理,用戶組的管理也可以通過(guò)集成的系統(tǒng)管理工具來(lái)完成。
Linux系統(tǒng)使用一個(gè)專門的文件將用戶的登錄名匹配到對(duì)應(yīng)的UID值,這個(gè)文件就是/etc/passwd文件,它包含了一些與用戶有關(guān)的關(guān)鍵信息
root用戶賬戶是Linux系統(tǒng)的管理員,固定分配給他的UID是0。Linux系統(tǒng)會(huì)為各種功能創(chuàng)建不同的賬戶,而這些賬戶并不是真的用戶,叫做系統(tǒng)賬戶
/etc/passwd文件文件中的密碼字段都被設(shè)置成了x,這并不是說(shuō)所有用戶賬戶都用相同的密碼,而密碼都被保存在另一個(gè)叫/etc/shadow的文件中,這需要特殊的程序才能訪問(wèn)
/etc/passwd是一個(gè)標(biāo)準(zhǔn)的文本文件,但是不建議用編輯器直接修改其內(nèi)容
/etc/shadow文件對(duì)Linux系統(tǒng)密碼提供了更多的控制,只有root用戶才能訪問(wèn)/etc/shadow文件,這讓它比/etc/passwd安全許多
他一共有九個(gè)字段
1、與/etc/passwd文件中登錄名對(duì)應(yīng)字段的登錄名
2、加密后的密碼
3、上次修改密碼后過(guò)去多少天
4、多少天后才能修改密碼
5、多少天后必須修改密碼
6、密碼過(guò)期提前多少天通知用戶
7、密碼過(guò)期后多少天禁用用戶賬戶
8、用戶賬戶被禁用的日期
9、預(yù)留字段
/etc/group文件包含了系統(tǒng)上用到的每個(gè)組的信息和UID一樣,GID也使用相同的格式,并從500開(kāi)始分配
主目錄 :用戶的起始工作目錄,用戶登錄后有操作權(quán)限的訪問(wèn)目錄
注釋性描述 :這個(gè)字段并沒(méi)有什么實(shí)際的用途。在不同的Linux 系統(tǒng)中,這個(gè)字段的格式并沒(méi)有統(tǒng)一。在許多Linux系統(tǒng)中,這個(gè)字段存放的是一段任意的注釋性描述文字,用做finger命令的輸出。
登陸shell :用戶登錄后,要啟動(dòng)一個(gè)進(jìn)程,負(fù)責(zé)將用戶的操作傳給內(nèi)核,這個(gè)進(jìn)程是用戶登錄到系統(tǒng)后運(yùn)行的命令解釋器或某個(gè)特定的程序,即Shell。
newgrp 指令類似 login 指令,當(dāng)它是以相同的帳號(hào),另一個(gè)群組名稱,再次登入系統(tǒng)。 newgrp 命令可以從用戶的附加組中選擇一個(gè)群組,作為用戶新的初始組。 欲使用 newgrp 指令切換群組,您必須是該群組的用戶,否則將無(wú)法登入指定的群組。單一用戶要同時(shí)隸屬多個(gè)群組,需利用交替用戶的設(shè)置。若不指定群組名稱,則 newgrp 指令會(huì)登入該用戶名稱的預(yù)設(shè)群組。
方法一:groups 命令法,groups 命令可以查看某個(gè)用戶所屬的用戶組
只執(zhí)行 groups 命令,可以查看系統(tǒng)當(dāng)前登錄用戶的所屬組
查詢特定用戶的用戶組,在 groups 后面跟用戶名即可
例如:groups root
方法二:查看 /etc/group 法
/etc/group 是用戶組配置文件,可以查看此文件通過(guò) grep 查詢某個(gè)用戶所在的用戶組
例如:
cat /etc/group | grep root
方法三:id 命令法,id 命令也可以查看某個(gè)用戶所屬的用戶組
只執(zhí)行 id 命令,可以查看系統(tǒng)當(dāng)前登錄用戶的用戶組
查詢特定用戶的用戶組,在 id 后面跟用戶名即可
例如:
id root