Câu trả lời:
Bạn có thể nhận được một danh sách tất cả người dùng với
getent passwd | cut -d':' -f1
Điều này chọn cột đầu tiên (tên người dùng) của cơ sở dữ liệu người dùng hệ thống. Ngược lại với phân tích giải pháp /etc/passwd, điều này sẽ hoạt động bất kể loại cơ sở dữ liệu được sử dụng (truyền thống /etc/passwd, LDAP, v.v.). Lưu ý rằng danh sách này cũng bao gồm người dùng hệ thống (ví dụ: không ai, thư, v.v.).
Số người dùng chính xác có thể được xác định như sau:
getent passwd | wc -l
Có thể lấy danh sách người dùng đang đăng nhập bằng lệnh usershoặc who:
users # or
who
getent passwdđể có được danh sách người dùng hiện tại, bao gồm cả người dùng được tìm thấy qua LDAP, v.v.? Ngoài ra, wc -lsẽ là một cách ngắn hơn nhiều để đếm các dòng trong /etc/passwd(hoặc đầu ra của getent passwd, cho vấn đề đó).
Bạn có thể chỉ đơn giản là catcác /etc/passwdtập tin hoặc sử dụng,
awk -F':' '{ print $1}' /etc/passwd
Để cắt trường đầu tiên của cùng một tệp, nó sẽ liệt kê các tên bạn mong đợi. Ngoài ra, w whovà fingersẽ giúp bạn với tất cả những người đã đăng nhập từ vị trí / tty và chi tiết hoạt động của họ.
Những công việc này:
sed 's/:.*//g' /etc/passwd
/etc/passwdsẽ giúp bạn