Cách sử dụng lệnh Usermod trong Linux

Hướng dẫn chi tiết về cách sử dụng lệnh usermod trong hệ thống Linux với nhiều ví dụ khác nhau

Các usermod lệnh là lệnh mạnh mẽ nhất trong số tất cả các tiện ích sửa đổi tài khoản người dùng được cung cấp bởi hệ thống Linux. Nó cung cấp không gian để người dùng thực hiện bất kỳ sửa đổi nào đối với các tài khoản người dùng hiện có.

Usermod giúp thay đổi các thuộc tính của người dùng hiện có trên hệ thống Linux. Các thuộc tính này có thể bao gồm các tham số như mật khẩu, tên đăng nhập, thư mục đăng nhập, ngày hết hạn, thay đổi ID người dùng và nhiều thông số khác.

Quản lý tất cả các chi tiết tài khoản người dùng từ dòng lệnh là một nhiệm vụ khá dễ dàng, nhưng không phải ai cũng biết các lệnh để làm như vậy. Chúng tôi sẽ hướng dẫn bạn qua tất cả các tình huống có thể xảy ra với usermod trong môi trường Linux.

Ghi chú: Để thực hiện usermod lệnh bạn cần là người dùng root hoặc bạn cần phải có sudo truy cập.

Tệp có chi tiết người dùng

Khi bạn sắp sử dụng usermod , điều rất quan trọng là bạn phải biết các tệp mà bạn có thể yêu cầu để làm việc. Các tệp này chứa tất cả các thông tin liên quan đến các tài khoản người dùng hiện có trên hệ thống.

Tập tinSự miêu tả
/ etc / passwdChứa một số thông tin về người dùng
/ etc / groupChứa thông tin về từng nhóm được sử dụng trên hệ thống
/ etc / gshadowChứa thông tin tài khoản nhóm an toàn
/etc/login.defsXác định cấu hình trang web cụ thể cho bộ mật khẩu bóng.
/ etc / shadowChứa mật khẩu được mã hóa cũng như các thông tin khác như giá trị hết hạn của tài khoản hoặc mật khẩu

Cú pháp cơ bản của lệnh Usermod

Cú pháp sử dụng usermod về bản chất lệnh khá cơ bản. Điều quan trọng là biết các tùy chọn mà lệnh này sẽ được thực thi.

Cú pháp:

tên người dùng usermod [options] 

Tùy chọn:

Tùy chọnCách sử dụng
-lThay đổi tên của người dùng
-dSửa đổi thư mục chính của tài khoản người dùng hiện có
-LKhóa tài khoản người dùng bằng cách vô hiệu hóa mật khẩu
-UMở khóa khóa mật khẩu
-mDi chuyển nội dung từ thư mục chính hiện có của người dùng đến bất kỳ vị trí thư mục mới nào
-uThay đổi id người dùng của người dùng hiện tại
-gThay đổi nhóm người dùng
-GDanh sách các nhóm bổ sung mà người dùng cũng là thành viên.
-STạo vỏ cho tài khoản mới
-eThay đổi ngày hết hạn của tài khoản người dùng

Các ứng dụng của Lệnh Usermod

Như đã nêu trong bảng trên, usermod lệnh được sử dụng với các tùy chọn khác nhau để thao tác các thuộc tính liên quan đến thông tin tài khoản người dùng.

Làm theo các ví dụ dưới đây để sử dụng usermod lệnh cho các tác vụ của bạn liên quan đến tài khoản người dùng và thao tác với các thuộc tính của nó.

Thay đổi tên người dùng

Tên của người dùng là lựa chọn cá nhân và có thể được thay đổi bất cứ khi nào người dùng muốn làm như vậy. Bạn có thể thay đổi tên đăng nhập người dùng của những người dùng hiện có trong Hệ thống Linux thông qua dòng lệnh cũng như GUI từ Cài đặt. Bạn có thể làm theo các lệnh dưới đây để thực hiện việc này thông qua dòng lệnh bằng cách sử dụng usermod yêu cầu.

Cú pháp:

usermod -l [tên người dùng mới] [tên người dùng hiện có]

Thí dụ:

sudo usermod -l batman tạm thời

Đầu ra:

Bạn có thể xác nhận thay đổi tên người dùng bằng cách chạy id [người dùng] lệnh lệnh.

