Liệt kê người dùng và nhóm người dùng trong Raspbian


7

Nó làm tôi ngạc nhiên, rằng không có tìm kiếm nào dẫn tôi đến một câu hỏi đơn giản như thế này. Tất cả những gì tôi muốn là có được một danh sách người dùng và nhóm người dùng (bất kể điều thứ hai thực sự là gì).

Tôi đã tìm thấy nhiều tài nguyên về tài khoản người dùng được tạo hoặc xóa, nhưng có vẻ như mọi người đều nhớ tất cả các tài khoản trên hệ thống của họ. Tôi đoán nó không phải như vậy.

Vậy làm thế nào để tôi liệt kê chúng, quyền của họ và làm thế nào để tôi liệt kê các nhóm?

Câu trả lời:


11

Bạn cũng có thể truy vấn người dùng, nhóm, v.v. của hệ thống bằng cách sử dụng getentlệnh.

Ví dụ

người dùng

$ getent passwd | head -5
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

các nhóm

$ getent group | head -5
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:

Ưu điểm của việc sử dụng getentchỉ nhìn vào /etc/passwd/etc/groupcác tệp là getentsẽ truy vấn hệ thống bằng cách sử dụng NSS - Name Service Switch của hệ thống, xác định cách xử lý "cơ sở dữ liệu" như thế này trên một hệ thống nhất định.

NSS

NSS trên hầu hết các hệ thống Linux được điều khiển thông qua tệp /etc/nsswitch.conf. Tệp này định nghĩa "cơ sở dữ liệu" và sau đó chúng sẽ được giải quyết như thế nào.

Ví dụ Trong phần bên dưới, bạn có thể thấy rằng mật khẩu và nhóm "cơ sở dữ liệu" phải được chứng minh bằng các tệp, nhưng nó có thể được cung cấp bởi LDAP, NIS hoặc bất kỳ phương thức nào khác.

# /etc/nsswitch.conf

# Example:
#passwd:    db files nisplus nis
#shadow:    db files nisplus nis
#group:     db files nisplus nis

passwd:     files
shadow:     files
group:      files
#initgroups: files

Cơ sở dữ liệu khác

Mật khẩu và nhóm chỉ là 2, có nhiều cơ sở dữ liệu có thể truy cập thông qua getent. Hãy xem getenttrang người đàn ông cho một danh sách đầy đủ.

Bạn cũng có thể lấy danh sách từ getenttrang sử dụng.

$ getent --help
...
Supported databases:
ahosts ahostsv4 ahostsv6 aliases ethers group gshadow hosts initgroups
netgroup networks passwd protocols rpc services shadow
...

Người giới thiệu


5

Có thể có nhiều cách thân thiện hơn để hiển thị nó nhưng tất cả thông tin đều có trong hai tệp này. Để có danh sách đầy đủ các tài khoản người dùng, một tài khoản trên mỗi dòng:

less /etc/passwd

Đối với một danh sách đầy đủ các nhóm, một nhóm trên mỗi dòng:

less /etc/group

Xem man 5 passwdman 5 groupđể biết chi tiết về ý nghĩa của tất cả các lĩnh vực.

Mặt khác, nếu Raspbian của bạn đã được cấu hình tùy chỉnh bởi các quản trị viên lành nghề nhằm mục đích chia sẻ thông tin tài khoản người dùng và nhóm giữa các máy trên mạng, thì những gì tôi đã viết ở trên là không đầy đủ và bạn nên tuân theo văn bản tốt của @ slm khuyên bảo.


1
less /etc/passwd | cut -d":" -f1

... và các nhóm?
Jeff Schaller

Nó thực sự là một câu trả lời hữu ích (mặc dù không đầy đủ). Tôi đã sử dụng nhỏ gọn hơn nhưng tương tựcut -d: -f1 /etc/passwd
Kar.ma
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.