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)是專業(yè)的福鼎網(wǎng)站建設(shè)公司,福鼎接單;提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行福鼎網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
各用戶組中,以 ":" 作為字段之間的分隔符,分為 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修改用戶所屬組
1、設(shè)置某個(gè)用戶所在組
usermod -g 用戶組 用戶名
注:-g|--gid,修改用戶的gid,該組一定存在
2、把用戶添加進(jìn)入某個(gè)組(s)
usermod -a -G 用戶組 用戶名
注:
-a|--append,把用戶追加到某些組中,僅與-G選項(xiàng)一起使用
-G|--groups,把用戶追加到某些組中,僅與-a選項(xiàng)一起使用
內(nèi)容擴(kuò)展
用戶管理命令
useradd 注:添加用戶
adduser 注:添加用戶
passwd 注:為用戶設(shè)置密碼
usermod 注:修改用戶命令,可以通過(guò)usermod 來(lái)修改登錄名、用戶的家目錄等等;
pwcov 注:同步用戶從/etc/passwd 到/etc/shadow
pwck 注:pwck是校驗(yàn)用戶配置文件/etc/passwd 和/etc/shadow 文件內(nèi)容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創(chuàng)建/etc/passwd ,然后會(huì)刪除 /etc/shadow 文件;
finger 注:查看用戶信息工具
id 注:查看用戶的UID、GID及所歸屬的用戶組
chfn 注:更改用戶信息工具
su 注:用戶切換工具
sudo 注:sudo 是通過(guò)另一個(gè)用戶來(lái)執(zhí)行命令(execute a command as another user),su 是用來(lái)切換用戶,然后通過(guò)切換到的用戶來(lái)完成相應(yīng)的任務(wù),但sudo 能后面直接執(zhí)行命令,比如sudo 不需要root 密碼就可以執(zhí)行root 賦與的執(zhí)行只有root才能執(zhí)行相應(yīng)的命令;但得通過(guò)visudo 來(lái)編輯/etc/sudoers來(lái)實(shí)現(xiàn);
visudo 注:visodo 是編輯 /etc/sudoers 的命令;也可以不用這個(gè)命令,直接用vi 來(lái)編輯 /etc/sudoers 的效果是一樣的;
sudoedit 注:和sudo 功能差不多;
1、打開(kāi)自己的linux系統(tǒng)。
2、接著打開(kāi)“終端”命令窗口。
3、接著修改一個(gè)文件的所有者和組別,首先先看看這個(gè)文件的所屬。
4、接著輸入一下命令chown root music,先修改文件的所有者。注意修改文件的時(shí)候必須在root用戶下。
5、再接著查看文件的所有者是否被修改成功。
6、然后輸入chgrp root music命令,來(lái)修改文件的用戶組。
7、最后再查看一下文件的用戶組也被修改了。
linux怎么修改文件所屬用戶和組
在Linux中,創(chuàng)建一個(gè)文件時(shí),該文件的擁有者都是創(chuàng)建該文件的用戶。該文件用戶可以修改該文件的擁有者及用戶組別;或者在root用戶下,這樣可以修改任何文件的擁有者及用戶組。
而修改文件所屬用戶和組,需要用到chown命令。
chown 命令,可以認(rèn)為是 "change owner" 的縮寫(xiě),主要用于修改文件(或目錄)的所有者,除此之外,這個(gè)命令也可以修改文件(或目錄)的所屬組。
當(dāng)只需要修改所有者時(shí),可使用如下 chown 命令的基本格式:
-R(注意大寫(xiě))選項(xiàng)表示連同子目錄中的所有文件,都更改所有者。
當(dāng)只需要修改所屬組時(shí),可使用如下 chown 命令的基本格式:
如果需要同時(shí)更改所有者和所屬組,chown 命令的基本格式為:
注意,在 chown 命令中,所有者和所屬組中間也可以使用點(diǎn)(.),但會(huì)產(chǎn)生一個(gè)問(wèn)題,如果用戶在設(shè)定賬號(hào)時(shí)加入了小數(shù)點(diǎn)(例如 zhangsan.temp),就會(huì)造成系統(tǒng)誤判。因此,建議大家使用冒號(hào)連接所有者和所屬組。
當(dāng)然,chown 命令也支持單純的修改文件或目錄的所屬組,例如 chown :group install.log 就表示修改 install.log 文件的所屬組,但修改所屬組通常使用 chgrp 命令,因此并不推薦大家使用 chown 命令。
另外需要注意的一點(diǎn)是,使用 chown 命令修改文件或目錄的所有者(或所屬者)時(shí),要保證使用者用戶(或用戶組)存在,否則該命令無(wú)法正確執(zhí)行,會(huì)提示 "invalid user" 或者 "invaild group"。
chown命令的使用示例
1、更改文件的所屬者
首先我們使用ls -l命令來(lái)查看一下文件的所屬,例:
下面我們使用chown命令來(lái)更改該tmpfile文件的所屬者
然后再使用ls -l命令來(lái)查看一下該tmpfile文件的所屬
可以看出:該tmpfile文件的所屬者從“himanshu”變?yōu)榱恕皉oot”
2、更改文件組
通過(guò)chown命令,也可以更改組(文件所屬的組別)。
使用以下命令來(lái)更改文件所屬的組別:
然后使用ls -l命令來(lái)查看一下該tmpfile文件的所屬
也可以直接一次性更改文件的所屬者和組別為root,需要使用以下命令:
Linux chgrp(英文全拼:change group)命令用于變更文件或目錄的所屬群組 1 。chgrp 是 change group 的縮寫(xiě)。一般輸入 chg 然后按下 tab 鍵就會(huì)自動(dòng)補(bǔ)全完整命令。
chgrp 語(yǔ)法為: chgrp [-R] {組名}{目錄名/文件名} 。
-R 表示遞歸修改,R 是 recursive 首字母 2 。
假設(shè)在當(dāng)前目錄下有一個(gè)文件(deniro.txt),隸屬于名為 vagrant 的群組:
現(xiàn)在想把這個(gè)文件改為隸屬于 tty 的群組。因?yàn)?tty 群組需要 root 賬戶,所以我們先使用 sudo -i 命令切換賬戶。接著進(jìn)入剛才的目錄,輸入 chgrp tty deniro.txt 。
可以看到,該文件的群組屬性已經(jīng)改為 tty 咯。
注意:
參考資料:
【1】 Linux chgrp 命令 .
【2】鳥(niǎo)哥. 鳥(niǎo)哥的Linux私房菜 基礎(chǔ)學(xué)習(xí)篇[M]. 第四版. 北京: 人民郵電出版社,2018: 212.