Cách liệt kê người dùng trong Linux

Hệ điều hành Linux cung cấp các lệnh để tạo và xóa người dùng và kiểm tra xem người nào đã đăng nhập. Tuy nhiên, không có lệnh nào để liệt kê người dùng, đã đăng nhập hay chưa đăng nhập trên hệ thống.

Tuy nhiên, có một số cách để giải quyết vấn đề này. Nếu bạn muốn tìm hiểu cách liệt kê người dùng trong Linux, hãy làm theo các bước dưới đây của chúng tôi.

Tại sao bạn nên kiểm tra danh sách người dùng Linux của mình

Có một số lý do bạn có thể muốn liệt kê người dùng trong Linux. Đó là một phương pháp hay về cách tìm và xóa các tài khoản không sử dụng. Từ quan điểm bảo mật, đây cũng là một cách tốt để đảm bảo rằng bạn không có những kẻ xâm nhập tạo tài khoản người dùng.

Đây là một công việc hành chính mà có lẽ bạn nên làm ít nhất mỗi tháng một lần. Nếu bạn đang chạy một máy chủ Linux của công ty, bạn có thể muốn làm điều đó thường xuyên hơn.

Người dùng được liệt kê trong / etc / passwd

Tất cả các tài khoản người dùng của máy chủ Linux của bạn đều có mục nhập trong tệp / etc / passwd . Mỗi dòng đại diện cho một người dùng và có bảy trường được phân tách bằng dấu hai chấm. Các trường cung cấp thông tin về người dùng.

  • Tên tài khoản.
  • Mật khẩu được mã hóa ( x cho biết mật khẩu thực sự nằm trong / etc / shadow )
  • Số ID người dùng (UID).
  • Số ID nhóm của người dùng (GID).
  • Tên đầy đủ của người dùng, nếu được liệt kê.
  • Thư mục chính của người dùng.
  • Vỏ đăng nhập

Vì vậy, điều đó đưa chúng ta đến một cách để liệt kê tất cả người dùng trên Linux. Bạn có thể sử dụng lệnh less để xem toàn bộ tệp, từng màn hình một.

less /etc/passwd

Cách liệt kê người dùng trong Linux

Nếu bạn muốn kiểm tra xem một người dùng cụ thể có tồn tại trong hệ thống Linux hay không, thì đó là cách sử dụng tốt cho lệnh grep :

less passwd | grep jeff

Cách liệt kê người dùng trong Linux

Nếu bạn không nhận được bất kỳ đầu ra nào, người dùng đó không tồn tại trên máy chủ Linux.

Tuy nhiên, đó là rất nhiều thông tin. Bạn có thể cắt nó xuống chỉ với tên người dùng, ví dụ, bằng cách sử dụng lệnh awk hoặc lệnh cắt :

awk -F: '{print $1}' /etc/passwd cut -d: -f1 /etc/passwd

Cách liệt kê người dùng trong Linux

Điều đó có xu hướng dễ hiểu hơn nhiều, nhưng nó vẫn khiến bạn xem tất cả các tài khoản người dùng dựa trên hệ thống lẫn lộn với người dùng con người của bạn.

Cách sử dụng getent để liệt kê người dùng

Một lệnh khác, getent , hữu ích hơn nhiều. Nó hiển thị các mục nhập từ bất kỳ cơ sở dữ liệu nào được định cấu hình trong tệp /etc/nsswitch.conf của máy chủ của bạn. Một trong số đó là cơ sở dữ liệu mật khẩu. Để sử dụng getent để hiển thị danh sách tất cả người dùng Linux, nó hoạt động như sau:

getent passwd

Đầu ra trông giống hệt như sử dụng lệnh less , nhưng liệt kê bất kỳ người dùng LDAP nào trên hệ thống Linux. Một lần nữa, các lệnh awkcut của chúng tôi có thể giúp chỉ xem trường đầu tiên, tên người dùng.

Nếu bạn muốn kiểm tra xem một người dùng cụ thể có tồn tại trong hệ thống Linux hay không, getent sẽ giúp bạn dễ dàng:

getent passwd jeff

Một lần nữa, không có đầu ra nào từ lệnh này cho bạn biết rằng người dùng không tồn tại.

Một cách sử dụng tuyệt vời khác cho getent là tìm ra có bao nhiêu tài khoản người dùng tồn tại trên máy chủ. Điều này được thực hiện bằng cách nhập đầu ra của đường ống getent thông qua lệnh wc , như sau:

getent passwd | wc -l

Cách liệt kê người dùng trong Linux

Như bạn thấy, hệ thống Linux của tôi có tổng cộng 48 tài khoản. Khá thú vị, vì tôi là người duy nhất sử dụng nó, nhưng điều đó chỉ cho thấy có bao nhiêu tài khoản hệ thống được tạo trong Linux.

Loại bỏ người dùng hệ thống khỏi người dùng bình thường

Trong mắt Linux, không có sự khác biệt giữa người dùng hệ thống và người dùng. Bất cứ khi nào bạn cài đặt hệ điều hành, nó sẽ tạo ra một số người dùng hệ thống. Những người dùng hệ thống khác được tạo cho các gói khác nhau, như phần mềm dịch vụ web hoặc thư.

Vì vậy, làm thế nào bạn có thể liệt kê chỉ những người dùng bình thường, con người trên hệ thống Linux? Chìa khóa ở đây là hiểu rằng khi bạn tạo một người dùng thông thường, UID của người dùng đó sẽ được gán trong một phạm vi số nhất định. Bằng cách kiểm tra tệp /etc/login.defs , chúng tôi có thể xác định phạm vi giá trị UID có sẵn cho tài khoản người dùng thông thường.

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Cách liệt kê người dùng trong Linux

Dựa trên kết quả đầu ra, tôi biết rằng người dùng bình thường nên có UID từ 1000 đến 60000. Từ đó, tôi có thể tạo một truy vấn getent sẽ chỉ hiển thị người dùng bình thường.

getent passwd {1000..60000}

Cách liệt kê người dùng trong Linux

Hãy nhớ rằng, getent sẽ có vẻ như bị treo ngay cả khi nó hiển thị đầu ra của nó. Bạn có thể nhấn Ctrl-C để kết thúc quá trình hoặc đợi cho đến khi quá trình kết thúc. Thường mất ít hơn 15 giây để hoàn tất việc tìm kiếm cơ sở dữ liệu mật khẩu.

Phiên bản chung chung hơn của lệnh này tính đến các giá trị UID_MINUID_MAX khác nhau mà các máy chủ khác nhau có thể sử dụng.

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}

Trong lệnh đó, chúng tôi đang tận dụng khả năng của Linux để thực hiện nhiều việc cùng một lúc. Các lệnh awk nhận các giá trị UID_MINUID_MAX , sau đó sử dụng chúng trong lệnh getent .

Bây giờ, hãy nói tất cả những gì chúng ta muốn là tên người dùng. Một lần nữa, chúng tôi chuyển đầu ra của mình thông qua lệnh cut , như sau:

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1

Cách liệt kê người dùng trong Linux

Lệnh này có thể mất 10 đến 15 giây để hoàn thành, vì vậy hãy kiên nhẫn.

Quản lý hiệu quả người dùng Linux của bạn

Điều quan trọng là phải theo dõi những tài khoản người dùng nào tồn tại trên hệ thống Linux của bạn. Khi bạn biết một nhân viên đã rời đi, hãy nhanh chóng xóa tài khoản người dùng của họ. Việc liệt kê định kỳ những người dùng Linux của bạn sẽ giúp đảm bảo rằng bạn nắm bắt được bất kỳ tài khoản nào có thể bị mắc kẹt.

Đồng thời, hãy đảm bảo tuân thủ các chính sách bảo mật mật khẩu và khuyến khích người dùng của bạn thay đổi mật khẩu của họ thường xuyên.

Tags: #HOW-TO

Leave a Comment

Sửa lỗi “Mega.Nz muốn lưu trữ tệp trên thiết bị này” [8 bản hack nhanh]

Sửa lỗi “Mega.Nz muốn lưu trữ tệp trên thiết bị này” [8 bản hack nhanh]

