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.
Nói tóm lại, 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 & /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. |
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 mary đang là thành viên:
id mary
Bước 2: Để đổi tên user mary, bạn nhập một trong số các lệnh sau:
sudo usermod -l lisa mary
sudo usermod --login lisa mary
Bước 3: Nhập password, sau đó bấm Enter và chạy lệnh sau:
id lisa mary
Lúc này, bạn sẽ nhìn thấy kết quả như bên dưới, user mary đã được đổi tên thành lisa với UID trước đó là 2031.
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 lisa.
id lisa
Bước 2: Nếu muốn thay đổi UID của user đó, bạn sử dụng một trong các lệnh sau:
sudo usermod --uid 2040 lisa
sudo usermod -u 2040 lisa
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 lisa
Lúc này, output sẽ hiển thị như bên dưới với UID đã được thay đổi từ 2031 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 lisa john
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 (lisa và john) và UID của chúng (lần lượt là 2040 và 2028).
Bước 3: Để đổi UID của lisa thành UID của john, bạn nhập một trong số các câu lệnh dưới đây:
sudo usermod -o -u 2028 lisa
sudo usermod --non-unique --uid 2028 lisa
Bước 4: Điền password, sau đó tiếp tục nhập câu lệnh bên dưới để kiểm tra GID:
id lisa john
Sau các thao tác trên, UID của lisa đã được thay đổi thành UID của john với giá trị 2028.
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 (ở đây là John):
id jhon
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 2040 john
sudo usermod -g 2040 john
Bước 3: Để kiểm tra UID đã được thay đổi hay chưa, hãy nhập lệnh sau:
id john
Như vậy, UID của john đã được thay đổi thành 2040 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 usermore -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 2029,2030,2031 john
sudo usermod --groups 2029,2030,2031 john
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, john đã được add thành công vào các group phụ đã chỉ định:
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 2033 john
sudo usermod --append --groups 2033 john
Bước 2: Tiếp theo, kiểm tra lại bằng câu lệnh sau:
id john
Lúc này, user john đã trở thành member của group8, đồ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 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 "this is john" john
sudo usermod --comment "this is john" john
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 john /etc/passwd
Như vậy, thông tin cho user john đã đượ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 james (/home/james) thành home directory của user david (/home/david). Câu lệnh tương ứng sẽ là:
getent passwd david james
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/david james
sudo usermod --home /home/david james
Bước 2: Tiếp theo, bạn khởi chạy câu lệnh dưới đây:
getent passwd james
Lúc này, bạn sẽ nhìn thấy home directory của user james đã được thay đổi từ /home/ james thành /home/ david.
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-home. Dưới đây là câu lệnh cơ bản:
getent passwd Lisa
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/amdadul/Public -m Lisa
sudo usermod --home /home/amdadul/Public --move-home Lisa
Bước 2: Tiếp tục nhập lệnh sau để kiểm tra kết quả:
getent passwd Lisa
Lúc này, home directory của user Lisa đã được di chuyển từ /home/Lisa đến /home/amdadul/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. Ở ví dụ dưới đây, Vietnix sẽ thay đổi login shell của user lisa (hiện tại là /bin/sh):
Để làm được điều đó, hãy thực hiện theo hướng dẫn chi tiết sau:
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/bash Lisa
sudo usermod --shell /bin/bash Lisa
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 Lisa sẽ được đổi từ /bin/sh thành /bin/bash .
getent passwd Lisa
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 Lisa
Các bước 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 2023-02-22 Lisa
sudo usermod --expiredate 2023-02-22 Lisa
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 Lisa
Như vậy, ngày hết hạn của user account Lisa đã được thay đổi từ không có thành 22/1/2023.
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 abcdefg123 Lisa
sudo usermod --password abcdefg123 Lisa
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 Lisa /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 hijklm123 Lisa
sudo usermod --password hijklm123 Lisa
Bước 2: Kiểm tra lại bằng câu lệnh bên dưới:
sudo grep Lisa /etc/shadow
Như vậy, password hiện tại của user Lisa đã được thay đổi từ abcdefg123 thành hijklm123.
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 Lisa
Hoặc
sudo usermod --lock Lisa
Bước 3: Cuối cùng, nhập lệnh dưới đây.
sudo grep Lisa /etc/shadow
Ngay bây giờ, bạn sẽ nhìn thấy dấu ! ngay sau user name của user Lisa – tức là tài khoản này đã bị lock.
Ví dụ 14: Unlock user account bằng lệnh “usermod” trong Linux
Nếu bạn đã lock một user account bất kỳ và bạn muốn unlock 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 Lisa
sudo usermod --unlock Lisa
Bước 2: Kiểm tra lại với lệnh sau:
sudo grep Lisa /etc/shadow
Lúc này, tài khoản Lisa đã mất đi dấu ! bên cạnh – tức là đã được unlock.
Lời kết
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ờ!