Lệnh usermod trong Linux là lệnh giúp thay đổi thông tin chi tiết của tài khoản user như tên đăng nhập, directory home, nhóm, và nhiều hơn nữa. Trong bài viết này, hãy cùng Vietnix tìm hiểu về lệnh usermod trong Linux và cách sử dụng thành thạo qua một số ví dụ điển hình dưới đây.
Lệnh usermod trong Linux là gì?
Lệnh usermod
trong Linux là một công cụ hữu ích cho phép bạn thay đổi các thuộc tính của user hiện có. Tuy nhiên, chỉ những root user hoặc superuser mới có quyền sử dụng lệnh này để chỉnh sửa username, user ID, group, home directory, password, user shell, ngày hết hạn và các chi tiết khác liên quan đến user trên hệ thống.
Thông qua lệnh usermod
, bạn có thể chỉnh sửa các file sau: /etc/group
, /etc/shadow
, /etc/gshadow
, /etc/login.def
và /etc/passwd
. Cú pháp của lệnh này sẽ là:
usermod [OPTION]... USER
Mọi người cũng xem:
17 tùy chọn hữu ích của lệnh usermod
Dưới đây là một số tùy chọn phổ biến của lệnh usermod
:
man usermod
Tùy chọn | Mô tả |
-a, --append | Add user vào một hoặc nhiều nhóm bổ sung. Bạn chỉ có thể sử dụng tùy chọn này với -G. |
-b, --badnames | Cho phép sử dụng các username không tuân thủ quy tắc đặt tên tiêu chuẩn. |
-c, --comment | Add trường comment cho user account. |
-d, --home | Sửa đổi directory đăng nhập cho bất kỳ user account hiện có nào. |
-e, --expiredate | Đặt ngày hết hạn tài khoản theo định dạng YYYY-MM-DD. |
-f, --inactive | Vô hiệu hóa vĩnh viễn số ngày sau khi password hết hạn cho đến khi tài khoản bị xóa. |
-g, --gid | Thay đổi group chính cho user. |
-G, --groups | Add group bổ sung. |
-L, --lock | Khóa password của user. |
-m, --move-home | Di chuyển nội dung của home directory từ home directory hiện tại sang directory mới. |
-o, --non-unique | Thay đổi user ID thành một giá trị non-unique. |
-l, --login | Đổi tên đăng nhập từ user_name thành new_user_name. |
-p, --password | Chỉ định password mới không được mã hóa. |
-R | Áp dụng các thay đổi trong directory CHROOT_DIR và sử dụng file cấu hình từ directory CHROOT_DIR. |
-s, --shell | Chỉ định login shell mới của user. |
-u, --uid | Chỉ định giá trị số mới của user ID. |
-U, --unlock | Mở khóa password của user. |
Lưu ý
Các lệnh usermod trong Linux có sự phân biệt giữa chữ hoa với chữ thường.
14 ví dụ cụ thể lệnh usermod trong Linux
- Đổi username bằng lệnh usermod trong Linux
- Sửa đổi user UID bằng lệnh usermod trong Linux
- Sửa đổi user UID bằng giá trị Non-Unique
- Thay đổi User GID bằng lệnh usermod trong Linux
- Add user vào group phụ bằng lệnh usermod trong Linux
- Add user vào group phụ cùng với các group hiện có
- Thêm thông tin vào user account bằng lệnh usermood
- Thay đổi home directory của user bằng lệnh usermod trong Linux
- Di chuyển content của home directory của user bằng Lệnh usermod
- Thay đổi login shell của user bằng lệnh usermod
- Sửa đổi ngày hết hạn của user account bằng lệnh usermod trong Linux
- Cập nhật user password bằng lệnh usermod
- Lock user account bằng lệnh usermod trong Linux
- Unlock user account bằng lệnh usermod trong Linux
Dưới đây là một số ví dụ thực tế về cách sử dụng lệnh usermod:
Ví dụ 1: Đổi username bằng lệnh usermod trong Linux
Lệnh usermod trong Linux cho phép user thay đổi user name hiện tại bằng cách sử dụng thêm tùy chọn -l. Các bước cụ thể sẽ là:
Bước 1: Mở Ubuntu Terminal và chạy lệnh sau, bạn sẽ nhận được thông tin về UID, GID và danh sách group mà user “hosting” đang là thành viên:
id hosting
Bước 2: Để đổi tên user “hosting”, bạn nhập một trong số các lệnh sau:
sudo usermod -l vps hosting
sudo usermod --login vps hosting
Bước 3: Nhập password (nếu có), sau đó bấm Enter và chạy lệnh sau:
id vps hosting
Lúc này, bạn sẽ nhìn thấy kết quả như bên dưới, user “hosting” đã được đổi tên thành “vps” với UID trước đó là 1001.
Ví dụ 2: Sửa đổi user UID bằng lệnh usermod trong Linux
Với lệnh usermod, bạn có thể đổi UID của bất kỳ user nào trong hệ thống bằng cách sử dụng tùy chọn –uid hoặc -u, cụ thể là:
Bước 1: Tương tự, bạn cũng mở Ubuntu Terminal và nhập lệnh bên dưới để kiểm tra UID của ID user “vps”.
id vps
Bước 2: Nếu muốn thay đổi UID của user đó, bạn sử dụng một trong hai lệnh sau:
sudo usermod --uid 2024 vps
sudo usermod -u 2024 vps
Bước 3: Tiếp theo, hãy bấm Enter và nhập password vào, sau đó kiểm tra lại UID đã được thay đổi chưa bằng câu lệnh sau:
id vps
Lúc này, output sẽ hiển thị như bên dưới với UID đã được thay đổi từ 1001 thành 2040.
Ví dụ 3: Sửa đổi user UID bằng giá trị Non-Unique
Để đảm bảo mỗi user có định danh riêng trong hệ thống, UID thường là số duy nhất và không âm. Nếu bạn muốn tạo user mới có UID trùng với user đã tồn tại, bạn hãy dùng lệnh usermod với tùy chọn -o hoặc –non-unique, cú pháp như sau:
Bước 1: Mở Ubuntu Terminal và nhập dòng lệnh sau:
id vps vietnix
Bước 2: Dòng lệnh trên sẽ hiển thị thông tin về user bạn cần tìm, bao gồm tên (vps và vietnix) và UID lần lượt là 2024 và 1000.
Bước 3: Để đổi UID của vps thành UID chung với vietnix, bạn nhập một trong hai câu lệnh dưới đây:
sudo usermod -o -u 1000 vps
sudo usermod --non-unique --uid 1000 vps
Bước 4: Điền password, sau đó bạn tiếp tục nhập câu lệnh bên dưới để kiểm tra GID:
id vps vietnix
Cuối cùng, UID của “vps” đã được thay đổi thành UID giống của “vietnix” với giá trị là 1000.
Ví dụ 4: Thay đổi User GID bằng lệnh usermod trong Linux
Ngoài các ví dụ trên, lệnh usermod cũng cho phép user thay đổi user GID với tùy chọn –gid hoặc -g. Dưới đây là cách thực hiện cụ thể:
Bước 1: Truy cập Ubuntu Terminal và nhập dòng lệnh sau, bạn sẽ nhìn thấy ID và GID của user:
id vps
Bước 2: Nếu bạn muốn thay đổi GID của user đó, bạn có thể chạy một trong hai dòng lệnh sau:
sudo usermod --gid 2025 vps
sudo usermod -g 2025 vps
Bước 3: Để kiểm tra UID đã được thay đổi hay chưa, hãy nhập lệnh sau:
id vps
Như vậy, UID của “vps” đã được thay đổi thành 2025 như hình bên dưới:
Ví dụ 5: Add user vào group phụ bằng lệnh usermod trong Linux
Để add user vào group phụ, bạn sử dụng lệnh usermod -G theo hướng dẫn dưới đây:
Bước 1: Mở Ubuntu Terminal và nhập một trong hai lệnh sau:
sudo usermod -G 2023,2024,2025 hosting
sudo usermod --groups 2023,2024,2025 hosting
Bước 2: Tiếp theo, bạn nhập lệnh sau để kiểm tra xem user john đã dược thêm vào group4, group5, group6 hay chưa:
id john
Trong hình ảnh bên dưới, “hosting” đã được add thành công vào các group phụ đã chỉ định:
Chú thích: Trong Linux, mỗi user sẽ được gán vào một group chính khi user account được tạo ra. Nhóm này sẽ quyết định quyền sở hữu của group đối với các file và directory mà user đó tạo ra. Ngoài group chính, user còn có thể được add vào các group bổ sung hoặc group phụ để cấp quyền truy cập tài nguyên trong group đó.
Ví dụ 6: Add user vào group phụ cùng với các group hiện có
Để add user vào các group phụ mà không overwrite lên group khác, bạn có thể sử dụng lệnh usermod với tùy chọn -a hoặc –append và -G hoặc –groups. Các bước chi tiết sẽ là:
Bước 1: Mở Ubuntu Terminal và chạy một trong số các dòng lệnh sau:
sudo usermod -a -G 2026 hosting
sudo usermod --append --groups 2026 hosting
Bước 2: Tiếp theo, bạn kiểm tra lại bằng câu lệnh sau:
id hosting
Lúc này, user “hosting” đã trở thành member của “group8″newgroup”, đồng thời không mất tư cách member ở các group phụ đã tham gia trước đó.
Ví dụ 7: Thêm thông tin vào user account bằng lệnh usermood
Nếu bạn cần thêm thông tin hay chú thích vào user account, hãy sử dụng lệnh usermod với tùy chọn -c hoặc –-comment với các bước cụ thể sau:
Bước 1: Khởi chạy Ubuntu Terminal và nhập một trong số các câu lệnh sau:
sudo usermod -c "website storage" hosting
sudo usermod --comment "website storage" hosting
Bước 2: Sau thao tác trên, bạn có thể kiểm tra lại xem thông tin đã được thêm thành công hay chưa với câu lệnh này:
grep hosting /etc/passwd
Như vậy, thông tin cho user “hosting” đã được thêm dưới dạng comment:
Ví dụ 8: Thay đổi home directory của user bằng lệnh usermod trong Linux
Trong Linux, bạn có thể thay đổi home directory bằng cách sử dụng lệnh usermod với tùy chọn -d hoặc –home. Ví dụ dưới đây, Vietnix sẽ đổi home directory của user “hosting” (/home/hosting) thành home directory của user “vietnix” (/home/vietnix). Câu lệnh tương ứng sẽ là:
getent passwd hosting vietnix
Ngoài ra, để thay đổi home directory của bất kỳ user nào, hãy tham khảo hướng dẫn sau:
Bước 1: Khởi chạy Ubuntu Terminal và nhập một trong số các lệnh sau:
sudo usermod -d /home/vietnix hosting
sudo usermod --home /home/vietnix hosting
Bước 2: Tiếp theo, bạn khởi chạy câu lệnh dưới đây:
getent passwd hosting
Lúc này, bạn sẽ nhìn thấy home directory của user “hosting” đã được thay đổi từ /home/hosting
thành /home/vietnix
.
Ví dụ 9: Di chuyển content của home directory của user bằng lệnh usermod
Khi bạn thay đổi home directory của user, content trong home directory trước đó sẽ không được chuyển sang home directory mới. Để chuyển đồng thời home directory và content của chúng, bạn có thể sử dụng lệnh usermod với tùy chọn -m or –move. Dưới đây là câu lệnh cơ bản:
getent passwd hosting
Lúc này, output sẽ hiển thị như sau:
Ngoài ra, bạn cũng có thể thực hiện tương tự cho bất kỳ user nào với các bước sau:
Bước 1: Mở Ubuntu Terminal và chạy một trong số các câu lệnh dưới đây:
sudo usermod -d /home/vietnix/Public -m hosting
sudo usermod --home /home/vietnix/Public --move-home hosting
Bước 2: Tiếp tục nhập lệnh sau để kiểm tra kết quả:
getent passwd hosting
Lúc này, home directory của user “hosting” đã được di chuyển từ /home/hosting
đến /home/vietnix/Public
.
Ví dụ 10: Thay đổi login shell của user bằng lệnh usermod
Với lệnh usermod, bạn có thể thay đổi login shell bằng cách kết hợp với tùy chọn -s hoặc –shell. Trong ví dụ dưới đây, Vietnix sẽ thay đổi login shell của user “hosting” (hiện tại là /bin/bash
):
Bước 1: Mở Ubuntu Terminal.
Bước 2: Nhập một trong số các câu lệnh sau:
sudo usermod -s /bin/sh hosting
sudo usermod --shell /bin/sh hosting
Bước 3: Cuối cùng, nhập câu lệnh sau và kiểm tra kết quả. Lúc này, login shell của “hosting” sẽ được đổi từ /bin/bash
thành /bin/sh
.
getent passwd hosting
Ví dụ 11: Sửa đổi ngày hết hạn của user account bằng lệnh usermod trong Linux
Trong Linux, lệnh usermod cho phép user thay đổi ngày hết hạn của user account bất kỳ. Với câu lệnh sau, bạn sẽ nhận được kết quả tương ứng là:
sudo chage -l hosting
Các bước thực hiện cụ thể sẽ là:
Bước 1: Mở Ubuntu Terminal và nhập một trong số các câu lệnh dưới đây:
sudo usermod -e 2099-08-08 hosting
sudo usermod --expiredate 2099-08-08 hosting
Bước 2: Tiếp tục nhập lệnh bên dưới, bạn sẽ nhận được output như trong hình ảnh minh họa:
sudo chage -l hosting
Như vậy, ngày hết hạn của user account “hosting” đã được thay đổi từ không có thành 8/8/2099.
Ví dụ 12: Cập nhật user password bằng lệnh usermod
Lệnh usermod cho phép bạn thay đổi password của user bất kỳ, bao gồm cả việc đặt một password mới hoặc thay đổi password hiện tại. Dưới đây là ví dụ minh họa cho từng trường hợp:
Trường hợp 1: Đặt password cho user không có password:
Bước 1: Mở Ubuntu Terminal và khởi chạy lệnh sau
sudo usermod -p abc123 hosting
sudo usermod --password abc123 hosting
Bước 2: Tiếp tục nhập lệnh dưới đây để kiểm tra password đã được áp dụng thành công hay chưa:
sudo grep hosting /etc/shadow
Trường hợp 2: Thay đổi password hiện tại của user
Bước 1: Mở Ubuntu Terminal và nhập một trong số các lệnh sau:
sudo usermod -p abcd123 hosting
sudo usermod --password abcd123 hosting
Bước 2: Kiểm tra lại bằng câu lệnh bên dưới:
sudo grep hosting /etc/shadow
Như vậy, password hiện tại của user “hosting” đã được cập nhật mật khẩu mới là abcd123.
Ví dụ 13: Lock user account bằng lệnh usermod trong Linux
Để lock user account bất kỳ, bạn có thể sử dụng lệnh usermod với tùy chọn -L hoặc –lock. Các bước cụ thể là:
Bước 1: Mở Ubuntu Terminal.
Bước 2: Nhập lệnh dưới đây:
sudo usermod -L hosting
Hoặc
sudo usermod --lock hosting
Bước 3: Cuối cùng, nhập lệnh dưới đây.
sudo grep hosting /etc/shadow
Khi này, bạn sẽ nhìn thấy dấu ! ngay sau user name của user “hosting”, tức là tài khoản này đã bị khóa.
Ví dụ 14: Unlock user account bằng lệnh “usermod” trong Linux
Nếu bạn đã lock (khóa) một user account bất kỳ và bạn muốn unlock (mở khóa) chúng, bạn có thể sử dụng lệnh usermod kèm theo tùy chọn -U hoặc –unlock:
Bước 1: Mở Ubuntu Terminal và chạy một trong số hai lệnh sau:
sudo usermod -U hosting
sudo usermod --unlock hosting
Bước 2: Kiểm tra lại với lệnh sau:
sudo grep hosting /etc/shadow
Tài khoản “hosting” đã mất đi dấu ! nằm trước mật khẩu, tức là đã được mở khóa.
Vietnix – Nhà cung cấp VPS AMD vượt trội cho tốc độ và ổn định
Với hơn 12 năm kinh nghiệm trong lĩnh vực VPS, phục vụ hơn 80.000 khách hàng và nhận được tỷ lệ đánh giá 5 sao từ 97% người dùng, Vietnix đã trở thành lựa chọn tin cậy của nhiều cá nhân và doanh nghiệp. Hiểu rõ tầm quan trọng của tốc độ và sự ổn định, Vietnix cung cấp dịch vụ VPS AMD với băng thông vượt trội lên đến 200 Mbps trong nước và 20 Mbps quốc tế, đảm bảo truyền tải dữ liệu nhanh chóng và mượt mà, giảm thiểu độ trễ trong mọi tình huống. Với quy trình khởi tạo tự động hóa, chỉ trong vòng 1 phút sau thanh toán, VPS của bạn sẽ sẵn sàng hoạt động, giúp bạn tiết kiệm thời gian triển khai dự án.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Như vậy, bài viết trên đã giới thiệu đến các bạn đọc thông tin chi tiết nhất về lệnh usermod trong Linux, bao gồm công năng và các ví dụ minh họa cụ thể. Ngoài ra, vẫn còn rất nhiều kiến thức hay ho, bổ ích về Linux đang đợi bạn khám phá, hãy chia sẻ và lưu lại ngay từ bây giờ!