Hướng dẫn check user trong linux - kiểm tra người dùng trong linux
Trong bài này mình sẽ hướng dẫn cách xem danh sách tất cả user trong Linux, qua đó bạn có thể biết có bao nhiêu user đang có trên hệ thống của mình. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức. Đã bao giờ bạn muốn liệt kê tất cả người dùng trong hệ thống Linux của mình, hoặc đếm số lượng người dùng trong hệ thống chưa? Chúng ta đã có các lệnh tạo người dùng, xóa người dùng, liệt kê người dùng đã đăng nhập, nhưng lệnh liệt kê tất cả người dùng trong Linux là gì? Hãy cùng mình tìm hiểu ngay nhé. 1. Lấy danh sách User trong Linux bằng file /etc/passwdTrong Linux, thông tin người dùng được lưu trữ trong file Kết quả như sau:: Bài viết này được đăng tại [free tuts .net] Mỗi hàng sẽ có 7 phần được ngăn cách nhau bởi dấu hai chấm. Ý nghĩa cụ thể như sau:
Nếu bạn muốn chỉ hiện thị thông tin username thì sử dụng lệnh cut hoặc awk. Nếu bạn chưa biết những lệnh này thì đừng quá lo lắng, bởi qua chương tiếp theo chúng ta sẽ học nó.cut hoặc awk. Nếu bạn chưa biết những lệnh này thì đừng quá lo lắng, bởi qua chương tiếp theo chúng ta sẽ học nó. awk awk -F: '{ print $1}' /etc/passwd cut cut -d: -f1 /etc/passwd Kết quả như sau: Bài viết này được đăng tại [free tuts .net]Mỗi hàng sẽ có 7 phần được ngăn cách nhau bởi dấu hai chấm. Ý nghĩa cụ thể như sau: Tên tài khoản. Mật khẩu đã được mã hóa (x có nghĩa là mật khẩu được lưu trong file /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 (GECOS).awk hoặc cut để in danh sách thông tin của mỗi người dùng đăng nhập. getent passwd | awk -F: '{ print $1}' getent passwd | cut -d: -f1 Thư mục chính của người dùng.Shell đăng nhập (mặc định là /bin/bash). Nếu bạn muốn chỉ hiện thị thông tin username thì sử dụng lệnh cut hoặc awk. Nếu bạn chưa biết những lệnh này thì đừng quá lo lắng, bởi qua chương tiếp theo chúng ta sẽ học nó.: Mình muốn kiểm ta user có tên là Jack có trong hệ thống không thì chạy lệnh sau: getent passwd | grep jack awk cut 2. Lấy danh sách user trên Linux bằng lệnh getent Lệnh getent sẽ hiển thị các mục từ cơ sở dữ liệu được cấu hình trong file Để lấy danh sách tất cả userr Linux, hãy nhập lệnh sau Kết quả:Như bạn thấy, kết quả không khác gì so với cách 1. Nếu bạn đang sử dụng LDAP để xác thực người dùng, getent sẽ hiển thị tất cả người dùng Linux kể cả file cut -d: -f1 /etc/passwd1.sudo. Bạn cũng có thể sử dụng awk hoặc cut để in danh sách thông tin của mỗi người dùng đăng nhập. 3. Kiểm tra một người dùng có tồn trại trong hệ thống Linux không? grep -E '^UID_MIN|^UID_MAX' /etc/login.defs Bây giờ thì bạn đã biết cách xem tất cả user có trong hệ thống Linux rồi. Nhưng nếu bây giờ bạn có một cái tên và bạn muốn kiểm tra nó có tồn tại trong danh sách user đó không thì làm thế nào? Rất đơn giản, ta sẽ kết hợp lệnh grep để lọc tìm theo tên. UID_MIN 1000 UID_MAX 60000 Ví dụ: Mình muốn kiểm ta user có tên là Jack có trong hệ thống không thì chạy lệnh sau: Nếu người dùng tồn tại thì nó sẽ trả về một hàng với 7 thông tin như hai phần trên mình đã giới thiệu, còn không thì nó không trả gì về cả. getent passwd {1000..60000} Hoặc bạn không cần lệnh grep cũng được. Kết quả vẫn như trên. Nếu bạn muốn đếm tổng số user trên hệ thống thì chạy lệnh sau: |