gaurav @ ubuntu: ~ $ id batman uid = 1002 (batman) gid = 1002 (tạm thời) nhóm = 1002 (tạm thời) gaurav @ ubuntu: ~ $ id id tạm thời: ‘tạm thời’: không có người dùng nào như vậy gaurav @ ubuntu: ~ $

Trong kết quả đầu ra ở trên, rõ ràng là tên người dùng ‘tạm thời’ được thay đổi thành tên người dùng mới ‘batman’.

Thay đổi nhóm chính của một người dùng hiện tại

Trong hệ sinh thái Linux, tập hợp người dùng hệ thống máy tính được gọi là ‘Nhóm’. Mục đích chính của việc có ‘Nhóm’ là xác định các đặc quyền nhất định (Đọc, Viết, Thực thi) đối với các tài nguyên được chia sẻ trong người dùng của nhóm. Thông thường, nhóm chính của một người dùng có cùng tên với tên của tên người dùng.

Với usermod, bạn có thể thay đổi nhóm chính của một người dùng và thêm người dùng vào một nhóm khác.

Bạn có thể kiểm tra các nhóm trên hệ thống của mình bằng cách sử dụng các nhóm yêu cầu.

gaurav @ ubuntu: ~ $ groups gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav @ ubuntu: ~ $

Để thay đổi nhóm chính của người dùng, bạn sẽ cần tên nhóm của nhóm chính mà người dùng hiện được thêm vào. Sử dụng id [tên người dùng] lệnh để lấy tên nhóm và id nhóm của nhóm chính hiện tại của người dùng.

gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 1000 (batman) nhóm = 1000 (batman), 128 (sambashare), 4 (adm), 24 (cdrom), 27 (sudo) gaurav @ ubuntu: ~ $ 

Ở đây nhóm chính là ‘người dơi‘. Bây giờ, hãy sử dụng usermod lệnh để thay đổi nhóm chính của người dùng. Tôi đang thay đổi nhóm chính của người dùng thành 'sambashare'. Kiểm tra lệnh sau.

Cú pháp:

sudo usermod -g [tên nhóm] [tên người dùng]

Thí dụ:

 sudo usermod -g sambashare batman

Đầu ra:

gaurav @ ubuntu: ~ $ sudo usermod -g sambashare batman gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 128 (sambashare) groups = 128 (sambashare), 1000 (batman), 4 (adm), 24 (cdrom), 27 (sudo) gaurav @ ubuntu: ~ $ 

Sử dụng thao tác trên, nhóm chính của người dơi người dùng bây giờ được đổi thành ‘sambashare’.

Thêm nhóm mới vào người dùng hiện tại

Tài khoản người dùng có thể thuộc về nhiều nhóm trong hệ thống Linux. Mỗi người dùng có một nhóm chính. Và Linux cũng cho phép thêm các nhóm thứ cấp vào người dùng.

Synatx:

sudo usermod -G [nhóm mới] [tên người dùng]

Thí dụ:

sudo usermod -G dơi nhúng

Đầu ra:

gaurav @ ubuntu: ~ $ sudo usermod -G nhúng batman gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 128 (sambashare) groups = 128 (sambashare), 30 (dip) gaurav @ ubuntu: ~ $ 

Ở đây nhóm mới có tên là ‘dip’ được thêm vào người dùng ‘batman’.

Ghi chú: Để thêm nhóm mới làm 'Nhóm phụ', bạn nên sử dụng -Một tham số.

-Một có nghĩa nối thêm. Sử dụng -Một trước -G sẽ thêm nhóm làm 'Nhóm phụ' mà không thay đổi 'Nhóm chính' của người dùng.

Sử dụng lệnh sau để giữ nguyên nhóm chính của người dùng.

sudo usermod -a -G [nhóm để thêm] [Người dùng]

Thay đổi thư mục chính của người dùng

Khi bạn đăng nhập vào hệ thống của mình, phiên của bạn sẽ bắt đầu trong thư mục chính, thư mục này duy nhất cho tài khoản người dùng của bạn. Hệ thống chỉ định thư mục duy nhất này khi tài khoản người dùng được tạo. Linux cung cấp cho bạn một tùy chọn để thay đổi ‘Thư mục chính’ của bạn. Hầu hết thời gian, tên của ‘Home Directory’ giống với tên người dùng và được đặt dưới /Trang Chủ danh mục.

Sử dụng lệnh sau để thay đổi "Home Directory" của người dùng.

Cú pháp:

sudo usermod -d [new_directory_path] [tên người dùng]

