Group
何時創建它們是哪種類型的組?
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
。所以我們可以看到“主要”和“次要”是基於使用者的上下文以及該使用者是如何定義的。它不是基於組本身。