Tìm hiểu cách xử lý lỗi mega.nz muốn lưu trữ tệp trên thiết bị này với 8 thủ thuật hữu ích!

FiveM không thể tải Citizengame.dll [10 bản sửa lỗi đã được chứng minh]

FiveM không thể tải Citizengame.dll [10 bản sửa lỗi đã được chứng minh]

Thấy Fivem không thể tải citizengame.dll khi khởi chạy GTA 5, sau đó làm theo các bản sửa lỗi xóa bộ nhớ cache bị hỏng, Chỉnh sửa tệp CitizenFX.INI, v.v.

6 giải pháp khắc phục lỗi cập nhật Windows 10 0x800f0831

6 giải pháp khắc phục lỗi cập nhật Windows 10 0x800f0831

Khắc phục lỗi cập nhật Windows 10 0x800f0831 bằng nhiều giải pháp hữu ích và hiệu quả. Hướng dẫn chi tiết từng bước để bạn dễ dàng thực hiện.

7 bản sửa lỗi nhanh cho lỗi ReCaptcha dành cho chủ sở hữu trang web: Loại khóa không hợp lệ

7 bản sửa lỗi nhanh cho lỗi ReCaptcha dành cho chủ sở hữu trang web: Loại khóa không hợp lệ

Thấy Google ReCaptcha "Lỗi đối với chủ sở hữu trang web: Loại khóa không hợp lệ", sau đó thử các bản sửa lỗi như Hạ cấp xuống khóa ReCaptcha V2, cập nhật trình duyệt, v.v.

Cách sử dụng các giới hạn cho các câu hỏi trong Microsoft Forms

Cách sử dụng các giới hạn cho các câu hỏi trong Microsoft Forms

Sử dụng giới hạn trong Microsoft Forms để yêu cầu câu trả lời số dự kiến, dễ dàng thiết lập và quản lý cho cuộc khảo sát hoặc bài kiểm tra của bạn.

Làm thế nào để sửa lỗi 651 trong Windows 10 / 8.1 & 7? (Giải pháp dễ dàng)

Làm thế nào để sửa lỗi 651 trong Windows 10 / 8.1 & 7? (Giải pháp dễ dàng)

Áp dụng các Thủ thuật đã cho để sửa Lỗi 651 trong Windows 7 / 8.1 và Windows 10. Tất cả các giải pháp được đưa ra đều rất đơn giản để áp dụng và hiệu quả.

[Đã giải quyết] Làm thế nào để khắc phục lỗi 0xc000014C trên Windows 7/8 & 10?

[Đã giải quyết] Làm thế nào để khắc phục lỗi 0xc000014C trên Windows 7/8 & 10?

Hướng dẫn cách khắc phục Lỗi 0xc000014C trên Windows 7/8 & 10 một cách hiệu quả với các giải pháp đơn giản và dễ thực hiện.

[CẬP NHẬT] Cách khắc phục mã lỗi 0x7E và Autorun.dll bị thiếu trong Windows 10

[CẬP NHẬT] Cách khắc phục mã lỗi 0x7E và Autorun.dll bị thiếu trong Windows 10

Hướng dẫn chi tiết khắc phục lỗi mã 0x7E và thiếu autorun.dll trong Windows 10. Sửa lỗi dễ dàng mà không cần sự trợ giúp từ chuyên gia.

Cách Đóng (Kết thúc) Biểu mẫu, Khảo sát hoặc Câu đố trong Microsoft Forms

Cách Đóng (Kết thúc) Biểu mẫu, Khảo sát hoặc Câu đố trong Microsoft Forms

Bạn có thể đóng biểu mẫu theo cách thủ công trong Microsoft Forms hoặc thiết lập ngày kết thúc tự động. Các tùy chọn này cho phép bạn đóng biểu mẫu khi bạn đã sẵn sàng.

Cách thiết lập điểm dừng tab trong Microsoft Word

Cách thiết lập điểm dừng tab trong Microsoft Word

Khám phá cách làm cho nút tab hoạt động cho bạn với các điểm dừng tab trong Word. Gợi ý thiết lập và thay đổi điểm dừng tab trên Windows và Mac.