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/passwdKhi 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 passwdNó 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/passwdThông tin của 1 user trong file /etc/passwd
[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]Hiển thị thông tin 1 user bằng lệnh id
id user11.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 user1Tạ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" done1.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 user1Thêm user vào nhiều group
sudo usermod -a -G group1,group2 user1Thêm nhiều user vào 1 group
sudo gpasswd -M user1,user2,user3 group1Xóa user khỏi 1 group
sudo gpasswd -d username groupname1.3. Thay đổi mật khẩu của user
sudo passwd user1Trường hợp không chỉ rõ user thì sẽ thay đổi mật khảu của user hiện tại.
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/ user11.5. Lock và Unlock 1 user
sudo usermod --lock user1 sudo usermod --unlock user11.6. Xóa 1 user
sudo userdel user12. 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/groupThông tin 1 group trong file /etc/group như sau:
[Group name]:[Group password]:[GID]:[Group members]2.2. Tạo mới 1 group
Tạo 1 group
sudo groupadd group1Tạo nhiều group
sudo groupadd group1, group2, group32.3. Liệt kê danh sách User trong Groups
sudo groups sudo groups user12.4. Xóa 1 group
sudo groupdel group1Nguồn: vinasupport.com