初始群組的名稱和使用者帳號相同,且 GID 即爲使用者在 /etc/passed 中的 GID,代表使用者一登入系統立刻擁有這個群組的相關權限。
舉例來說,使用者 aming 的初始群組長這樣:
aming:x:1000:
且因爲是初始群組,因此第四個欄位不需要填入帳號。
如果不是初始群組,則第四個欄位必須填入對應帳號,該帳號才算加入該群組。
舉例來說,使用者 aming 想要加入一個群組叫做 users,但 users 並不是初始群組,那麼對應的資料必須這樣下:
users:::aming
有效群組的作用通常是在使用者新建一個檔案時,顯示在所屬群組的屬性當中,想當然爾一個使用者只會有一個有效群組,查詢的方式是輸入
aming$> groups
aming users sudo
groups
指令要加s會列出有支援你使用者帳號的群組,而最左邊第一個的結果,aming,就是有效群組囉。
我們現在馬上來新建一個空檔案並查詢檔案屬性來看看會發生什麼事吧。
$> touch test
$> ll test
-rw-r--r-- 1 aming aming 0 八 7 20:07 aaa
如果我們想要切換有效群組的話,輸入 newgrp
後面接帳號支援的群組,例如:
aming$> newgrp sudo
aming$> touch aaaaaa
aming$> ll aaaaaa
-rw-r--r-- 1 aming sudo 0 八 7 20:07 aaaaaa
這樣 aaaaaa 就會變成屬於 sudo 群組了。
不過這裏要注意一下,當你在執行這個指令的時候,你的帳號會登入進去一個新的 shell ,想像你透過黑科技按了一個按鈕到了另外一個新世界(shell),你會成爲另外一個國家的人民(group),過着新世界的生活,但是當你按了返回按鈕(exit)的時候,時間軸照樣進行,而你也無縫接軌過着從前的生活。
格式:
群組名稱:密碼:群組管理員帳號:有被群組支援的帳號
這個檔案能夠建立群組管理員,暫時代替 root 管理特定群組的權限。
詳細用法將會在下一次講到帳號管理的時候提到~