在 /etc/passwd 中的 GID 決定使用者的主要群組,而 /etc/group 則決定使用者的次要群組。
/etc/group 格式如下:
Group Name:Password:GID:Members
Group Name
============
=========
=========
=========
檢查 /etc/group 檔
=================
若要檢查 /etc/group 中的內容語法是否有問題,可使用 /usr/sbin/grpck 指令來檢測。
# grpck users::20:root,gavin
gavin - Logname not found in password file
切換主要群組
===========
當使用者建立檔案或目錄時,預設會設定為使用者的主要群組,若使用者希望所建立的檔案或目錄能夠設定為次要群組時,可使用 newgrp 指令暫時切換主要群組身份。
# id uid=115(gavint) gid=20(users) groups=109(mis)
# touch a.txt # ll
total 0
-rw-r--r-- 1 gavint users 0 Aug 7 10:29 a.txt
# newgrp mis # id
uid=115(gavint) gid=109(mis) groups=20(users)
# touch b.txt # ll total 0
-rw-r--r-- 1 gavint users 0 Aug 7 10:29 a.txt
-rw-r--r-- 1 gavint mis 0 Aug 7 10:31 b.txt
若要切換回原本的主要群組,執行 newgrp 不需附加任何參數。
# newgrp # id
uid=115(gavint) gid=20(users) groups=109(mis)
查使用者所屬群組
==============
若要查詢某個使用者所屬哪些群組,可使用 groups 來檢查。
# groups gavint
mis users
other::1:root,daemon,uucp,sync users::20: rds::1001:user1,user2 sales::1002:user1,user2,user3,user4 |
Group Name:Password:GID:Members
Group Name
============
- 群組名稱
- 在 11i v1 及 v2 中,群組名稱僅支援 8 個字元長度,在 11i v3 若執行 lugadmin 啟用長名稱支援,則 Group Name 也可支援到 255 個字元長度。
=========
- 在早期版本此欄位為群組密碼,但目前已不在使用。
=========
- 與 /etc/passwd 中 Group ID 的欄位對應。
- GIDs 1-99 為系統保留。
- 在 HP-UX v10.20 之前僅支援 60,000 個 Group ID,HP-UX v10.20 以後的版本支援 2,147,483,646 個 Group ID。
- 當有分享檔案給網路上的其他伺服器,若使用數字龐大的 Group ID,可能會造成其他不支援龐大 Group ID 的系統無法識別的問題。
- 使用 SAM,SMB 和 ugweb 建立群組時,會自動 assign 一組 GID。
=========
- 群組成員
- 使用者的主要群組定義在 /etc/passwd,不是在 /etc/group 中。
- 每個成員最多只能有 20 個次要群組,此限制在 /usr/include/limits.h 中的 NGROUPS_MAX 參數。
- 在 /etc/group 中,每一行不能超過 2048 個字元,此限制定義在 /etc/include/limits.h 中的 LINE_MAX 參數中。
檢查 /etc/group 檔
=================
若要檢查 /etc/group 中的內容語法是否有問題,可使用 /usr/sbin/grpck 指令來檢測。
# grpck users::20:root,gavin
gavin - Logname not found in password file
切換主要群組
===========
當使用者建立檔案或目錄時,預設會設定為使用者的主要群組,若使用者希望所建立的檔案或目錄能夠設定為次要群組時,可使用 newgrp 指令暫時切換主要群組身份。
# id uid=115(gavint) gid=20(users) groups=109(mis)
# touch a.txt # ll
total 0
-rw-r--r-- 1 gavint users 0 Aug 7 10:29 a.txt
# newgrp mis # id
uid=115(gavint) gid=109(mis) groups=20(users)
# touch b.txt # ll total 0
-rw-r--r-- 1 gavint users 0 Aug 7 10:29 a.txt
-rw-r--r-- 1 gavint mis 0 Aug 7 10:31 b.txt
若要切換回原本的主要群組,執行 newgrp 不需附加任何參數。
# newgrp # id
uid=115(gavint) gid=20(users) groups=109(mis)
查使用者所屬群組
==============
若要查詢某個使用者所屬哪些群組,可使用 groups 來檢查。
# groups gavint
mis users
沒有留言:
張貼留言