Lệnh useradd Linux là tiện ích dòng lệnh dùng để tạo tài khoản người dùng mới trên hệ thống. Công cụ này cho phép thiết lập các thông tin như tên đăng nhập, thư mục home, nhóm, shell và nhiều thuộc tính quản trị khác. Trong bài viết này, mình sẽ cùng bạn tìm hiểu cú pháp, các tùy chọn quan trọng, ví dụ tạo user thực tế và những lưu ý cần thiết để quản lý tài khoản Linux hiệu quả.
Những điểm chính
- Khái niệm: Hiểu rõ lệnh useradd là công cụ dùng để tạo tài khoản người dùng mới, giúp bạn nắm vững vai trò của nó trong việc quản lý và thiết lập người dùng trên hệ thống Linux.
- Các thuộc tính liên quan: Biết được các thuộc tính mà useradd thiết lập và mối liên hệ với các lệnh khác, giúp bạn hiểu rõ toàn bộ quy trình quản lý vòng đời của một tài khoản người dùng.
- Cách sử dụng lệnh: Nắm vững cú pháp cơ bản và các tùy chọn thường dùng, giúp bạn kiểm soát chi tiết cách tạo và cấu hình tài khoản mới theo từng nhu cầu cụ thể.
- Các ví dụ thực hành: Thông qua các ví dụ thực tế, giúp bạn áp dụng lệnh useradd một cách linh hoạt, từ việc tạo người dùng đơn giản đến cấu hình nâng cao với các tùy chọn về nhóm, shell và UID.
- Các lưu ý nâng cao: Tìm hiểu về các yếu tố nâng cao như file cấu hình mặc định và cách tạo user hệ thống, giúp bạn sử dụng lệnh useradd một cách chuyên nghiệp và an toàn hơn trong môi trường sản xuất.
- Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến useradd Linux.
Lệnh useradd trong Linux là gì?
Lệnh useradd trong Linux là tiện ích dòng lệnh dùng để tạo tài khoản người dùng mới trên hệ thống. Lệnh này thường được sử dụng bởi quản trị viên để thêm user đăng nhập với tên truy cập, UID, thư mục home, nhóm và shell đăng nhập được cấu hình rõ ràng. Khi thực thi, useradd sẽ cập nhật các file quản lý tài khoản như /etc/passwd, /etc/shadow, /etc/group và có thể tạo thư mục home dựa trên thư mục mẫu /etc/skel. Đồng thời, nó cho phép người dùng thiết lập thêm các thuộc tính như nhóm chính, nhóm phụ, ngày hết hạn tài khoản hoặc mô tả user, nhưng không tự đặt mật khẩu nên cần kết hợp với lệnh passwd để hoàn tất việc kích hoạt đăng nhập cho người dùng mới.

Các thuộc tính useradd thiết lập và mối liên hệ với lệnh quản lý user khác
Khi tạo tài khoản mới bằng lệnh useradd, quản trị viên có thể cấu hình nhiều thuộc tính quan trọng của user và thường kết hợp thêm với các lệnh khác để hoàn thiện quá trình quản lý người dùng. Useradd cho phép chỉ định thư mục home mặc định hoặc một đường dẫn home tùy chỉnh, thiết lập nhóm chính và các nhóm phụ, lựa chọn shell đăng nhập, gán UID cụ thể, đặt ngày hết hạn tài khoản và bổ sung phần mô tả để ghi chú thêm thông tin về người dùng trong file /etc/passwd.
Sau khi tạo xong, lệnh này không tự thiết lập mật khẩu nên cần dùng lệnh passwd để đặt mật khẩu đăng nhập cho user. Bên cạnh đó, bạn có thể kết hợp với usermod để thay đổi các thuộc tính như nhóm, shell, home directory hoặc thêm vào nhóm sudo và userdel để xóa tài khoản khi không còn sử dụng. Qua đó, bạn sẽ có được một bộ lệnh đầy đủ cho vòng đời quản lý user trên Linux.

