Linux CentOS7 用戶(hù)組管理方式
Linux操作系統(tǒng)基于多用戶(hù)的設(shè)計(jì)理念,允許多個(gè)用戶(hù)同時(shí)使用系統(tǒng)資源。
用戶(hù)是登錄系統(tǒng)并使用系統(tǒng)資源的個(gè)體,其都有自己的賬戶(hù)和密碼。用戶(hù)組是將眾多用戶(hù)歸類(lèi)為一組。
Linux中的用戶(hù)和用戶(hù)組是系統(tǒng)安全和權(quán)限管理的基礎(chǔ)。本文將探討Linux中用戶(hù)組的創(chuàng)建和管理。
關(guān)于用戶(hù)的創(chuàng)建與管理是最基本的操作,用戶(hù)組的刪除與修改等,不在本文討論之列。
我們將從用戶(hù)組(有時(shí)簡(jiǎn)稱(chēng)組)的創(chuàng)建與查詢(xún)開(kāi)始討論。
一、創(chuàng)建組
新安裝的centos7系統(tǒng)中,默認(rèn)存在的組是root組,及其系統(tǒng)組(如bin、sys、Ip、tty、mem等)。

組ID用gid表示,與uid自動(dòng)編號(hào)相同,系統(tǒng)id小于1000,普通組(與普通用戶(hù))id將從1000開(kāi)始編號(hào),添加一個(gè)新用戶(hù),編號(hào)自動(dòng)加1。
如果設(shè)置uid(或gid)為2000,新用戶(hù)將在此基礎(chǔ)自動(dòng)加1進(jìn)行編號(hào)。
如果重設(shè)一用戶(hù)gid為1500,新用戶(hù)仍然在原來(lái)的基礎(chǔ)上(2000)自動(dòng)加1。
1.單獨(dú)創(chuàng)建
groupadd 組名
-g 指定用戶(hù)組的gid

2.由創(chuàng)建用戶(hù)產(chǎn)生
useradd 用戶(hù)名
-g 指定用戶(hù)組的gid/組名

-G 指定用戶(hù)附加組名/gid,多個(gè)組時(shí)用逗號(hào)分開(kāi)

二、組操作
對(duì)用戶(hù)組的常用操作包括:設(shè)置組密碼、為組指定一名或多名管理員、添加其他用戶(hù)到組內(nèi)、把不合適的組成員刪除等。
不常見(jiàn)操作有對(duì)用戶(hù)組的刪除groupdel和對(duì)用戶(hù)組的修改groupmod。
1.指定管理員
gpasswd -A 用戶(hù)名 組名
如把tangseng(唐僧)設(shè)為組管理員
gpasswd -A tangseng tangseng
2.添加成員
在用戶(hù)組中添加成員有兩種方式:root管理員或組管理員
a.由root添加成員
把用戶(hù)zhang、wang和zhao添加到tangseng組中
(1)把tangseng組作為主組

(2)把tangseng組作為附加組

b.由組管理員添加成員
基本語(yǔ)法:
gpasswd -a 用戶(hù)名 組名
本案例由組管理員tangseng把tang、song和ming添加到tangseng
su - tangseng gpasswd -a tang tangseng

gpasswd -a song tangseng gpasswd -a ming tangseng
3.刪除成員
a. 由root刪除成員
gpasswd -d 用戶(hù)名 組名
本案例中把由root管理員把song組員從tangseng組中刪除

b.由管理員刪除組成員
基本語(yǔ)法:
gpasswd -d 用戶(hù)名 組名
本案例中把由組管理員tangseng把ming組員刪除
gpasswd -d ming tangseng

三、查看組
1.查看用戶(hù)屬于組
a.groups
由命令groups用戶(hù)名 查看用戶(hù)屬于哪些組

由上圖可知:tangseng只屬于tangseng組,而tang屬于三個(gè)組tang、class1和tangseng。
在這三個(gè)組中,tang這個(gè)組是tang用戶(hù)的主組,而class1和tangseng是附加組。
b./etc/group
由組文件查看組及組成員

由上圖可知:第1列是組名,第四列含有用戶(hù)名的,是第1列組的成員。
class1有三個(gè)成員,wukong組和wuneng組都含有成員baigujing,tangseng組中含有四個(gè)成員。
c.id
由id -g用戶(hù)名 查看用戶(hù)的組信息

2.查看組中成員
getent group 組名

由上圖可以該組中有四名成員
getent --help
可以查看命令getent的幫助信息。

四、切換組
在Linux系統(tǒng)中,可以通過(guò)用戶(hù)修改,把其主組改變?yōu)槠渌M。
原來(lái)的主組將不存在,其附加組中也沒(méi)有了改變前的組。
而通過(guò)newgrp命令,把附加組中的某一個(gè)組切換為主組,不改變用戶(hù)所占有的組。
1.usermod
我們以用戶(hù)tang為例,驗(yàn)證改變tang的主組之前后變化
a.查tang主組

由上圖可知:tang主組是tang,其gid為5018
b.改變tang主組為class1
usermod -g class1 tang
c.驗(yàn)證tang主組變化

通過(guò)改變主組,可看到gid由原來(lái)的5018變?yōu)楝F(xiàn)在的5022,組名由原來(lái)的tang變?yōu)楝F(xiàn)在的class1。
2.newgrp
常用的用戶(hù)組之間切換命令是newgrp。通過(guò)該命令,可以讓用戶(hù)從附加組中選擇一個(gè)作為其新的主組。
newgrp命令的基本語(yǔ)法如下:
newgrp [選項(xiàng)] [組名]
其中,組名為要切換到的用戶(hù)組名稱(chēng)。如果在命令行上沒(méi)有指定組名,則默認(rèn)將會(huì)進(jìn)入當(dāng)前登錄用戶(hù)的主組。
切換原理與功能
一個(gè)用戶(hù)有多個(gè)附加組時(shí),通過(guò)newgrp切換,把原主組與某一附加組交換:原主組成為附加組,某一附加組成為主組。
下面的案例,我們以wukong為例,進(jìn)行操作。
a.切換前信息
切換前查看用戶(hù)的主組與附加組,可看到gid所標(biāo)志的,就是當(dāng)前主組
主要查看方法:
- (1)id 用戶(hù)名
- (2)getent group 組名
- (3)cat /etc/passwd |grep "用戶(hù)名"
- (4)cat /etc/group |grep "組名"

上圖是切換主組前的相關(guān)信息。我們切換用戶(hù)wukong,在其家目錄中創(chuàng)建目錄及文件

b.切換
進(jìn)行切換newgrp 附加組名
newgrp xiyou
c.驗(yàn)證
再次查看組信息

由上圖可以看到切換前后的變化:用戶(hù)在哪個(gè)組中,創(chuàng)建普通文件與目錄時(shí),所屬組就是哪個(gè)組。
由此也可觀察到所屬組的變化是臨時(shí)性的,退出切換組狀態(tài),仍保持原來(lái)的所屬組
五、組權(quán)限
gpasswd的幫助

1.設(shè)密碼
gpasswd 組名
2.用戶(hù)組的權(quán)限管理
文件權(quán)限:Linux中的每個(gè)文件和目錄都有所屬用戶(hù)和所屬用戶(hù)組,通過(guò)文件權(quán)限可以控制用戶(hù)對(duì)文件的訪(fǎng)問(wèn)權(quán)限。文件權(quán)限包括讀取(r)、寫(xiě)入(w)和執(zhí)行(x)權(quán)限,分別對(duì)應(yīng)數(shù)字表示為4、2和1。通過(guò)chmod命令可以修改文件權(quán)限。
- 文件所屬組:每個(gè)文件都有一個(gè)所有者和一個(gè)所屬組,所有者是文件創(chuàng)建者的用戶(hù),所屬組是所有者所屬的用戶(hù)組。通過(guò)chown和chgrp命令可以修改文件的所有者和所屬組。
- 特殊權(quán)限:除了基本的文件權(quán)限外,Linux還支持一些特殊權(quán)限,如SetUID、SetGID和Sticky Bit。SetUID權(quán)限允許用戶(hù)在執(zhí)行程序時(shí)以程序所有者的權(quán)限執(zhí)行,SetGID權(quán)限允許用戶(hù)在執(zhí)行程序時(shí)以程序所屬組的權(quán)限執(zhí)行,Sticky Bit權(quán)限用于限制對(duì)某些目錄的刪除操作。
- 用戶(hù)和組的關(guān)系:用戶(hù)和用戶(hù)組之間有一對(duì)多的關(guān)系,一個(gè)用戶(hù)可以同時(shí)屬于多個(gè)用戶(hù)組。用戶(hù)組可以通過(guò)文件權(quán)限和ACL(訪(fǎng)問(wèn)控制列表)來(lái)控制對(duì)文件的訪(fǎng)問(wèn)權(quán)限。
系統(tǒng)安全性
- a.資源隔離:通過(guò)將用戶(hù)分配到不同的用戶(hù)組,可以實(shí)現(xiàn)資源的隔離。不同用戶(hù)組之間的文件和目錄權(quán)限可以相互獨(dú)立,從而防止用戶(hù)越權(quán)訪(fǎng)問(wèn)和修改資源。
- b.訪(fǎng)問(wèn)控制:通過(guò)用戶(hù)和用戶(hù)組的管理,可以實(shí)現(xiàn)對(duì)系統(tǒng)資源的精細(xì)控制。管理員可以根據(jù)需要為不同用戶(hù)和用戶(hù)組分配不同的權(quán)限,從而限制用戶(hù)對(duì)系統(tǒng)資源的訪(fǎng)問(wèn)。
- c.安全審計(jì):用戶(hù)和用戶(hù)組的管理可以為系統(tǒng)安全審計(jì)提供重要依據(jù)。通過(guò)記錄和監(jiān)控用戶(hù)和用戶(hù)組的活動(dòng),可以及時(shí)發(fā)現(xiàn)異常行為和安全威脅。
- d.用戶(hù)認(rèn)證:用戶(hù)和用戶(hù)組的管理是系統(tǒng)認(rèn)證和授權(quán)的基礎(chǔ)。通過(guò)用戶(hù)和用戶(hù)組的管理,可以實(shí)現(xiàn)用戶(hù)的身份驗(yàn)證和權(quán)限控制,保障系統(tǒng)的安全性。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Linux進(jìn)程間通信方式及優(yōu)缺點(diǎn)
這篇文章主要介紹了淺談Linux進(jìn)程間通信方式及優(yōu)缺點(diǎn),具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
Linux centos如何讓普通用戶(hù)獲取root權(quán)限
這篇文章主要介紹了Linux centos如何讓普通用戶(hù)獲取root權(quán)限問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
centos 6.9 升級(jí)glibc動(dòng)態(tài)庫(kù)的詳細(xì)過(guò)程
glibc是gnu發(fā)布的libc庫(kù),即c運(yùn)行庫(kù),glibc是linux系統(tǒng)中最底層的api,幾乎其它任何運(yùn)行庫(kù)都會(huì)依賴(lài)于glibc。這篇文章主要介紹了centos 6.9 升級(jí)glibc動(dòng)態(tài)庫(kù)的詳細(xì)過(guò)程,需要的朋友可以參考下2019-11-11
Linux CentOS 7.0中java安裝與配置環(huán)境變量的步驟詳解
這篇文章主要給大家分享介紹了關(guān)于Linux CentOS 7.0中java安裝與配置環(huán)境變量的相關(guān)資料,文中通過(guò)示例代碼將安裝與配置的過(guò)程介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Linux內(nèi)核的死鎖檢測(cè)工具—Lockdep的使用案例
文章主要介紹了Linux內(nèi)核中的死鎖問(wèn)題,包括死鎖的類(lèi)型(遞歸死鎖和AB-BA死鎖)、lockdep模塊的使用方法以及實(shí)際項(xiàng)目中的死鎖案例,通過(guò)lockdep模塊,可以有效地跟蹤和調(diào)試死鎖問(wèn)題,幫助開(kāi)發(fā)者快速定位和解決問(wèn)題2024-11-11
Linux系統(tǒng)設(shè)置開(kāi)機(jī)自動(dòng)運(yùn)行腳本的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)設(shè)置開(kāi)機(jī)自動(dòng)運(yùn)行腳本的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
crontab定時(shí)任務(wù)不執(zhí)行的一些原因總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于crontab定時(shí)任務(wù)不執(zhí)行的一些原因,對(duì)每種可能發(fā)生的原因都給出了解決方法,對(duì)遇到這個(gè)問(wèn)題的朋友們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01