Để xác minh xem Home Directory đã thay đổi hay chưa, hãy sử dụng grep yêu cầu. Tôi đã hiển thị thông tin về người dùng 'batman' từ / etc / passwd tập tin.

gaurav @ ubuntu: ~ $ sudo usermod -d / var / hpq / batman gaurav @ ubuntu: ~ $ grep 'var / hpq /' / etc / passwd batman: x: 1001: 4 :: / var / hpq /: / bin / false gaurav @ ubuntu: ~ $

Ghi chú: Để di chuyển nội dung từ thư mục chính cũ sang thư mục mới, bạn phải sử dụng -m. Sử dụng cú pháp như hình dưới đây.

sudo usermod -m -d [new_directory_path] [tên người dùng]

Thay đổi Uid (Định danh Người dùng) của Người dùng

Uid (Định danh người dùng) là giá trị số duy nhất được Linux gán cho mọi người dùng. Hệ thống xác định người dùng với một uid được giao cho nó. UID số 0 được chỉ định cho người dùng root.

Bạn có thể thay đổi UID của người dùng bằng lệnh bên dưới.

Cú pháp:

sudo usermod -u [new_UID] người dùng

Thí dụ:

Kiểm tra uid hiện tại cho người dùng batman bằng cách sử dụng id [người dùng] yêu cầu.

gaurav @ ubuntu: ~ $ id batman uid = 1000 (batman) gid = 4 (adm) groups = 4 (adm), 30 (dip)

Uid của người dơi hiện là 1000. Hãy thay đổi nó thành 536 bằng cách sử dụng usermod-u yêu cầu.

gaurav @ ubuntu: ~ $ sudo usermod -u 536 batman [sudo] mật khẩu cho gaurav: gaurav @ ubuntu: ~ $

Bây giờ, hãy kiểm tra lại uid của người dùng batman bằng cách sử dụng id [người dùng] yêu cầu

gaurav @ ubuntu: ~ $ id batman uid = 536 (batman) gid = 4 (adm) groups = 4 (adm), 30 (dip) gaurav @ ubuntu: ~ $

Ở đây, chúng ta có thể thấy rằng uid của người dùng batman được thay đổi từ 1000 thành 536 bằng cách sử dụng usermod -u yêu cầu.

Thêm nhận xét cá nhân bằng tài khoản người dùng

Hãy lấy một ví dụ về người dùng 'batman'. Người dùng này đang làm việc trong một văn phòng lớn và gần đây anh ta đã thay đổi số điện thoại cơ quan và số bàn của mình. Vì vậy, anh ấy có thể thêm các chi tiết đã sửa đổi này vào tài khoản người dùng của mình bằng cách sử dụng usermod -c yêu cầu.

Cú pháp:

sudo usermod -c Người dùng "Bình luận của bạn" 

Đầu ra:

gaurav @ ubuntu: ~ $ sudo usermod -c "Tony Stark, 405, 95985475" batman gaurav @ ubuntu: ~ $ sudo grep 'batman' / etc / passwd batman: x: 536: 4: Tony Stark, 405, 95985475: / var / hpq /: / bin / false gaurav @ ubuntu: ~ $

Những thay đổi sẽ được phản ánh trong / etc / passwd tập tin.

Khóa / vô hiệu hóa người dùng

Nếu bạn muốn hạn chế quyền truy cập vào hệ thống cho một người dùng nhất định, bạn có thể làm như vậy bằng cách khóa mật khẩu của người dùng cụ thể đó. Vì vậy, ngay cả khi người dùng cố gắng đăng nhập bằng mật khẩu, anh ta sẽ không được cấp quyền truy cập vào hệ thống. ! biểu tượng sẽ được thêm vào trước mật khẩu được mã hóa của người dùng trong / etc / shadow , nghĩa là mật khẩu đã bị vô hiệu hóa.

Cú pháp:

sudo usermod -L [người dùng]

Đầu ra:

gaurav @ ubuntu: ~ $ sudo usermod -L batman gaurav @ ubuntu: ~ $ sudo grep batman / etc / shadow batman:!: 17612: 0: 99999: 7 ::: gaurav @ ubuntu: ~ $

Mở khóa / cho phép người dùng

Bạn có thể dễ dàng mở khóa / kích hoạt mật khẩu của người dùng đã bị vô hiệu hóa trước đó. Bạn có thể kiểm tra / etc / shadow nộp hồ sơ cho sự thay đổi. ! biểu tượng sẽ bị xóa khỏi mật khẩu được mã hóa của người dùng.

