Tóm Tắt Cần Biết
- Để thêm người dùng mới: Dùng lệnh useradd test ("test" là tên người dùng mới). Dùng sudo useradd test nếu bạn thiếu đặc quyền.
- Để tạo người dùng có thư mục home: Dùng sudo useradd -m test hoặc sudo useradd -m -d /test test để thay đổi thư mục mặc định.
- Để đặt mật khẩu người dùng: Dùng passwd test và để chuyển người dùng, dùng lệnh su - test.
Bài viết này giải thích cách tạo người dùng trong Linux bằng dòng lệnh và lệnh "useradd". Chúng tôi cũng chia sẻ các lệnh để tạo người dùng có thư mục home, đặt mật khẩu, chuyển người dùng, đặt ngày hết hạn khi tạo người dùng, gán nhóm cụ thể cho người dùng mới, điều chỉnh mặc định đăng nhập, tạo người dùng không có thư mục home, chỉ định tên đầy đủ của người dùng, và xem chi tiết về một người dùng cụ thể.
Cách Tạo Người Dùng
Lệnh sau thêm người dùng mới tên test vào hệ thống của bạn.
Lệnh cơ bản để tạo người dùng (tên test) sẽ là:
useradd test
Bạn cần đặc quyền truy cập /etc/passwd để làm điều này; do đó, bạn có thể sẽ sudo lệnh trên:
sudo useradd test
Điều gì xảy ra khi chạy lệnh này phụ thuộc vào nội dung file cấu hình tại /etc/default/useradd.
Để xem nội dung /etc/default/useradd, chạy lệnh sau:
sudo nano /etc/default/useradd
File cấu hình đặt shell mặc định là bin/sh trên Ubuntu. Tất cả các tùy chọn khác đều bị chú thích (commented out).

Các tùy chọn bị chú thích cho phép bạn đặt thư mục home mặc định, nhóm, số ngày sau khi mật khẩu hết hạn trước khi tài khoản bị vô hiệu hóa, và ngày hết hạn mặc định.
Điều quan trọng cần nắm từ thông tin trên là việc chạy lệnh useradd không có bất kỳ switch nào có thể cho kết quả khác nhau trên các bản phân phối khác nhau, và tất cả đều do cài đặt trong file /etc/default/useradd.
Cách Tạo Người Dùng Có Thư Mục Home
Dựa trên file /etc/defaults/useradd, người dùng có thể đã được gán thư mục home hoặc chưa, tùy thuộc vào file cài đặt.
Để buộc tạo thư mục home, dùng lệnh sau:
sudo useradd -m test
Lệnh trên tạo thư mục /home/test cho người dùng test.

Cách Tạo Người Dùng Với Thư Mục Home Khác Mặc Định
Nếu bạn muốn người dùng có thư mục home ở vị trí khác mặc định, hãy dùng switch -d.
sudo useradd -m -d /test test
Lệnh trên tạo thư mục tên test cho người dùng test dưới thư mục gốc (root).

Để làm việc này mà không cần chỉ định switch -m, hãy chỉnh sửa file /etc/login.defs. Ở cuối file, thêm dòng sau:
CREATE_HOME yes
Cách Đổi Mật Khẩu Người Dùng Trên Linux
Sau khi tạo người dùng có thư mục home, hãy đổi mật khẩu của người dùng đó.
Để đặt mật khẩu người dùng, dùng lệnh sau:
passwd test
Lệnh passwd cho phép bạn đặt mật khẩu cho người dùng test. Bạn sẽ được nhắc nhập mật khẩu mong muốn.

Cách Chuyển Người Dùng
Kiểm tra tài khoản người dùng mới bằng cách gõ sau vào cửa sổ terminal:
su - test
Lệnh trên chuyển sang tài khoản test và, giả sử bạn đã tạo thư mục home, bạn sẽ được đưa vào thư mục home của người dùng đó.

