Hướng dẫn các lệnh và kỹ thuật khác nhau trong Linux để liệt kê các nhóm
Trong hệ sinh thái Linux, tập hợp người dùng được gọi là ‘Nhóm’. Khi một người dùng được thêm vào một nhóm, chúng tôi đang xác định các quyền của một người dùng Linux. Các nhóm cũng xác định những tệp, cài đặt và thư mục nào mà người dùng phải có quyền truy cập.
Nói một cách đơn giản nhất, các nhóm giúp bạn tìm ra và đặt các đặc quyền như đọc (r
), viết (w
) và thực thi (x
) qua tài nguyên được chia sẻ giữa những người dùng. Bạn cũng có thể thay đổi các quyền này khi được yêu cầu.
Tìm ra các nhóm mà tài khoản người dùng thuộc về sẽ giúp bạn tìm hiểu về các quyền mà một người dùng cụ thể có và cũng có thể thay đổi các quyền bất cứ khi nào được yêu cầu.
Hướng dẫn ngắn này sẽ giúp bạn tìm ra các nhóm mà người dùng thuộc về bằng cách sử dụng một số lệnh và kỹ thuật khá đơn giản.
Điều kiện tiên quyết quan trọng
Trước khi đi sâu vào hướng dẫn, sẽ rất hữu ích nếu bạn có cái nhìn tổng quan cơ bản về một số khái niệm. Tôi khuyên những người mới bắt đầu nên xem qua các khái niệm này trước.
Tập đoàn: Tập hợp người dùng trên hệ thống Linux. Một người dùng có thể là thành viên của nhiều nhóm. Một nhóm xác định những quyền mà người dùng có.
Nhóm chính: Nhóm chính là nhóm chính được liên kết với tài khoản người dùng. Mỗi người dùng phải là thành viên của một nhóm chính. Nó được tạo cùng lúc tài khoản người dùng được tạo và người dùng được tự động thêm vào nhóm này. Thông thường, tên của nhóm chính giống với tên của người dùng.
Nhóm phụ:Nhóm phụ là tùy chọn và người dùng có thể có hoặc không có nhóm phụ. Nó được sử dụng để cấp một số quyền bổ sung cho người dùng. Người dùng có thể là thành viên của nhiều nhóm phụ.
/ etc / group
tập tin: Trong Linux, tư cách thành viên nhóm được kiểm soát bởi / etc / group
tập tin. Đó là một tệp văn bản đơn giản chứa danh sách các nhóm và người dùng thuộc mỗi nhóm.
/ etc / passwd
tập tin: Tập tin này chứa thông tin cho tất cả các tài khoản người dùng trên hệ thống. Có một mục nhập của một tài khoản người dùng trên mỗi dòng được trình bày trong tệp này.
Sử dụng các nhóm
yêu cầu
Sử dụng các nhóm
lệnh là một quá trình siêu đơn giản để liệt kê các nhóm mà người dùng hiện tại thuộc về. Bạn cũng có thể sử dụng lệnh này để liệt kê các nhóm của một người dùng cụ thể đã đăng ký với hệ thống.
Cú pháp:
các nhóm
Đầu ra:
gaurav @ ubuntu: ~ $ groups gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav @ ubuntu: ~ $
Tìm một nhóm người dùng cụ thể.
Cú pháp:
nhóm [tên người dùng]
Thí dụ:
gaurav @ ubuntu: ~ $ nhóm tomcat tomcat: tomcat lpadmin sambashare gaurav @ ubuntu: ~ $
Trong ví dụ này, tôi đã liệt kê các nhóm mà người dùng đã đặt tên tomcat thuộc về.
Sử dụng Tôi
yêu cầu
Sử dụng Tôi
lệnh hiển thị thông tin nhóm của người dùng. Nó hiển thị các thông số như uid
(tên người dùng), gid
(id nhóm) và danh sách các nhóm mà người dùng thuộc về.
Cú pháp:
id [tên người dùng]
Thí dụ:
gaurav @ ubuntu: ~ $ id tomcat uid = 1002 (tomcat) gid = 1002 (tomcat) groups = 1002 (tomcat), 113 (lpadmin), 128 (sambashare) gaurav @ ubuntu: ~ $
Tôi
khi được sử dụng mà không có đối số trả về thông tin nhóm về người dùng hiện tại.
Thí dụ:
gaurav @ ubuntu: ~ $ id uid = 1000 (gaurav) gid = 1000 (gaurav) groups = 1000 (gaurav), 4 (adm), 24 (cdrom), 27 (sudo), 30 (dip), 46 (plugdev) , 113 (lpadmin), 128 (sambashare) gaurav @ ubuntu: ~ $
Tại đây, thông tin nhóm của người dùng hiện tại được hiển thị.
Sử dụng tệp / etc / group
Như đã thảo luận trong khối điều kiện tiên quyết, chúng tôi biết rằng / etc / group
tập tin chứa tất cả thông tin của các nhóm có trên hệ thống. Chúng ta có thể sử dụng tệp này để xem danh sách các nhóm bằng một lệnh đơn giản như sau.
Bạn có thể dùng con mèo
, ít hơn
hoặc là grep
lệnh liệt kê mở nội dung của tệp này.
less / etc / group
Đầu ra:
root: x: 0: daemon: x: 1: bin: x: 2: sys: x: 3: adm: x: 4: syslog, gaurav tty: x: 5: disk: x: 6: lp: x: 7 : mail: x: 8: news: x: 9: uucp: x: 10: man: x: 12: proxy: x: 13: kmem: x: 15: dialout: x: 20: fax: x: 21: voice : x: 22: cdrom: x: 24: đĩa mềm gaurav: x: 25: băng: x: 26: sudo: x: 27: âm thanh gaurav: x: 29: nhúng xung: x: 30: gaurav, batman www-data : x: 33:
Thao tác này sẽ liệt kê toàn bộ các nhóm trên hệ thống Linux.
Liệt kê tất cả các Nhóm sử dụng getent
yêu cầu
getent
lệnh có thể được sử dụng để hiển thị danh sách tất cả các nhóm có sẵn trên hệ thống Linux của bạn. Đầu ra tương tự như nội dung của / etc / group
tập tin.
Sử dụng nhóm getent
lệnh hiển thị các mục nhập từ cơ sở dữ liệu được định cấu hình trong /etc/nsswitch.conf
tập tin.
Cú pháp:
nhóm getent
Thí dụ:
gaurav @ ubuntu: ~ $ getent group root: x: 0: daemon: x: 1: bin: x: 2: sys: x: 3: adm: x: 4: syslog, gaurav tty: x: 5: disk: x : 6: lp: x: 7: mse dip: x: 30: gaurav, batman: x: 39: stmp: x: 43: video: x: 44: sasl: x: 45: plugdev: x: 46: gaurav staff : x: 50: trò chơi: x: 60: người dùng: x: 100: 106: crontab: x: 107: vahi: x: 120: bluetooth: x: 121: máy quét: x: 122: saned colord: x: 123: xung: x: 124: xung-truy cập: x: 125: rtkit: x: 126: saned: x: 127: trinity: x: 1000: sambashare: x: 128: gaurav mongodb: x: 130: mongodb guest-tqrhc7: x: 999: guest-piinii: x: 998: scala: x: 997: sbt: x: 996: guest-oi9xaf: x: 995: tomcat: x: 1001: tomcat7: x: 132: tomcat8: x: 133: geoclue: x: 105: gdm: x: 134: mysql: x: 129: couchdb: x: 131: tạm thời: x: 1002:
Để tìm nhóm của một người dùng cụ thể, hãy sử dụng lệnh sau.
nhóm getent | grep [tên người dùng]
Thí dụ:
gaurav @ ubuntu: ~ $ getent nhóm | grep gaurav adm: x: 4: syslog, gaurav cdrom: x: 24: gaurav sudo: x: 27: gaurav dip: x: 30: gaurav, batman plugdev: x: 46: gaurav lpadmin: x: 113: gaurav gaurav: x: 1000: sambashare: x: 128: gaurav gaurav @ ubuntu: ~ $
Tất cả các nhóm được liên kết với gaurav người dùng hiện được liệt kê trên thiết bị đầu cuối.
Sử dụng libuser-nắp
yêu cầu
libuser-nắp
lệnh hiển thị thông tin về nhóm chứa tên người dùng hoặc người dùng có trong tên nhóm.
GHI CHÚ: Lệnh này yêu cầu sudo
đặc quyền. Nếu không, bạn sẽ gặp một lỗi như sau-
Lỗi khi khởi chạy libuser: không thực thi với các đặc quyền của người dùng siêu cấpKhông có tên người dùng được chỉ định,
Trong trường hợp nếu libuser-nắp
tiện ích không có sẵn trên bản phân phối của bạn, bạn có thể sử dụng lệnh sau để cài đặt nó.
Vì Ubuntu và Debian người dùng:
sudo apt-get cập nhật
sudo apt-get install libuser
Vì CentOS, Fedora và các bản phân phối khác:
sudo yum cài đặt libuser
Cú pháp:
sudo libuser-lid [tên người dùng]
Thí dụ:
gaurav @ ubuntu: ~ $ sudo libuser-lid gaurav
Đầu ra:
adm (gid = 4) cdrom (gid = 24) sudo (gid = 27) dip (gid = 30) plugdev (gid = 46) lpadmin (gid = 113) trinity (gid = 1000) sambashare (gid = 128)
Tại đây, tất cả các nhóm được liệt kê được liên kết với tên người dùng đã nhập.
Sự kết luận
Trong hướng dẫn siêu đơn giản này, bây giờ chúng ta đã học cách hiển thị các nhóm có sẵn trên hệ thống Linux. Các lệnh được giải thích trong hướng dẫn này có thể được áp dụng trên tất cả các bản phân phối Linux theo cùng một cách.