NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
02/08/2024
Lượt xem

Tìm hiểu lệnh usermod trong Linux với 14 ví dụ cụ thể, dễ hiểu

02/08/2024
19 phút đọc
Lượt xem

Đánh giá

5/5 - (1 bình chọn)

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.

Lệnh usermod một công cụ hữu ích cho phép bạn thay đổi các thuộc tính của user
Lệnh usermod một công cụ hữu ích cho phép bạn thay đổi các thuộc tính của user

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ọnMô tả
-a, –appendAdd 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, –badnamesCho phép sử dụng các username không tuân thủ quy tắc đặt tên tiêu chuẩn.
-c, –commentAdd trường comment cho user account.
-d, –homeSử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, –inactiveVô 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, –gidThay đổi group chính cho user.
-G, –groupsAdd group bổ sung.
-L, –lockKhóa password của user.
-m, –move-homeDi chuyển nội dung của home directory từ home directory hiện tại sang directory mới.
-o, –non-uniqueThay đổ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, –passwordChỉ đị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, –shellChỉ định login shell mới của user.
-u, –uidChỉ định giá trị số mới của user ID.
-U, –unlockMở 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.

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
Output danh sách group mà user mary đang là thành viên
Output danh sách group mà user mary đang là thành viên

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.

Output đã đổi username
Output đã đổi username

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
Kiểm tra UID của user lisa
Kiểm tra UID của user 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.

Output UID đã được thay đổi
Output UID đã được thay đổi

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).

Output thông tin về user cần tìm
Output thông tin về user cần tìm

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.

Output UID đã được thay đổi
Output UID đã được thay đổi

Lưu ý: Vì user với UID 2028 là member của group john với GID 2028, nên khi thay đổi UID, group của lisa cũng trở thành john.

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
Output ID và GID của user
Output ID và GID của user

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:

Output UID đã được thay đổi
Output UID đã được thay đổ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:

Output john đã được add thành công vào các group
Output john đã được add thành công vào các group

Lưu ý: 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 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 đó.

Output John đã được thêm vào group phụ hiện có
Output John đã được thêm vào group phụ hiện 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:

Output thông tin cho user đã được thêm
Output thông tin cho user đã được thêm

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
Output đổi home directory
Output đổi home directory

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.

Home directory của user james đã được thay đổi bằng cách khách
Home directory của user james đã được thay đổi bằng cách khách

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:

Output
Output

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

Output home directory của user đã được di chuyển
Output home directory của user đã được di chuyển

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):

Shell đăng nhập hiện tại của người dùng này là /bin/sh
Shell đăng nhập hiện tại của người dùng này 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
Output login shell của user đã được thay đổi
Output login shell của user đã được thay đổi

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
Output
Output

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.

Output ngày hết hạn đã được chỉnh sửa
Output ngày hết hạn đã được chỉnh sửa

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:

Output lúc đầu user không có password
Output lúc đầu 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
Output user đã đặt password
Output user đã đặt password

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.

Output password hiện tại của user đã được thay đổi
Output password hiện tại của user đã được thay đổi

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.

Output tài khoản user đã bị block
Output tài khoản user đã bị block

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.

Output tài khoản user đã được unblock
Output tài khoản user đã được unblock

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ờ!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Black Friday Hosting & VPS

Chương trình kết thúc sau

Giảm giá 40% hosting VPS

50 coupon mỗi ngày

Gia hạn giá không đổi

NHẬN DEAL NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG