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 awk và cut 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_MIN và UID_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_MIN và UID_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.

Để lại bình luận

Mẫu danh sách kiểm tra lập kế hoạch sự kiện và ngân sách có thể in cho Word

Mẫu danh sách kiểm tra lập kế hoạch sự kiện và ngân sách có thể in cho Word

Sử dụng mẫu danh sách kiểm tra lập kế hoạch sự kiện và ngân sách có thể in trong Word để theo dõi người phụ trách, thời hạn, chi phí, nhà cung cấp và mức độ sẵn sàng cho ngày diễn ra sự kiện với các bước kiểm tra chất lượng rõ ràng.

Cách khắc phục lỗi công thức Excel không tự động tính toán trong 3 bước đơn giản

Cách khắc phục lỗi công thức Excel không tự động tính toán trong 3 bước đơn giản

Khắc phục các công thức Excel không tự động tính toán theo ba bước: khôi phục chế độ tính toán, buộc tính toán lại và sửa các công thức bị định dạng dưới dạng văn bản.

Mẫu Lịch Trình Dọn Dẹp Hàng Tuần Có Thể In Cho Chủ Nhà Airbnb (Word & PDF)

Mẫu Lịch Trình Dọn Dẹp Hàng Tuần Có Thể In Cho Chủ Nhà Airbnb (Word & PDF)

Sử dụng lịch trình dọn dẹp hàng tuần có thể in này cho việc cho thuê Airbnb để tổ chức việc dọn dẹp giữa các kỳ nghỉ, dọn dẹp định kỳ, bổ sung đồ dùng, kiểm tra và chuyển đổi từ Word sang PDF.

Mẫu Bảng Ghi Chỉnh Bảo Trì Thiết Bị Excel Cho Quản Lý Xưởng: Hướng Dẫn Thiết Lập 4 Bước

Mẫu Bảng Ghi Chỉnh Bảo Trì Thiết Bị Excel Cho Quản Lý Xưởng: Hướng Dẫn Thiết Lập 4 Bước

Xây dựng bảng ghi chỉnh bảo trì thiết bị Excel thực tế cho quản lý xưởng với mã tài sản, lịch sử dịch vụ, ngày đến hạn, kiểm soát trạng thái, theo dõi thời gian ngừng hoạt động và danh sách kiểm tra cuối cùng.

Mẫu PowerPoint Thuyết trình Nhà đầu tư Tối giản cho Startup Công nghệ: Khung thiết kế 12 slide thực tế

Mẫu PowerPoint Thuyết trình Nhà đầu tư Tối giản cho Startup Công nghệ: Khung thiết kế 12 slide thực tế

Xây dựng bộ hồ sơ thuyết trình nhà đầu tư tối giản trên PowerPoint với cấu trúc 12 slide thực tế dành cho startup công nghệ, kèm hướng dẫn về bằng chứng, chỉ số, tuyên bố huy động vốn và mẫu .potx có thể tái sử dụng.

Mẫu PowerPoint Trình bày Niêm yết Bất động sản Hiện đại Miễn phí: Khung蓝图 Thực tế cho Nhà môi giới

Mẫu PowerPoint Trình bày Niêm yết Bất động sản Hiện đại Miễn phí: Khung蓝图 Thực tế cho Nhà môi giới

Xây dựng bài thuyết trình niêm yết bất động sản hiện đại trên PowerPoint với khung slide miễn phí, mẹo mẫu đã xác minh, cảnh báo về CMA, kiểm tra quyền hình ảnh và các biện pháp bảo vệ Nhà ở Công bằng.

HubSpot Free CRM so với Zoho CRM: Lựa chọn tốt nhất cho môi giới bất động sản độc lập năm 2026

HubSpot Free CRM so với Zoho CRM: Lựa chọn tốt nhất cho môi giới bất động sản độc lập năm 2026

So sánh HubSpot Free CRM và Zoho CRM cho môi giới bất động sản độc lập, bao gồm danh bạ, quy trình bán hàng, tự động hóa, tùy chỉnh, đặt lịch, giới hạn và thời điểm nâng cấp.

Cách khắc phục lỗi âm thanh khi ghi màn hình PowerPoint trên Windows

Cách khắc phục lỗi âm thanh khi ghi màn hình PowerPoint trên Windows

Khắc phục tình trạng ghi màn hình PowerPoint bị mất tiếng bằng cách kiểm tra điều khiển Âm thanh, quyền truy cập micro của Windows, thiết bị đầu vào đang hoạt động, kỳ vọng về âm thanh hệ thống và các bản cập nhật Office.

Mẫu PDF lập kế hoạch thời gian theo khối hàng ngày có thể in cho chuyên gia làm việc tại nhà: Hướng dẫn dành cho người mới bắt đầu

Mẫu PDF lập kế hoạch thời gian theo khối hàng ngày có thể in cho chuyên gia làm việc tại nhà: Hướng dẫn dành cho người mới bắt đầu

Sử dụng mẫu PDF lập kế hoạch thời gian theo khối hàng ngày có thể in để lên kế hoạch cho các giờ làm việc tập trung, cuộc họp, giờ nghỉ, công việc hành chính và các khoảng đệm thực tế khi làm việc tại nhà mà không nhồi nhét quá nhiều vào một ngày.

Mẫu thuyết trình báo cáo trạng thái dự án miễn phí cho các nhóm Agile

Mẫu thuyết trình báo cáo trạng thái dự án miễn phí cho các nhóm Agile

Xây dựng bài thuyết trình báo cáo trạng thái dự án Agile ngắn gọn với mục tiêu sprint, kết quả, rủi ro, tín hiệu chất lượng, quyết định và các bước tiếp theo—mà không biến bài thuyết trình thành một danh sách tồn đọng công việc.