Lệnh sau sẽ liệt kê tất cả các nhóm của someUser
(nhóm chính và các nhóm bổ sung):
groups someUser
Nhưng có cách nào để chỉ có được nhóm chính?
Lệnh sau sẽ liệt kê tất cả các nhóm của someUser
(nhóm chính và các nhóm bổ sung):
groups someUser
Nhưng có cách nào để chỉ có được nhóm chính?
Câu trả lời:
Xem cẩm nang FreeBSD (thông tin cũng hợp lệ cho Linux):
ID nhóm (GID)
ID nhóm (GID) là một số được sử dụng để xác định duy nhất nhóm chính mà người dùng thuộc về. Các nhóm là một cơ chế để kiểm soát quyền truy cập vào các tài nguyên dựa trên GID của người dùng thay vì UID của họ. Điều này có thể giảm đáng kể kích thước của một số tệp cấu hình và cho phép người dùng là thành viên của nhiều nhóm. Nên sử dụng GID từ 65535 trở xuống vì GID cao hơn có thể phá vỡ một số phần mềm.
Nếu vậy, chạy id <username>
sẽ hiển thị gid=<primary group>
:
id <username>
uid=1000(<username>) gid=1000(<username>) groups=1000(<username>),4(adm),24(cdrom),27(sudo)
Nếu bạn muốn lệnh chỉ trả về tên nhóm chính, hãy xem man id
:
-g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG
vì vậy, id -gn <username>
nên cung cấp cho bạn những gì bạn muốn.