Linux使用者管理命令

2021-09-11 08:58:44 字數 3085 閱讀 8722

新增使用者組的命令是 groupadd,命令格式如下:

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

選項:新增使用者組的命令比較簡單,舉個例子:

[root@localhost ~]# groupadd group1

#新增group1組

[root@localhost ~]# grep "group1" /etc/group

group1:x:502:

[root@localhost ~]# groupmod [選現] 組名

選項:例子:

[root@localhost ~]# groupmod -n testgrp group1

#把組名group1修改為testgrp

[root@localhost ~]# grep "testgrp" /etc/group

testgrp:x:502:

#注意gid還是502,但是組名已經改變

不過大家還是要注意,使用者名稱不要隨意修改,組名和 gid 也不要隨意修改,因為非常容易導致管理員邏輯混亂。如果非要修改使用者名稱或組名,則建議大家先刪除舊的,再建立新的。

groupdel 命令用於刪除使用者組,命令格式如下:

[root@localhost ~]#groupdel 組名

例子:[root@localhost ~]#groupdel testgrp

#刪除testgrp

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

gpasswd 命令格式如下:

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

選項:舉個例子:

[root@localhost ~]# groupadd grouptest

#新增組grouptest

[root@localhost ~]# gpasswd -a lamp grouptest

adding user lamp to group grouptest

#把使用者lamp加入grouptest組

[root@localhost ~]# grep "lamp" /etc/group

lamp:x:501:

grouptest:x:505:lamp

#檢視一下,lamp使用者已經作為附加使用者加入grouptest組

[root@localhost ~]# gpasswd -d lamp grouptest

removing user lamp from group grouptest

#把使用者lamp從組中刪除

[root@localhost ~]# grep "grouptest" /etc/group grouptest:x:505:

#組中沒有lamp使用者了

大家注意,也可以使用 usermod 命令把使用者加入某個組,不過 usermod 命令的操作物件是使用者,命令是 "usermod -g grouptest lamp",把使用者名稱作為引數放在最後;而 gpasswd 命令的操作物件是組,命令是"gpasswd -a lamp grouptest",把組名作為引數放在最後。

推薦大家使用 gpasswd 命令,因為這個命令不僅可以把使用者加入使用者組,也可以把使用者從使用者組中刪除。

我們說過,每個使用者可以屬於乙個初始組(使用者是這個組的初始使用者),也可以屬於多個附加組(使用者是這個組的附加使用者)。既然使用者可以屬於這麼多使用者組,那麼使用者在建立檔案後,預設生效的組身份是哪個呢?

當然是初始使用者組的組身份生效了,因為初始組是使用者一旦登陸就獲得的組身份。也就是說,使用者在建立檔案後,檔案的屬組是使用者的初始組,因為使用者的有效組預設是初始組。既然使用者屬於多個使用者組,那麼能不能改變使用者的有效組呢?使用命令newgrp 就可以切換使用者的有效組。命令格式如下:

[root@localhost ~]# newgrp 組名

舉個例子,我們已經有了普通使用者 lamp,缺省會建立 lamp 使用者組,lamp 組是 lamp 使用者的初始組。我們再把 lamp 使用者加入 group1 組,那麼 group1 組就是 lamp 使用者的附加組。當 lamp 使用者建立檔案 test1 時,test1 檔案的屬組是 lamp 組,因為 lamp 組是 lamp 使用者的有效組。通過 newgrp 命令就可以把 lamp 使用者的有效組變成 group1 組,當 lamp 使用者建立檔案 test2 時,就會發現 test2 檔案的屬組就是 group1 組。命令如下:

[root@localhost ~]# groupadd group1

#新增組group1

[root@localhost ~]# gpasswd -a lamp group1

adding user lamp to group group1 #把lamp使用者加入group1組

[root@localhost ~]# grep "lamp" /etc/group

lamp:x:501:

group1:x:503:lamp

#lamp使用者既屬於lamp組,也屬於group1組

[root@localhost ~]# su - lamp

#切換成lamp身份,超級使用者切換成普通使用者不用密碼

[lamp@localhost ~]$ touch test1

#建立檔案test1

[lamp@localhost ~]$ll test1

-rw-rw-r-- 1 lamp lamp 01月14 05:43 test1

#test1檔案的缺省屬組是lamp組

[lamp@localhost ~]$ newgrp group1

#切換lamp使用者的有效組為group1組

[lamp@localhost ~]$ touch test2

#建立檔案test2

[lamp@localhost ~]$ ll test2

-rw-r--r-- 1 lamp group1 01月 14 05:44 test2

#test檔案的缺省屬組是group1組

通過這個例子明白有效組的作用了嗎?其實就是當使用者屬於多個組時,在建立檔案時哪個組身份生效。使用 newgrp 命令可以在多個組身份之間切換。

linux使用者管理命令

最近經常用的一些linux命令,mark一下,免得每次都要google一下用法。useradd adding a new user usermod modifying existing user userdel deleting a user passwd user s password where...

linux使用者管理命令

下新增使用者 useradd 使用者名稱 為使用者名稱添 加密碼 passwd 使用者名稱 檢視系統中的所有使用者 cat etc passwd cut f 1 d 注意 是管道,把cat的輸出傳給cut處理 後面的cut取出每一行的以 分割的第一欄。用who命令可以檢視當前登入的使用者有哪些,乙個...

Linux 使用者管理命令

useradd 命令格式 命令 useradd 選項 使用者名稱 選項 u uid 手工指定使用者的uid號 d 家目錄 手工指定使用者家目錄 c 使用者說明 手工指定使用者的說明 g 組名 手工指定使用者的初始組 g 組名 手工指定使用者的附加組 s shell 手工指定使用者登入的shell 預...