Làm thế nào để có được nhóm chính của người dùng?


14

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?


Không phải là nhóm chính được liệt kê đầu tiên?
simlev

Câu trả lời:


21

Hãy thử các lệnh sau

id -g

id -gn


Một số ngoại lệ, nhưng để có được tên người dùng hiện tại sử dụng id -un.
dùng

10

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.


Đây phải là câu trả lời được chấp nhận. Cảm ơn bạn :)
grrigore
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.