Tạo Người Dùng Có Ngày Hết Hạn
Nếu bạn làm việc trong văn phòng và một nhà thầu mới sẽ ở đó trong một thời gian ngắn, hãy đặt ngày hết hạn cho tài khoản của họ. Tương tự, nếu có người nhà đến chơi, hãy tạo tài khoản cho người đó hết hạn sau khi họ rời đi.
Để đặt ngày hết hạn khi tạo người dùng, dùng lệnh sau:
sudo useradd -m -e 2017-04-25 test
Ngày phải được chỉ định theo định dạng YYYY-MM-DD, trong đó YYYY là năm, MM là số tháng, và DD là số ngày.

Cách Tạo Người Dùng Và Gán Vào Nhóm
Khi người dùng mới gia nhập công ty, hãy gán nhóm cụ thể cho người dùng đó để họ có quyền truy cập cùng file và thưordinator như các thành viên khác trong nhóm. Ví dụ, John gia nhập làm kế toán.
Lệnh sau sẽ thêm john vào nhóm accounts.
sudo useradd -g accounts john

Điều Chỉnh Mặc Định Đăng Nhập Trong Linux
File /etc/login.defs là file cấu hình cung cấp hành vi mặc định cho các hoạt động đăng nhập. Có một số cài đặt quan trọng trong file này.
Để mở file /etc/login.defs, nhập lệnh sau:
sudo nano /etc/login.defs

File login.defs chứa nhiều cài đặt bao gồm sau, có thể bạn muốn thay đổi:
- PASS_MAX_DAYS: Bao lâu trước khi mật khẩu hết hạn.
- PASS_MIN_DAYS: Mật khẩu có thể được đổi bao nhiêu lần.
- PASS_WARN_AGE: Số ngày cảnh báo trước khi mật khẩu hết hạn.
- LOGIN_RETRIES: Số lần thử đăng nhập trước khi thất bại.
- LOGIN_TIMEOUT: Bao lâu trước khi đăng nhập hết thời gian.
- DEFAULT_HOME: Người dùng có thể đăng nhập nếu không có thư mục home.
Cách Chỉ Định Hết Hạn Mật Khẩu Đăng Nhập
Đặt ngày hết hạn mật khẩu, số lần thử đăng nhập lại, và thời gian chờ khi tạo người dùng. Ví dụ sau cho thấy cách tạo người dùng với cảnh báo mật khẩu, số ngày tối đa trước khi mật khẩu hết hạn, và login-retries được đặt.
sudo useradd -m -K PASS_MAX_DAYS=5 -K PASS_WARN_AGE=3 -K LOGIN_RETRIES=3 test

Buộc Tạo Người Dùng Không Có Thư Mục Home
Nếu file login.defs có tùy chọn CREATE_HOME yes được đặt thì khi tạo người dùng, thư mục home sẽ tự động được tạo.
Để tạo người dùng không có thư mục home bất kể cài đặt, dùng lệnh sau:
sudo useradd -M test

Chỉ Định Tên Đầy Đủ Của Người Dùng
Là một phần của chính sách tạo người dùng, bạn có thể chọn dùng chữ cái đầu tiên theo sau là họ. Ví dụ, tên người dùng cho John Smith sẽ là jsmith. Khi tìm thông tin về người dùng, bạn có thể không phân biệt được giữa John Smith và Jenny Smith.
Thêm ghi chú (comment) khi tạo tài khoản để dễ dàng tìm tên thật của người dùng. Thực hiện lệnh sau để thêm ghi chú:
sudo useradd -m smithj -c "John Smith"

Phân Tích File /etc/passwd
Khi bạn tạo người dùng, chi tiết của người dùng đó được thêm vào file /etc/passwd. Để xem chi tiết về một người dùng cụ thể, dùng lệnh grep như sau:
grep smithj /etc/passwd

File /etc/passwd chứa danh sách các trường phân cách bằng dấu hai chấm về mỗi người dùng. Các trường như sau:
- Tên người dùng (Username)
- Mật khẩu được mã hóa (luôn hiển thị là x)
- User ID
- Group ID của người dùng
- Tên đầy đủ của người dùng
- Thư mục home của người dùng
- Shell đăng nhập