BizMaC bizmac.com

Ubuntu 22.04: Thêm user và cấp quyền sudo

Hướng dẫn Linux Server · cập nhật 12/08/2026

Để thêm user trên Ubuntu 22.04, bạn chạy sudo adduser tên_user, trả lời vài câu hỏi, rồi thêm user vào nhóm sudo nếu cần quyền quản trị. Việc này mất chưa tới hai phút.

Ubuntu 22.04 cài xong chỉ có một tài khoản, chính là tài khoản bạn đặt trong quá trình cài đặt, và nó đã nằm sẵn trong nhóm sudo. Dùng chung một tài khoản cho nhiều người là mất dấu vết: log hệ thống ghi cùng một tên, không biết ai đã chạy lệnh nào. Mỗi người một tài khoản riêng thì /var/log/auth.log truy được đúng người.

  1. Tạo user mới bằng adduser.
  2. Thêm vào nhóm sudo nếu user cần quyền quản trị.
  3. Kiểm tra bằng cách đăng nhập thử và chạy một lệnh cần quyền root.
  4. Xóa tài khoản cùng thư mục cá nhân khi không dùng nữa.
Đã kiểm trên Ubuntu Server 22.04 LTS. Các lệnh giống nhau trên Ubuntu 20.04 và 24.04. Trên Ubuntu 24.04, adduser đã là script Perl viết lại nên phần chữ hiển thị có khác đôi chút, còn cú pháp không đổi.

Nên dùng adduser hay useradd trên Ubuntu

Ubuntu có hai lệnh tạo user và chúng khác nhau đáng kể. Lệnh adduser là script bậc cao: nó tự tạo thư mục cá nhân, chép file mẫu từ /etc/skel, hỏi mật khẩu và thông tin liên hệ. Lệnh useradd là lệnh gốc, chỉ ghi một dòng vào /etc/passwd và không làm gì thêm.

Việcadduseruseradd
Tạo thư mục /homeTự độngChỉ khi thêm cờ -m
Hỏi và đặt mật khẩuCóKhông, phải chạy passwd riêng
Chép file mẫu từ /etc/skelCóChỉ khi có -m
Đặt shell mặc địnhBash/bin/sh nếu không chỉ định
Chạy được trong script tự độngCần thêm --disabled-passwordCó, không hỏi gì
Nên dùng khiThêm người dùng thật, gõ tayTạo tài khoản dịch vụ trong script

Tạo tài khoản bằng useradd mà quên cờ -m là lỗi hay gặp: đăng nhập vào được nhưng shell báo No directory, logging in with HOME=/ và mọi file cấu hình cá nhân đều không lưu được.

Các bước thêm user mới trên Ubuntu 22.04

Ba bước dưới đây chạy bằng tài khoản có quyền sudo, trực tiếp trên máy hoặc qua SSH. Ví dụ tạo tài khoản tên bizmacvps, bạn thay bằng tên mình cần.

1. Tạo tài khoản mới

ubuntu@localhost:~$ sudo adduser bizmacvps
[sudo] password for ubuntu: # mật khẩu của user hiện tại
Adding user `bizmacvps' ...
Adding new group `bizmacvps' (1001) ...
Adding new user `bizmacvps' (1001) with group `bizmacvps' ...
Creating home directory `/home/bizmacvps' ...
Copying files from `/etc/skel' ...
New password: # đặt mật khẩu của user mới
Retype new password: # nhập lại mật khẩu của user mới
passwd: password updated successfully
Changing the user information for bizmacvps
Enter the new value, or press ENTER for the default # thông tin liên hệ, để trống được
Full Name []: bizmacvps
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
ubuntu@localhost:~$

Lệnh tạo luôn một nhóm cùng tên, ở đây là nhóm bizmacvps với ID 1001. Đây là cách Ubuntu đặt mặc định để file của mỗi người không lẫn quyền với người khác. Bốn dòng thông tin liên hệ chỉ để ghi chú, bấm Enter bỏ qua đều được.

2. Cấp quyền quản trị

User vừa tạo chưa chạy được lệnh sudo. Muốn cấp quyền thì thêm vào nhóm sudo:

ubuntu@localhost:~$ sudo usermod -aG sudo bizmacvps

Cờ -a nghĩa là thêm vào, phải luôn đi kèm -G. Quên chữ a thì usermod -G sudo bizmacvps sẽ thay thế toàn bộ nhóm phụ đang có bằng mỗi nhóm sudo, làm mất quyền truy cập các nhóm khác như docker hay www-data.

Chỉ cấp quyền này cho người thật sự cần. Tài khoản chạy ứng dụng thì để nguyên, không thêm vào nhóm sudo.

3. Đăng nhập thử và kiểm tra quyền

ubuntu@localhost:~$ su - bizmacvps
Password:
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
bizmacvps@localhost:~$

Chạy một lệnh cần quyền root để xác nhận nhóm sudo đã ăn:

bizmacvps@localhost:~$ sudo ls -l /root
[sudo] password for bizmacvps:
total 4
drwx------ 3 root root 4096 Apr 24 08:23 snap

Xong đúng khi lệnh in ra nội dung thư mục /root. Nếu hiện dòng bizmacvps is not in the sudoers file thì bước 2 chưa có tác dụng, thoát ra bằng exit rồi đăng nhập lại, vì nhóm mới chỉ được nạp khi bắt đầu phiên mới.

Cách xóa user và thư mục cá nhân

Lệnh deluser xóa tài khoản nhưng giữ lại thư mục cá nhân trong /home. Đây là chủ ý để không mất dữ liệu, nhưng cũng là chỗ hay bị quên, khiến ổ đĩa đầy dần bởi thư mục của những người đã nghỉ từ lâu.

Xóa tài khoản, giữ nguyên dữ liệu:

ubuntu@localhost:~$ sudo deluser bizmacvps

Xóa cả tài khoản lẫn thư mục cá nhân:

ubuntu@localhost:~$ sudo deluser bizmacvps --remove-home

Sao lưu trước khi dùng cờ --remove-home. Lệnh không hỏi lại lần nào và dữ liệu không khôi phục được. Nếu đã lỡ xóa tài khoản mà quên cờ đó, dọn thủ công sau cũng được:

ubuntu@localhost:~$ sudo rm -rf /home/bizmacvps

Lỗi hay gặp khi thêm và xóa user

Ba tình huống dưới đây chiếm phần lớn các ca thao tác user thất bại. Mỗi tình huống có thông báo riêng nên đọc dòng lỗi là biết rơi vào ca nào.

Không xóa được vì tài khoản đang có tiến trình chạy. Thông báo dạng:

ubuntu@localhost:~$ sudo deluser bizmacvps
Removing user `bizmacvps' ...
Warning: group `bizmacvps' has no more members.
userdel: user bizmacvps is currently used by process 1881
/usr/sbin/deluser: `/sbin/userdel bizmacvps' returned error code 8. Exiting.

Số 1881 là mã tiến trình đang giữ tài khoản, thường là phiên SSH hoặc su của chính tài khoản đó. Kết thúc nó rồi xóa lại:

ubuntu@localhost:~$ sudo kill -9 1881
Killed

Muốn xem hết các tiến trình của một tài khoản trước khi kết thúc, chạy ps -u bizmacvps hoặc pkill -u bizmacvps để dừng toàn bộ một lượt.

Báo tài khoản đã tồn tại. Dòng adduser: The user 'bizmacvps' already exists nghĩa là tên đã có trong hệ thống, có thể là tài khoản dịch vụ do một gói phần mềm tạo ra. Chạy id bizmacvps để xem nó là ai trước khi quyết định đổi tên hay đặt lại mật khẩu.

User mới không đăng nhập được qua SSH. Nhiều máy chủ đặt PasswordAuthentication no trong /etc/ssh/sshd_config, chỉ cho đăng nhập bằng khóa. Chép khóa công khai vào /home/bizmacvps/.ssh/authorized_keys, đặt quyền thư mục 700 và quyền file 600, chủ sở hữu là chính tài khoản đó.

Cách kiểm tra danh sách user trên hệ thống

Hai chỗ cho biết hệ thống đang có những tài khoản nào. File /etc/passwd liệt kê mọi tài khoản gồm cả tài khoản dịch vụ, còn thư mục /home chỉ chứa những tài khoản có thư mục cá nhân, tức là người dùng thật.

ubuntu@localhost:~$ ls -l /home
total 4
drwxr-x--- 4 ubuntu ubuntu 4096 Apr 27 14:32 ubuntu

Xem toàn bộ tài khoản trong file passwd:

ubuntu@localhost:~$ cat /etc/passwd

File này dài vì chứa cả các tài khoản hệ thống như daemon, www-data, systemd-network. Lọc ra người dùng thật bằng cách chỉ lấy các dòng có ID từ 1000 trở lên:

ubuntu@localhost:~$ awk -F: '$3 >= 1000 && $3 < 65534 {print $1, $3, $6}' /etc/passwd
ubuntu 1000 /home/ubuntu
bizmacvps 1001 /home/bizmacvps

Xem ai đang có quyền quản trị:

ubuntu@localhost:~$ getent group sudo
sudo:x:27:ubuntu,bizmacvps

Việc nên làm sau khi tạo tài khoản mới

Rà lại nhóm sudo mỗi khi có người rời dự án. Tài khoản còn quyền quản trị mà không còn người dùng là lỗ hổng lặng lẽ nhất trên máy chủ, vì nó không gây triệu chứng gì cho tới lúc bị lợi dụng.

Nếu bạn cần một tài khoản chạy được lệnh root trực tiếp thay vì qua sudo, xem cách bật tài khoản root trên Ubuntu 22.04. Trên máy chủ dùng chung, cách an toàn hơn là giữ root khóa và cấp quyền qua nhóm sudo, vì mọi lệnh chạy bằng sudo đều được ghi lại trong /var/log/auth.log kèm tên người chạy.

Hướng dẫn này có giúp được Anh/Chị không?

Bài khác trong Linux Server

Xem cả 23 bài
Cài SQL Server 2025 trên Ubuntu 24.04 chạy cùng Plesk Cài SQL Server 2025 lên máy Ubuntu 24.04 đang chạy Plesk, chọn edition đúng giấy phép, tạo tài khoản riêng thay cho sa và mở kết nối từ xa mà không phơi cổng 1433. 11 phút đọc 106 lượt xem Cập nhật 16/09/2026 Cài tường lửa UFW cơ bản cho VPS Ubuntu Cách cài UFW trên Ubuntu, cho phép cổng SSH trước khi bật, mở cổng web 80 và 443, rồi kích hoạt tường lửa mà không mất kết nối cho người mới quản trị VPS. 5 phút đọc 136 lượt xem Cập nhật 29/08/2026 Đổi port SSH mặc định để bảo mật VPS Cách đổi cổng SSH từ 22 sang cổng khác trong file sshd_config, mở cổng mới trên tường lửa trước khi khởi động lại dịch vụ, và kiểm tra kết nối cho người mới. 5 phút đọc 90 lượt xem Cập nhật 28/08/2026 Cài Fail2Ban chống dò mật khẩu SSH Cách cài Fail2Ban trên Ubuntu và CentOS, tạo file cấu hình jail.local, đặt số lần sai và thời gian khoá IP, rồi kiểm tra danh sách IP đang bị chặn. 5 phút đọc 77 lượt xem Cập nhật 28/08/2026 Phân quyền file thư mục bằng chmod và chown Cách đọc dãy quyền rwx, dùng chmod đổi quyền theo số và chown đổi chủ sở hữu file trên Linux, kèm bảng số quyền hay dùng và cảnh báo chmod 777. 5 phút đọc 51 lượt xem Cập nhật 27/08/2026 15 lệnh Linux cơ bản cho người mới quản trị VPS Bảng tra 15 lệnh Linux thiết yếu để đi lại trong thư mục, xem và sửa file, kiểm tra tài nguyên và quản lý dịch vụ trên VPS, kèm ví dụ cho người mới. 5 phút đọc 59 lượt xem Cập nhật 26/08/2026