Cú pháp:

sudo usermod -U [người dùng]
gaurav @ ubuntu: ~ $ sudo usermod -U batman gaurav @ ubuntu: ~ $ sudo grep batman / etc / shadow batman: t: 18511: 0: 99999: 7 ::: gaurav @ ubuntu: ~ $

Thay đổi lớp vỏ người dùng

GNU / Linux shell là một tiện ích tương tác đặc biệt. Nó cung cấp một cách để người dùng khởi động chương trình, quản lý tệp trên hệ thống tệp và quản lý các tiến trình đang chạy trên hệ thống Linux. Vỏ chứa một tập hợp các lệnh bên trong mà bạn sử dụng để kiểm soát những thứ như sao chép tệp, di chuyển tệp, đổi tên tệp, hiển thị các chương trình hiện đang chạy trên hệ thống và dừng các chương trình đang chạy trên hệ thống.

Bạn có thể thay đổi người dùng của shell bằng cách sử dụng usermod -s yêu cầu. Sử dụng cú pháp dưới đây.

Cú pháp:

sudo usermod -s / bin / sh [người dùng]
gaurav @ ubuntu: ~ $ sudo usermod -s / bin / sh batman [sudo] mật khẩu cho gaurav: gaurav @ ubuntu: ~ $ grep batman / etc / passwd batman: x: 536: 4: Đây là tài khoản demo của tôi: / var / www /: / bin / sh

Bạn có thể xác minh thay đổi bằng cách sử dụng grep như được hiển thị trong đầu ra ở trên.

Đặt ngày hết hạn của người dùng

Nếu bạn muốn một tài khoản người dùng nhất định chỉ được sử dụng trong một khoảng thời gian cụ thể thì bạn có thể đặt ngày hết hạn trên tài khoản người dùng đó. Ngày hết hạn được đặt ở dạng YYYY-MM-DD.

Cú pháp:

usermod -e [YYYY-MM-DD] [Người dùng]

Để kiểm tra ngày hết hạn hiện tại của tài khoản, hãy sử dụng chage -l [người dùng] yêu cầu.

gaurav @ ubuntu: ~ $ sudo chage -l batman [sudo] mật khẩu cho gaurav: Lần thay đổi mật khẩu cuối cùng: 06/09/2020 Mật khẩu hết hạn: không bao giờ Mật khẩu không hoạt động: không bao giờ Tài khoản hết hạn: không bao giờ Số ngày tối thiểu giữa các lần thay đổi mật khẩu: 0 Số lượng tối đa số ngày giữa các lần thay đổi mật khẩu: 99999 Số ngày cảnh báo trước khi mật khẩu hết hạn: 7 gaurav @ ubuntu: ~ $ 

Trong kết quả trên, chúng ta có thể thấy rằng hiện tại ngày hết hạn của batman người dùng chưa được đặt. Bây giờ chúng ta sẽ sử dụng chế độ người dùng lệnh đặt ngày hết hạn cho batman người dùng.

Thí dụ:

sudo usermod -e 2022-06-19 batman

Bây giờ, chúng tôi sẽ kiểm tra lại trạng thái ngày hết hạn của người dùng bằng cách sử dụng chage -l [người dùng] yêu cầu.

gaurav @ ubuntu: ~ $ sudo chage -l batman [sudo] mật khẩu cho gaurav: Lần thay đổi mật khẩu cuối cùng: 06/09/2020 Mật khẩu hết hạn: không bao giờ Mật khẩu không hoạt động: không bao giờ Tài khoản hết hạn: 19/06/2022 Số ngày tối thiểu giữa các lần thay đổi mật khẩu: 0 Số ngày tối đa giữa các lần thay đổi mật khẩu: 99999 Số ngày cảnh báo trước khi mật khẩu hết hạn: 7 gaurav @ ubuntu: ~ $ 

Bằng cách này, chúng tôi đã đặt ngày hết hạn cho tài khoản người dùng ‘batman’ là ngày 19 tháng 6 năm 2022.

Sự kết luận

Trong hướng dẫn này, chúng ta đã thấy các ứng dụng của usermod lệnh để sửa đổi dữ liệu tài khoản người dùng cơ bản một cách toàn diện. Vui lòng liên hệ với chúng tôi trong trường hợp chúng tôi bỏ lỡ điều gì đó.

Hãy xem các bài viết khác của chúng tôi bên dưới để tìm hiểu thêm về Công nghệ. Chúc bạn học vui vẻ!