Xem tất cả user linux

Trên hầu hết các hệ thống Linux, bao gồm Ubuntu, không có một chương trình hay công cụ nào để liệt kê tất cả các tài khoản User trên hệ thống. Nếu bạn đang sử dụng GUI trên máy tính để bàn, bạn có thể xem tất cả các tài khoản User là quản trị viên ..

Còn trên máy chủ thì sao? Làm thế nào để bạn liệt kê hoặc xem tất cả các tài khoản User?

Vì không có công cụ duy nhất để liệt kê User, chúng ta thường phụ thuộc vào các file hệ thống để liệt kê User. Tất cả các tài khoản hệ thống được tạo được lưu trữ trong nhiều file trên máy chủ và liệt kê nội dung của các file này, chúng ta có thể tìm ra danh sách User và các Group ..

Hướng dẫn ngắn gọn này chỉ cho các bạn cách liệt kê tài khoản User trên Ubuntu. Một lần nữa, có nhiều cách để tìm ra tài khoản User trên Ubuntu. Dưới đây là các lệnh mà khi được sử dụng, hiển thị cho bạn tất cả tài khoản User trên Ubuntu và các hệ thống Linux khác.

Nội dung chính

    • 0.1 Tùy chọn 1: Liệt kê User trong file passwd
    • 0.2 Tùy chọn # 2: Nhận danh sách User thông qua công cụ Getent
  • 1 Share this:
  • 2 Like this:

Tùy chọn 1: Liệt kê User trong file passwd

Một tùy chọn phổ biến để liệt kê tài khoản User trên Ubuntu là xem nội dung của tập tin /etc/passwd .

file này lưu trữ thông tin tài khoản User cục bộ từ tên đăng nhập đến mật khẩu được mã hóa và ID tài khoản, vì vậy để xem tất cả tài khoản User trên hệ thống, hãy chạy các lệnh bên dưới:

less /etc/passwd

Khi chạy các lệnh trên, nó sẽ liệt kê nội dung của tập tin /etc/passwd ở đó Bạn sẽ thấy tất cả các tài khoản được tạo trên máy chủ.

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
........

Bạn cũng có thể sử dụng lệnh cat /etc/passwd để xuất ra cùng một danh sách

Đối với người mới dùng, điều này có thể gây nhầm lẫn nếu họ không biết cách đọc nội dung của tập tin Tuy nhiên, mỗi dòng trong file là một danh tính tài khoản duy nhất, có bảy trường được phân cách bằng dấu hai chấm có chứa các mục 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 trữ trong  file / etc / bóng  )
  • Số ID User (UID)
  • Số ID nhóm User (GID)
  • Tên đầy đủ của User (GECOS)
  • Thư mục home của User
  • Shell đăng nhập (mặc định là /bin/bash)

Bây giờ, nếu bạn chỉ muốn liệt kê tên tài khoản và không phải tất cả các chi tiết khác, chỉ cần chạy các lệnh bên dưới:

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

Điều đó chỉ nên liệt kê tên tài khoản trên hệ thống bắt đầu bằng tài khoản root ..

root
daemon
bin
sys
sync
games
man
......

Đó là lựa chọn số 1

Tùy chọn # 2: Nhận danh sách User thông qua công cụ Getent

Một tùy chọn khác để có được tất cả tài khoản User trên hệ thống là sử dụng công cụ getend. Công cụ này có chức năng tương tự như các lệnh trên .. Nó liệt kê nội dung của file /etc/passwd bằng thông tin cơ sở dữ liệu được lưu trữ trong file  /etc/nsswitch.conf .

Để có được danh sách User sử dụng getent, hãy chạy các lệnh bên dưới:

getent passwd

Nó nên liệt kê cùng một nội dung như trên:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
........

Các  /etc/nsswitch.conf  được sử dụng để cấu hình dịch vụ nào sẽ được sử dụng để xác định các thông tin như tên máy chủ, password file, và các group file …

Hai tùy chọn này đủ để giúp bạn có danh sách User trên các hệ thống Linux. Nếu bạn có có bất kì câu hỏi nào vui lòng comment bên dưới.

Khi được giao quản lý máy chủ Linux, sẽ yêu cầu bạn biết cách thêm, chỉnh sửa, tạm dừng hoặc xóa tài khoản người dùng và cấp cho người dùng quyền cần thiết đối với tệp, thư mục và các tài nguyên hệ thống khác để thực hiện nhiệm vụ được giao.

Dưới đây là 1 số thao tác quản lý User, Group trên HDH Linux bằng Command Line.

1. Quản lý User

1.1. Kiểm tra danh sách User

Danh sách user của Linux được lưu trong file /etc/passwd, để xem danh sách user này sử dụng lệnh cat

cat /etc/passwd

Thông tin của 1 user trong file /etc/passwd

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]

Xem tất cả user linux

Hiển thị thông tin 1 user bằng lệnh id

id user1

Xem tất cả user linux

1.2. Tạo mới một user

Để thêm một user mới, chúng ta sử dụng lệnh adduser hoặc useradd trên Linux với quyền sudo
useradd là native command được built-in trong hệ thống, còn adduser là perl script sử dụng useradd như là 1 back-end nên về cơ bản 2 lệnh này là giống nhau.

Nếu dùng lệnh man để xem manual của 2 lệnh thì đều ra kết quả của useradd.

sudo adduser user1

Tạo nhiều user

#!/bin/bash
for i in $( cat users.txt ); do
useradd $i
echo "user $i added successfully!"
echo $i:$i"123" | chpasswd
echo "Password for user $i changed successfully"
done

1.2. Thêm/Xóa user vào group

Để add 1 user vào group sử dụng command usermod

sudo usermod -a -G root user1

Thêm user vào nhiều group

sudo usermod -a -G group1,group2 user1

Thêm nhiều user vào 1 group

sudo gpasswd -M user1,user2,user3 group1

Xóa user khỏi 1 group

sudo gpasswd -d username groupname

1.3. Thay đổi mật khẩu của user

sudo passwd user1

Trường hợp không chỉ rõ user thì sẽ thay đổi mật khảu của user hiện tại.

Xem tất cả user linux

1.4. Thay đổi thông tin User

Để thay đổi thông tin user chúng ta sử dụng lệnh usermod

Thay đổi đường dẫn thư mục home của user

sudo usermod --home /home/user10/ user1

1.5. Lock và Unlock 1 user

sudo usermod --lock user1
sudo usermod --unlock user1

1.6. Xóa 1 user

sudo userdel user1

2. Quản lý group

2.1. Kiểm tra danh sách group

Thông tin của 1 group trong file /etc/group, tương tự để hiển thị danh sách group chúng ta sử dụng command cat

cat /etc/group

Thông tin 1 group trong file /etc/group như sau:

[Group name]:[Group password]:[GID]:[Group members]

Xem tất cả user linux

2.2. Tạo mới 1 group

Tạo 1 group

sudo groupadd group1

Tạo nhiều group

sudo groupadd group1, group2, group3

2.3. Liệt kê danh sách User trong Groups

sudo groups
sudo groups user1

2.4. Xóa 1 group

sudo groupdel group1

Nguồn: vinasupport.com