Linux CentOS7 用戶組管理方式
Linux操作系統(tǒng)基于多用戶的設(shè)計理念,允許多個用戶同時使用系統(tǒng)資源。
用戶是登錄系統(tǒng)并使用系統(tǒng)資源的個體,其都有自己的賬戶和密碼。用戶組是將眾多用戶歸類為一組。
Linux中的用戶和用戶組是系統(tǒng)安全和權(quán)限管理的基礎(chǔ)。本文將探討Linux中用戶組的創(chuàng)建和管理。
關(guān)于用戶的創(chuàng)建與管理是最基本的操作,用戶組的刪除與修改等,不在本文討論之列。
我們將從用戶組(有時簡稱組)的創(chuàng)建與查詢開始討論。
一、創(chuàng)建組
新安裝的centos7系統(tǒng)中,默認(rèn)存在的組是root組,及其系統(tǒng)組(如bin、sys、Ip、tty、mem等)。
組ID用gid表示,與uid自動編號相同,系統(tǒng)id小于1000,普通組(與普通用戶)id將從1000開始編號,添加一個新用戶,編號自動加1。
如果設(shè)置uid(或gid)為2000,新用戶將在此基礎(chǔ)自動加1進(jìn)行編號。
如果重設(shè)一用戶gid為1500,新用戶仍然在原來的基礎(chǔ)上(2000)自動加1。
1.單獨創(chuàng)建
groupadd 組名
-g 指定用戶組的gid
2.由創(chuàng)建用戶產(chǎn)生
useradd 用戶名
-g 指定用戶組的gid/組名
-G 指定用戶附加組名/gid,多個組時用逗號分開
二、組操作
對用戶組的常用操作包括:設(shè)置組密碼、為組指定一名或多名管理員、添加其他用戶到組內(nèi)、把不合適的組成員刪除等。
不常見操作有對用戶組的刪除groupdel和對用戶組的修改groupmod。
1.指定管理員
gpasswd -A 用戶名 組名
如把tangseng(唐僧)設(shè)為組管理員
gpasswd -A tangseng tangseng
2.添加成員
在用戶組中添加成員有兩種方式:root管理員或組管理員
a.由root添加成員
把用戶zhang、wang和zhao添加到tangseng組中
(1)把tangseng組作為主組
(2)把tangseng組作為附加組
b.由組管理員添加成員
基本語法:
gpasswd -a 用戶名 組名
本案例由組管理員tangseng把tang、song和ming添加到tangseng
su - tangseng gpasswd -a tang tangseng
gpasswd -a song tangseng gpasswd -a ming tangseng
3.刪除成員
a. 由root刪除成員
gpasswd -d 用戶名 組名
本案例中把由root管理員把song組員從tangseng組中刪除
b.由管理員刪除組成員
基本語法:
gpasswd -d 用戶名 組名
本案例中把由組管理員tangseng把ming組員刪除
gpasswd -d ming tangseng
三、查看組
1.查看用戶屬于組
a.groups
由命令groups用戶名 查看用戶屬于哪些組
由上圖可知:tangseng只屬于tangseng組,而tang屬于三個組tang、class1和tangseng。
在這三個組中,tang這個組是tang用戶的主組,而class1和tangseng是附加組。
b./etc/group
由組文件查看組及組成員
由上圖可知:第1列是組名,第四列含有用戶名的,是第1列組的成員。
class1有三個成員,wukong組和wuneng組都含有成員baigujing,tangseng組中含有四個成員。
c.id
由id -g用戶名 查看用戶的組信息
2.查看組中成員
getent group 組名
由上圖可以該組中有四名成員
getent --help
可以查看命令getent的幫助信息。
四、切換組
在Linux系統(tǒng)中,可以通過用戶修改,把其主組改變?yōu)槠渌M。
原來的主組將不存在,其附加組中也沒有了改變前的組。
而通過newgrp命令,把附加組中的某一個組切換為主組,不改變用戶所占有的組。
1.usermod
我們以用戶tang為例,驗證改變tang的主組之前后變化
a.查tang主組
由上圖可知:tang主組是tang,其gid為5018
b.改變tang主組為class1
usermod -g class1 tang
c.驗證tang主組變化
通過改變主組,可看到gid由原來的5018變?yōu)楝F(xiàn)在的5022,組名由原來的tang變?yōu)楝F(xiàn)在的class1。
2.newgrp
常用的用戶組之間切換命令是newgrp。通過該命令,可以讓用戶從附加組中選擇一個作為其新的主組。
newgrp命令的基本語法如下:
newgrp [選項] [組名]
其中,組名為要切換到的用戶組名稱。如果在命令行上沒有指定組名,則默認(rèn)將會進(jìn)入當(dāng)前登錄用戶的主組。
切換原理與功能
一個用戶有多個附加組時,通過newgrp切換,把原主組與某一附加組交換:原主組成為附加組,某一附加組成為主組。
下面的案例,我們以wukong為例,進(jìn)行操作。
a.切換前信息
切換前查看用戶的主組與附加組,可看到gid所標(biāo)志的,就是當(dāng)前主組
主要查看方法:
- (1)id 用戶名
- (2)getent group 組名
- (3)cat /etc/passwd |grep "用戶名"
- (4)cat /etc/group |grep "組名"
上圖是切換主組前的相關(guān)信息。我們切換用戶wukong,在其家目錄中創(chuàng)建目錄及文件
b.切換
進(jìn)行切換newgrp 附加組名
newgrp xiyou
c.驗證
再次查看組信息
由上圖可以看到切換前后的變化:用戶在哪個組中,創(chuàng)建普通文件與目錄時,所屬組就是哪個組。
由此也可觀察到所屬組的變化是臨時性的,退出切換組狀態(tài),仍保持原來的所屬組
五、組權(quán)限
gpasswd的幫助
1.設(shè)密碼
gpasswd 組名
2.用戶組的權(quán)限管理
文件權(quán)限:Linux中的每個文件和目錄都有所屬用戶和所屬用戶組,通過文件權(quán)限可以控制用戶對文件的訪問權(quán)限。文件權(quán)限包括讀?。╮)、寫入(w)和執(zhí)行(x)權(quán)限,分別對應(yīng)數(shù)字表示為4、2和1。通過chmod命令可以修改文件權(quán)限。
- 文件所屬組:每個文件都有一個所有者和一個所屬組,所有者是文件創(chuàng)建者的用戶,所屬組是所有者所屬的用戶組。通過chown和chgrp命令可以修改文件的所有者和所屬組。
- 特殊權(quán)限:除了基本的文件權(quán)限外,Linux還支持一些特殊權(quán)限,如SetUID、SetGID和Sticky Bit。SetUID權(quán)限允許用戶在執(zhí)行程序時以程序所有者的權(quán)限執(zhí)行,SetGID權(quán)限允許用戶在執(zhí)行程序時以程序所屬組的權(quán)限執(zhí)行,Sticky Bit權(quán)限用于限制對某些目錄的刪除操作。
- 用戶和組的關(guān)系:用戶和用戶組之間有一對多的關(guān)系,一個用戶可以同時屬于多個用戶組。用戶組可以通過文件權(quán)限和ACL(訪問控制列表)來控制對文件的訪問權(quán)限。
系統(tǒng)安全性
- a.資源隔離:通過將用戶分配到不同的用戶組,可以實現(xiàn)資源的隔離。不同用戶組之間的文件和目錄權(quán)限可以相互獨立,從而防止用戶越權(quán)訪問和修改資源。
- b.訪問控制:通過用戶和用戶組的管理,可以實現(xiàn)對系統(tǒng)資源的精細(xì)控制。管理員可以根據(jù)需要為不同用戶和用戶組分配不同的權(quán)限,從而限制用戶對系統(tǒng)資源的訪問。
- c.安全審計:用戶和用戶組的管理可以為系統(tǒng)安全審計提供重要依據(jù)。通過記錄和監(jiān)控用戶和用戶組的活動,可以及時發(fā)現(xiàn)異常行為和安全威脅。
- d.用戶認(rèn)證:用戶和用戶組的管理是系統(tǒng)認(rèn)證和授權(quán)的基礎(chǔ)。通過用戶和用戶組的管理,可以實現(xiàn)用戶的身份驗證和權(quán)限控制,保障系統(tǒng)的安全性。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux centos如何讓普通用戶獲取root權(quán)限
這篇文章主要介紹了Linux centos如何讓普通用戶獲取root權(quán)限問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05centos 6.9 升級glibc動態(tài)庫的詳細(xì)過程
glibc是gnu發(fā)布的libc庫,即c運行庫,glibc是linux系統(tǒng)中最底層的api,幾乎其它任何運行庫都會依賴于glibc。這篇文章主要介紹了centos 6.9 升級glibc動態(tài)庫的詳細(xì)過程,需要的朋友可以參考下2019-11-11Linux CentOS 7.0中java安裝與配置環(huán)境變量的步驟詳解
這篇文章主要給大家分享介紹了關(guān)于Linux CentOS 7.0中java安裝與配置環(huán)境變量的相關(guān)資料,文中通過示例代碼將安裝與配置的過程介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07Linux內(nèi)核的死鎖檢測工具—Lockdep的使用案例
文章主要介紹了Linux內(nèi)核中的死鎖問題,包括死鎖的類型(遞歸死鎖和AB-BA死鎖)、lockdep模塊的使用方法以及實際項目中的死鎖案例,通過lockdep模塊,可以有效地跟蹤和調(diào)試死鎖問題,幫助開發(fā)者快速定位和解決問題2024-11-11Linux系統(tǒng)設(shè)置開機(jī)自動運行腳本的方法實例
這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)設(shè)置開機(jī)自動運行腳本的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06crontab定時任務(wù)不執(zhí)行的一些原因總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于crontab定時任務(wù)不執(zhí)行的一些原因,對每種可能發(fā)生的原因都給出了解決方法,對遇到這個問題的朋友們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01