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 getent
lệ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 getent
chỉ nhìn vào /etc/passwd
và /etc/group
các tệp là getent
sẽ 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 getent
trang người đàn ông cho một danh sách đầy đủ.
Bạn cũng có thể lấy danh sách từ getent
trang 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