Làm thế nào để liệt kê các nhóm với gid trong redhat?


42

Lần đầu tiên tôi liệt kê các nhóm sử dụng:

groups 

Tôi đã thêm nhóm bằng cách sử dụng

groupadd -g 300 oinstall
groupadd –g 500 dba

và sau đó khi tôi làm

groups 
root bin daemon sys adm disk wheel sfcb

Tôi không thể tìm thấy các nhóm tôi đã thêm. Làm thế nào để liệt kê các nhóm với id nhóm? Ngoài ra, nếu tôi cố gắng thêm nó một lần nữa, nó nói rằng các nhóm đã có mặt.

Câu trả lời:


67

Các groupsnhóm danh sách lệnh mà người dùng hiện đang là thành viên của, không phải tất cả các nhóm có sẵn trên hệ thống. Bạn có thể tra cứu một nhóm theo tên hoặc gid bằng getentlệnh.

getent group oinstall
getent group 500

Để hiển thị tất cả các nhóm, chỉ cần bỏ truy vấn tìm kiếm của bạn ra khỏi lệnh:

getent group

2
@Kitex vì bạn đã tạo nhóm nhưng bạn không phải là thành viên của nhóm. Bạn cần thêm người dùng của mình vào nhóm sau đó đăng xuất và đăng nhập lại để hiển thị với groupslệnh.
jordanm

1
@kitex Tôi cập nhật để từ ngữ một chút, hy vọng điều đó sẽ giúp bạn hiểu.
jordanm

2
@Kitex đã cập nhật câu trả lời
jordanm

3
@kinkajou rất nhiều kinh nghiệm chuyên môn cũng như dành nhiều thời gian cho các trang web như trang này và hỗ trợ IRC Linux. Tôi đã là một chuyên gia và một người đam mê trong khoảng 8 năm. Tôi nghĩ rằng trở thành một người đam mê là một phần quan trọng bởi vì bạn có nhiều khả năng nhớ những điều mà bạn quan tâm.
jordanm

1
@kinkajou Tôi đã sử dụng Gnu / Linux cho tất cả các máy tính của tôi ở nhà. Máy tính để bàn, máy tính xách tay, mâm xôi-pi. Tôi đã sử dụng nó từ năm 1991 (ban đầu là Gnu trên Solaris, Dec, HP). Tôi tiếp tục bổ sung kiến ​​thức của mình; Không cần phải thông qua nó và bắt đầu lại (như với Windows của Microsoft).
ctrl-alt-delor

9

Bạn có thể liệt kê các nhóm bằng cách sử dụng getenthoặc nếu không có mặt, hãy xem trong/etc/group

Khi chạy lệnh, GID là giá trị thứ ba trong đầu ra, ví dụ:

$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:

Vì vậy, để chỉ liệt kê tên nhóm và GID của họ, hãy sử dụng awkđể in các cột bạn muốn như thế này:

$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

Xem thêm http://man7.org/linux/man-pages/man1/getent.1.html

Trong trường hợp getentkhông có mặt.

$ grep $group /etc/group

GID là giá trị thứ 3 trong đầu ra. Ví dụ

$ grep users /etc/group
users:x:100:

Trong phần trên, GID cho người dùng nhóm là 100. Để chỉ nhận tên nhóm và GID, bạn có thể sử dụng awk và grep như thế này:

$ cat /etc/group | awk -F ":" '{ print $1,$3 }' 
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

Xin lưu ý rằng đối với các hệ thống được thiết lập để sử dụng xác thực bên ngoài (như LDAP), tất cả các nhóm sẽ không có trong tệp / etc / group. Xem thêm http://www.cyberciti.biz/faq/under Hiểu-etcgroup-file /


6
Các nhóm không phải lúc nào cũng được lưu trữ trong /etc/group. Chúng có thể được lưu trữ trong NIS, LDAP, v.v.
jordanm

1
Không làm việc với nhóm ldap, sử dụng getent group.
MUY Bỉ
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.