Cách sử dụng lệnh useradd
Để tạo một tài khoản người dùng mới trên Linux, bạn sử dụng lệnh useradd với cú pháp như sau:
useradd [OPTIONS] USERNAMETrong đó:
- OPTIONS: Là tập hợp các tham số dùng để cấu hình chi tiết cho user (thư mục home, shell, nhóm, UID, ngày hết hạn, mô tả…)
- USERNAME: Là tên đăng nhập của tài khoản mới sẽ được tạo trên hệ thống.
Lưu ý
Chỉ tài khoản root hoặc user có quyền sudo mới được phép chạy useradd để thêm user mới. Lý do và vì thao tác này ảnh hưởng trực tiếp đến các file quản lý tài khoản như /etc/passwd, /etc/shadow và /etc/group.
Các tùy chọn thường dùng khi tạo user:
| Tùy chọn | Chức năng |
-m | Tự động tạo thư mục home cho người dùng nếu thư mục đó chưa tồn tại. |
-d PATH | Chỉ định đường dẫn thư mục home khác thay vì mặc định /home/USERNAME. |
-s SHELL | Đặt shell đăng nhập mặc định, ví dụ /bin/bash, /bin/sh hoặc shell khác. |
-g GROUP | Chỉ định nhóm chính (primary group) cho user, dùng tên nhóm hoặc GID đã tồn tại. |
-G G1,G2 | Thêm user vào một hoặc nhiều nhóm phụ (secondary groups) cùng lúc. |
-u UID | Gán UID cụ thể cho user thay vì để hệ thống tự cấp UID tiếp theo trong dãy cấu hình. |
| -e YYYY-MM-DD | Thiết lập ngày hết hạn tài khoản, sau thời điểm này user sẽ bị khóa đăng nhập. |
| -c “COMMENT” | Thêm mô tả/ghi chú cho tài khoản, thông tin này xuất hiện trong trường comment của /etc/passwd. |
| -M | Không tạo thư mục home cho user, kể cả khi cấu hình mặc định thường tạo home tự động. |
Các ví dụ tạo user với lệnh useradd
Ví dụ 1: Tạo user đơn giản với thư mục home mặc định
Với trường hợp cơ bản, bạn chỉ cần tạo user kèm thư mục home theo cấu trúc mặc định của hệ thống bằng câu lệnh:
useradd -m vietnix
Câu lệnh này tạo tài khoản vietnix và sinh thư mục home /home/vietnix. Trong đó tùy chọn -m yêu cầu hệ thống tự tạo thư mục home nếu chưa tồn tại.
Ví dụ 2: Tạo user và chỉ định shell đăng nhập
Khi muốn thiết lập shell đăng nhập cụ thể cho user ngay từ đầu, bạn có thể sử dụng:
useradd -m -s /bin/bash vietnix
Trong đó, -m vẫn đảm bảo tạo thư mục home cho vietnix, còn -s /bin/bash đặt /bin/bash làm shell đăng nhập mặc định thay cho shell được cấu hình sẵn trên hệ thống.
Ví dụ 3: Tạo user và gán vào nhóm chính, nhóm phụ
Nếu cần gán user vào nhóm chính và nhiều nhóm phụ để phân quyền ngay khi tạo, bạn có thể chạy:
useradd -m -g staff -G sudo,docker vietnix
Tùy chọn -g staff đặt staff làm nhóm chính của vietnix, còn -G sudo,docker thêm user vào hai nhóm phụ sudo và docker, giúp tài khoản có thêm quyền tương ứng với từng nhóm.
Ví dụ 4: Tạo user với UID và home directory tùy chỉnh
Trong các môi trường cần kiểm soát UID và vị trí thư mục home một cách chặt chẽ, bạn có thể áp dụng:
useradd -u 1500 -d /data/users/vietnix -m vietnixỞ đây, -u 1500 gán UID 1500 cho vietnix, -d /data/users/vietnix chỉ định thư mục home nằm tại /data/users/vietnix và -m yêu cầu tạo thư mục này nếu chưa có. Sau khi tạo, bạn nên dùng id vietnix hoặc kiểm tra /etc/passwd để xác nhận thông tin.
Ví dụ 5: Đặt mật khẩu cho user sau khi tạo
Để tài khoản mới có thể đăng nhập, sau bước useradd bạn cần thiết lập mật khẩu với:
passwd vietnix
Lệnh passwd sẽ yêu cầu nhập và xác nhận mật khẩu cho vietnix. Sau đó, bạn cập nhật dữ liệu trong /etc/shadow, hoàn tất quá trình kích hoạt đăng nhập cho user vừa tạo.
Một số lưu ý nâng cao khi dùng useradd
Khi sử dụng useradd trong môi trường sản xuất hoặc hệ thống nhiều người dùng, bạn nên quan tâm thêm đến các thiết lập mặc định, kiểu tài khoản được tạo và cách kiểm tra lại thông tin sau khi thao tác. Các lưu ý cụ thể như sau:
- Liên quan giữa useradd và file cấu hình mặc định: Useradd không tự quyết định mọi tham số mà dựa trên các giá trị mặc định được khai báo trong những file như
/etc/default/useradd,/etc/login.defsvà thư mục skeleton/etc/skel. Thư mục/etc/skelchứa các file mẫu (ví dụ.bashrc,.profile, …), khi tạo user với tùy chọn-m, các file này sẽ được sao chép vào thư mục home mới, giúp user có sẵn bộ cấu hình cơ bản ngay từ lần đăng nhập đầu tiên. - Tạo user hệ thống (system user): Trong một số trường hợp, bạn cần tạo system account phục vụ dịch vụ hoặc ứng dụng thay vì user đăng nhập tương tác. Khi đó, bạn có thể dùng các tùy chọn như
-rđể tạo tài khoản hệ thống với UID nằm trong dải UID dành cho system user và thường không dùng để đăng nhập trực tiếp. Các tài khoản này thường có thư mục home và shell cấu hình tối giản, chủ yếu phục vụ chạy dịch vụ nền hoặc tiến trình ứng dụng theo thiết kế bảo mật của hệ thống. - Kiểm tra và xác nhận user sau khi tạo: Sau khi chạy useradd, bạn có thể dùng lệnh
id USERNAMEđể xem nhanh UID, GID và các nhóm mà user thuộc về. Qua đó, bạn có thể xác nhận việc gán nhóm chính, nhóm phụ đã đúng yêu cầu. Ngoài ra, bạn có thể dùnggrep USERNAME /etc/passwdđể kiểm tra entry của user trong file/etc/passwd, bao gồm đường dẫn thư mục home, shell đăng nhập và trường comment, giúp đối chiếu lại cấu hình đã thiết lập.

