Group

何時創建它們是哪種類型的組?

  • August 26, 2020

linux中的組概念有兩種:主要組和次要組,創建一個新組很簡單:

sudo groupadd gname

現在我想知道新創建的組gname屬於哪種類型的組?有沒有辦法在它們之間進行相互轉換?

創建兩個不包含使用者的新組

sudo groupadd writers
sudo groupadd editers

添加新使用者。

sudo useradd -m mywriter -p yourpassword
sudo useradd -m myediter -p yourpassword

將新使用者添加到組中。

sudo usermod -a -G writers mywriter  
sudo usermod -g editers myediter

現在我們得到4組。

cat /etc/group | tail -4 
writers:x:1007:mywriter
editers:x:1008:
mywriter:x:1009:
myediter:x:1010:

進入我的作家

$ touch /tmp/mywriter.txt
$ ls -al  /tmp/mywriter.txt
-rw-r--r-- 1 mywriter mywriter 0 Aug 23 21:24 /tmp/mywriter.txt

進入myediter

$ touch /tmp/myedier.txt
$ ls -al  /tmp/myediter.txt
-rw-r--r-- 1 myediter editers 0 Aug 23 21:27 /tmp/myediter.txt

對於 group1—-mywriter:

id mywriter
uid=1009(mywriter) gid=1009(mywriter) groups=1009(mywriter),1007(writers)

它是一個主要組mywriter,因為 uid=gid=1009。

對於 group2–myediter

id myediter
uid=1010(myediter) gid=1008(editers) groups=1008(editers)

是次要組嗎?

如何對組writers和進行分類editers

組本質上不是主要的或次要的。一個群只是一個群。

重要的是如何使用它們。

因此,讓我們進行一個典型的登錄會話。(為了便於解釋,我將對此進行簡化,但同樣的邏輯適用於更複雜的情況)。

當登錄過程開始設置您的組成員身份時,它所做的第一件事就是查看passwd文件。

對我來說,在我的機器上:

sweh:x:500:500:Stephen Harris:/home/sweh:/bin/ksh

第二個數字確定主要組。所以我的主要組是組 id 500。

接下來它會查看組文件,並查看哪些條目列出了我的使用者名:

% grep -w sweh /etc/group
wheel:x:10:sweh
sweh:x:500:
apache:x:48:sweh
news:x:13:news,sweh

所以我們可以看到我被列為第 10、48 和 13 組。這些是次要組。

id我們可以通過以下命令看到這一點:

% id
uid=500(sweh) gid=500(sweh) groups=500(sweh),10(wheel),13(news),48(apache)

gid值列出了主要組。該groups值列出了我所在的所有組。所有不是主要的都是次要的。

根據他們在passwd和中的條目,不同的登錄可能具有不同的主要組和次要組group

所以我們可以看到“主要”和“次要”是基於使用者的上下文以及該使用者是如何定義的。它不是基於組本身。

引用自:https://unix.stackexchange.com/questions/605894