『學了就忘』Linux用戶管理 — 52、用戶組管理相關命令


1、添加用戶組

添加用戶組的命令是groupadd

命令格式如下:

[root@localhost ~]# groupadd [選項] 組名

選項:

  • -g:GID。指定組ID。(一般不會用)

添加用戶組的命令比較簡單,舉個例子:

# 添加group1組
[root@localhost ~]# groupadd group1

# 查看用戶組是否創建
[root@localhost ~]# grep "groupl" /etc/group
group1:x:502:

2、刪除用戶組

groupdel命令用於刪除用戶組。

命令格式如下:

[root@localhost ~]# groupdel 組名

例子:

# 刪除group1組
[root@localhost ~]# groupdel group1

不過大家要注意,要刪除的組不能是其他用戶的初始組,也就是說這個組中沒有初始用戶才可以刪除。如果組中都是附加用戶,則刪除組時不受影響。

3、把用戶添加進組或從組中刪除

gpasswd命令是用來設定組密碼並指定組管理員的,不過我們在前面已經說了,組密碼和組管理員功能很少使用,而且完全可以被sudo命令取代,所以gpasswd命令現在主要用於把用戶添加進組或從組中刪除。

命令格式如下:

[root@localhost ~]# gpasswd [選項] 組名

選項:

  • -a 用戶名:把用戶加入組
  • -d 用戶名:把用戶從組中刪除

舉個例子:

# 添加組grouptest
[root@localhost ~]# groupadd grouptest

# 把用戶user1加入grouptest組
[root@localhost ~]# gpasswd -a user1 grouptest 
Adding user user1 to group grouptest

# 查看一下,user1用戶已經作為附加用戶加入grouptest組
[root@localhost ~]# grep "user1" /etc/group 
user1:x:501:
grouptest:x:505:user1


# 把用戶user1從組中刪除
[root@localhost ~]# gpasswd -d user1 
grouptest Removing user userl from group grouptest


# 組中沒有user1用戶了
[root@localhost ~]# grep "grouptest" /etc/group 
grouptest:x:505:

說明:

之前我們說過,使用usermod命令可以把用戶加入某個組,那usermod命令和gpasswd命令有什么區別?

  • usermod命令的操作對象是用戶,命令是usermod -G grouptest user1,把用戶名作為參數放在最后(也就是grouptest是組,user1是用戶);而gpasswd命令的操作對象是組,命令是gpasswd-a user1 grouptest,把組名作為參數放在最后(user1是用戶,grouptest是組,和usermod命令位置相反)。
  • usermod命令和gpasswd命令,理論上用哪一個都可以,推薦使用gpasswd命令,原因gpasswd命令只添加附加組,而usermod命令根據不同的選項可以添加初始組和附加組。
  • gpasswd命令不但能把用戶添加進附加組中,而且gpasswd命令還有從組中刪除用戶的功能。gpasswd命令更為方便。

提示:用vim編輯器,手動編輯也是可以的,同樣效果。只是手工寫的方式不適合做腳本。

注意:在刪除組的時候,如果組中有沒有初始組的用戶(也就是把當前組作為初始組的用戶),需要把該用戶刪除掉,才能把該用戶組刪除。

4、有效組(了解)

我們說過,每個用戶可以有一個初始組(用戶是這個組的初始用戶),也可以屬於多個附加組。既然用戶可以屬於這么多用戶組,那么用戶在創建文件后,默認生效的組身份是哪個呢?

當然是初始用戶組的組身份生效了,因為初始組是用戶一旦登錄就直接獲得的組身份。也就是說,用戶在創建文件后,文件的屬組是用戶的初始組,因此用戶的有效組默認是初始組。

既然用戶屬於多個用戶組,那么能不能改變用戶的有效組呢?
使用命令newgrp就可以切換用戶的有效組。

命令格式如下:

[root@localhost ~]# newgrp 組名

舉個例子:

  • 我們已經有了普通用戶user1,默認會建立user1用戶組,user1組是user1用戶的初始組。我們再把user1用戶加入group1組,那么group1組就是user1用戶的附加組。
  • user1用戶創建文件test1時,test1文件的屬組是user1組,因為user1組是user1用戶的有效組。通過newgrp命令就可以把user1用戶的有效組變成group1組。
  • user1用戶創建文件test2時,就會發現test2文件的屬組就是group1組。使用newgrp命令可以在多個組身份之間切換。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM