Lệnh pwconv trong linux với các ví dụ dễ hiểu

Lệnh pwconv trong Linux giúp bạn chuyển đổi thông tin tài khoản người dùng từ file `/etc/passwd` sang `/etc/shadow` để tăng cường bảo mật. pwconv sẽ tạo ra file `/etc/shadow` nếu nó chưa tồn tại, đồng thời xóa mật khẩu đã mã hóa khỏi `/etc/passwd`. Việc này giúp ngăn chặn việc đọc trộm mật khẩu, vì chỉ người dùng root mới có quyền truy cập `/etc/shadow`.

Lệnh pwconv trong linux là gì?

Lệnh command pwconv in linux là một công cụ quản lý mật khẩu quan trọng, giúp chuyển đổi thông tin mật khẩu từ file `/etc/passwd` sang `/etc/shadow`. File `/etc/shadow` lưu trữ mật khẩu đã mã hóa, tăng cường bảo mật hệ thống bằng cách hạn chế quyền truy cập trực tiếp. Khi chạy pwconv, nó sẽ tạo file `/etc/shadow` nếu chưa tồn tại, hoặc cập nhật nếu đã có, đồng thời xóa mật khẩu khỏi `/etc/passwd`. Việc này đảm bảo rằng chỉ người dùng root mới có thể đọc được thông tin mật khẩu đã mã hóa, bảo vệ hệ thống khỏi các cuộc tấn công. Sử dụng pwconv là một bước cần thiết để tăng cường an ninh cho hệ thống Linux của bạn một cách hiệu quả.

Tìm hiểu Mục đích của Lệnh pwconv

Trong bước này, chúng ta sẽ khám phá mục đích của lệnh pwconv trong Linux. Lệnh pwconv được dùng để chuyển đổi file mật khẩu truyền thống /etc/passwd sang file mật khẩu shadow /etc/shadow.

File mật khẩu truyền thống /etc/passwd lưu trữ thông tin tài khoản người dùng, bao gồm tên người dùng, ID người dùng, ID nhóm, thư mục home và shell. Tuy nhiên, file này có thể đọc được bởi tất cả người dùng, gây ra rủi ro bảo mật vì nó hiển thị mật khẩu người dùng ở dạng văn bản thuần túy.

Để giải quyết mối lo ngại về bảo mật này, file mật khẩu shadow /etc/shadow đã được giới thiệu. File này lưu trữ mật khẩu người dùng đã được mã hóa và chỉ có thể đọc được bởi người dùng root, cung cấp khả năng bảo vệ mật khẩu tốt hơn.

Lệnh pwconv được sử dụng để di chuyển thông tin mật khẩu từ file /etc/passwd sang file /etc/shadow, đảm bảo rằng mật khẩu người dùng được lưu trữ an toàn.

Hãy xem cách sử dụng lệnh pwconv:

sudo pwconv

Ví dụ về đầu ra:

Converting user database...

Lệnh pwconv sẽ tự động tạo file /etc/shadow và di chuyển thông tin mật khẩu từ file /etc/passwd.

Sau khi chạy lệnh pwconv, bạn có thể xác minh các thay đổi bằng cách kiểm tra nội dung của các file /etc/passwd/etc/shadow:

sudo cat /etc/passwd | head -n 3
sudo cat /etc/shadow | head -n 3

Ví dụ về đầu ra:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
root:$6$xxxxxxxxxx:18692:0:99999:7:::
daemon:*:18692:0:99999:7:::
bin:*:18692:0:99999:7:::

Như bạn có thể thấy, trường mật khẩu trong file /etc/passwd đã được thay thế bằng 'x', và thông tin mật khẩu thực tế hiện được lưu trữ trong file /etc/shadow, chỉ người dùng root mới có thể truy cập.

Tạo và Quản Lý Mật Khẩu Người Dùng Bằng pwconv

Trong bước này, chúng ta sẽ tìm hiểu cách tạo và quản lý mật khẩu người dùng bằng lệnh pwconv.

Đầu tiên, hãy tạo một tài khoản người dùng mới để thực hành các thao tác quản lý mật khẩu:

sudo useradd -m newuser

Tiếp theo, chúng ta cần đặt mật khẩu cho người dùng mới vừa tạo bằng lệnh passwd.

sudo passwd newuser

Bạn sẽ được yêu cầu nhập và xác nhận mật khẩu mới cho tài khoản newuser.

Ví dụ về kết quả trả về:

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Sau khi đặt mật khẩu, sử dụng lệnh pwconv để chuyển thông tin mật khẩu vào file /etc/shadow.

sudo pwconv

Ví dụ về kết quả trả về khi thực hiện lệnh:

Converting user database...

Để kiểm tra các thay đổi, hãy xem nội dung của file /etc/passwd/etc/shadow.

sudo cat /etc/passwd | grep newuser
sudo cat /etc/shadow | grep newuser

Ví dụ về kết quả trả về sau khi kiểm tra:

newuser:x:1001:1001::/home/newuser:/bin/bash
newuser:$6$xxxxxxxxxx:18692:0:99999:7:::

Bạn có thể thấy, trường mật khẩu trong file /etc/passwd đã được thay thế bằng 'x'.

Thông tin mật khẩu thực tế hiện được lưu trữ trong file /etc/shadow để bảo mật hơn.

Bạn cũng có thể dùng pwconv để cập nhật thông tin mật khẩu cho người dùng hiện có.

Nếu mật khẩu của người dùng đang ở /etc/passwd, pwconv sẽ chuyển nó sang /etc/shadow.

Khắc phục sự cố chuyển đổi mật khẩu với pwconv

Trong bước này, chúng ta sẽ tìm hiểu cách khắc phục các sự cố có thể phát sinh khi dùng lệnh pwconv để chuyển đổi mật khẩu người dùng.

Một vấn đề thường gặp là khi file /etc/shadow đã tồn tại và chứa thông tin mật khẩu. Trong trường hợp này, việc chạy lệnh pwconv có thể không cập nhật thông tin mật khẩu như mong đợi.

Hãy cùng mô phỏng tình huống này:

## Tạo một tài khoản người dùng mới
sudo useradd -m newuser2

## Đặt mật khẩu cho người dùng mới
sudo passwd newuser2

Bây giờ, hãy kiểm tra file /etc/shadow:

sudo cat /etc/shadow | grep newuser2

Ví dụ về kết quả:

newuser2:$6$xxxxxxxxxx:18692:0:99999:7:::

Như bạn thấy, thông tin mật khẩu cho tài khoản newuser2 đã có trong file /etc/shadow.

Nếu bây giờ chúng ta chạy lệnh pwconv, nó sẽ không cập nhật thông tin mật khẩu:

sudo pwconv

Ví dụ về kết quả:

Converting user database...

Để khắc phục sự cố này, ta có thể dùng lệnh pwunconv để tạm thời hoàn tác thông tin mật khẩu về file /etc/passwd, sau đó chạy lại pwconv để di chuyển thông tin mật khẩu một cách chính xác.

## Hoàn tác thông tin mật khẩu về /etc/passwd
sudo pwunconv

## Chuyển đổi thông tin mật khẩu trở lại /etc/shadow
sudo pwconv

Bây giờ, hãy xác minh các thay đổi:

sudo cat /etc/passwd | grep newuser2
sudo cat /etc/shadow | grep newuser2

Ví dụ về kết quả:

newuser2:x:1002:1002::/home/newuser2:/bin/bash
newuser2:$6$xxxxxxxxxx:18692:0:99999:7:::

Thông tin mật khẩu cho tài khoản newuser2 hiện đã được lưu trữ chính xác trong file /etc/shadow.

Bằng cách sử dụng kết hợp các lệnh pwunconvpwconv, bạn có thể khắc phục mọi sự cố liên quan đến việc chuyển đổi mật khẩu và đảm bảo rằng mật khẩu người dùng được lưu trữ an toàn trong file /etc/shadow.

Kết luận cho linux pwconv command

Tóm lại, linux pwconv command là một công cụ hữu ích để tăng cường bảo mật cho hệ thống Linux của bạn. Nó giúp bạn chuyển đổi thông tin mật khẩu từ /etc/passwd sang /etc/shadow, nơi chỉ người dùng root mới có quyền truy cập. Việc này giúp ngăn chặn những kẻ tấn công tiềm năng đọc được mật khẩu đã được băm của người dùng. Hãy nhớ rằng, sau khi sử dụng lệnh này, bạn nên kiểm tra lại các tệp /etc/passwd và /etc/shadow để đảm bảo mọi thứ hoạt động bình thường. Sử dụng linux pwconv command một cách cẩn thận và luôn sao lưu dữ liệu trước khi thực hiện bất kỳ thay đổi nào đối với hệ thống của bạn. Hy vọng hướng dẫn này đã giúp bạn hiểu rõ hơn về cách sử dụng lệnh này để bảo vệ hệ thống của mình. Chúc bạn thành công trong việc quản lý bảo mật hệ thống Linux của mình!

Last Updated : 15/10/2025