Câu hỏi thường gặp
Useradd Linux khác gì adduser?
Trong đa số bản phân phối, useradd là lệnh cấp thấp (binary) thao tác trực tiếp với các file hệ thống theo đúng tùy chọn truyền vào. Trong khi adduser thường là script tương tác (trên Debian/Ubuntu) đóng vai trò “wrapper” thân thiện hơn, đặt câu hỏi và gọi useradd phía sau.
Tạo user xong nhưng không đăng nhập được thì cần kiểm tra gì?
Nếu tạo user bằng useradd mà chưa đặt mật khẩu, tài khoản sẽ không đăng nhập được. Vì vậy bạn cần chạy passwd USERNAME để thiết lập mật khẩu và có thể kiểm tra lại thông tin tài khoản trong /etc/passwd hoặc dùng id USERNAME để chắc chắn user đã được tạo đúng.
Có nên luôn dùng tùy chọn -m khi chạy useradd Linux không?
Trong hầu hết trường hợp tạo user đăng nhập tương tác, bạn nên dùng -m để hệ thống tự tạo thư mục home cho user, giúp tài khoản có không gian làm việc riêng và nhận các file cấu hình mặc định từ /etc/skel. Chỉ khi tạo system user hoặc các tài khoản kỹ thuật đặc thù mới thường bỏ qua thư mục home.
Tóm lại, useradd Linux là công cụ trung tâm trong nhóm lệnh quản lý người dùng. Khi hiểu và áp dụng đúng các tùy chọn cùng với các thiết lập mặc định trong /etc/default/useradd, /etc/login.defs và thư mục /etc/skel, bạn có thể tạo và kiểm soát user một cách chủ động, hạn chế lỗi phát sinh và đáp ứng tốt yêu cầu bảo mật cũng như phân quyền trong môi trường Linux thực tế. Cảm ơn bạn đã theo dõi bài viết!




