Android

Cách liệt kê các nhóm trong linux

Linux - Add, Delete and Modify Users (adduser, deluser, passwd, chfn)

Linux - Add, Delete and Modify Users (adduser, deluser, passwd, chfn)

Mục lục:

Anonim

Trong Linux, một nhóm là một tập hợp người dùng. Mục đích chính của các nhóm là xác định một tập các đặc quyền như đọc, viết hoặc thực thi quyền đối với một tài nguyên nhất định có thể được chia sẻ giữa những người dùng trong nhóm. Người dùng có thể được thêm vào một nhóm hiện có để sử dụng các đặc quyền mà nó cấp.

Hướng dẫn này giải thích cách hiển thị tất cả các nhóm mà người dùng là thành viên của. Chúng tôi cũng sẽ giải thích làm thế nào để liệt kê tất cả các thành viên của một nhóm.

Nhóm Linux

Có hai loại nhóm mà người dùng có thể thuộc về:

  • Nhóm chính hoặc nhóm đăng nhập - là nhóm được gán cho các tệp được tạo bởi người dùng. Thông thường, tên của nhóm chính giống như tên của người dùng. Mỗi người dùng phải thuộc chính xác một nhóm chính.

    Nhóm thứ cấp hoặc nhóm bổ sung - được sử dụng để cấp một số đặc quyền nhất định cho một nhóm người dùng. Một người dùng có thể là thành viên của 0 hoặc nhiều nhóm thứ cấp.

Liệt kê tất cả các nhóm mà người dùng là thành viên của

Có nhiều cách để tìm ra các nhóm mà người dùng thuộc về.

Nhóm người dùng chính được lưu trữ trong tệp /etc/passwd và các nhóm bổ sung, nếu có, được liệt kê trong tệp /etc/group .

Một cách để tìm các nhóm người dùng là liệt kê nội dung của các tệp đó bằng cat , less hoặc grep . Một tùy chọn khác dễ dàng hơn là sử dụng một lệnh có mục đích là cung cấp thông tin về người dùng và nhóm của hệ thống.

Sử dụng lệnh groups

Lệnh đáng nhớ nhất để liệt kê tất cả các nhóm mà người dùng là thành viên là lệnh groups . Khi được thực thi mà không có đối số, lệnh sẽ in danh sách tất cả các nhóm mà người dùng hiện đang đăng nhập thuộc về:

groups

Nhóm đầu tiên là nhóm chính.

john adm cdrom sudo dip plugdev lpadmin sambashare

Để có được danh sách tất cả các nhóm mà một người dùng cụ thể thuộc về, hãy cung cấp tên người dùng cho lệnh groups làm đối số:

groups linuxize

Tương tự như trước nhóm đầu tiên là nhóm chính.

linuxize: linuxize sudo

Sử dụng lệnh id

Lệnh id in thông tin về người dùng được chỉ định và các nhóm của nó. Nếu tên người dùng bị bỏ qua, nó sẽ hiển thị thông tin cho người dùng hiện tại.

Ví dụ: để có được thông tin về người dùng linuxize bạn sẽ gõ:

id linuxize

Lệnh sẽ hiển thị tên người dùng ( uid ), nhóm chính của người dùng ( gid ) và nhóm ( groups ) của người dùng

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize), 27(sudo)

Để chỉ in tên mà không có ID người dùng và nhóm sử dụng tùy chọn -n . Tùy chọn -g sẽ chỉ in nhóm chính và -G tất cả các nhóm.

Lệnh sau sẽ in tên của các nhóm mà người dùng hiện tại là thành viên của:

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

Liệt kê tất cả các thành viên của một nhóm

Để liệt kê tất cả các thành viên của một nhóm, sử dụng lệnh getent group theo sau là tên nhóm.

Ví dụ: để tìm ra các thành viên của một nhóm có các developers tên, bạn sẽ sử dụng lệnh sau:

getent group developers

Nếu nhóm tồn tại, lệnh sẽ in nhóm và tất cả các thành viên của nhóm:

developers:x:126:frank, mary

Nếu không có đầu ra có nghĩa là nhóm không tồn tại.

Liệt kê tất cả các nhóm

Để xem tất cả các nhóm có mặt trên hệ thống, chỉ cần mở tệp /etc/group . Mỗi dòng trong tệp này đại diện cho thông tin cho một nhóm.

less /etc/group

Một tùy chọn khác là sử dụng lệnh getent hiển thị các mục từ cơ sở dữ liệu được định cấu hình trong tệp /etc/nsswitch.conf bao gồm cơ sở dữ liệu group mà chúng ta có thể sử dụng để truy vấn danh sách tất cả các nhóm.

Để có danh sách tất cả các nhóm, gõ lệnh sau:

getent group

Đầu ra giống như khi hiển thị nội dung của tệp /etc/group . Nếu bạn đang sử dụng LDAP để xác thực người dùng, getent sẽ hiển thị tất cả các nhóm từ cả tệp /etc/group và cơ sở dữ liệu LDAP.

Bạn cũng có thể sử dụng awk hoặc cut để chỉ in trường đầu tiên chứa tên của nhóm:

getent group | awk -F: '{ print $1}'

getent group | cut -d: -f1

Phần kết luận

Trong hướng dẫn này, bạn đã học cách tìm các nhóm mà người dùng là thành viên. Các lệnh tương tự áp dụng cho mọi phân phối Linux, bao gồm Ubuntu, CentOS, RHEL, Debian và Linux Mint.

Hãy để lại nhận xét nếu bạn có bất kỳ câu hỏi nào.

thiết bị đầu cuối