Trong thế giới quản trị hệ thống Linux, bảo mật luôn là ưu tiên hàng đầu. Một trong những hành động cơ bản nhưng cực kỳ quan trọng để bảo vệ hệ thống của bạn chính là quản lý mật khẩu người dùng. Mật khẩu yếu, bị lộ hoặc không được thay đổi thường xuyên có thể trở thành cửa ngõ cho những truy cập trái phép, gây ra những hậu quả khôn lường. May mắn thay, Linux cung cấp một công cụ dòng lệnh mạnh mẽ và đơn giản là passwd để giúp bạn giải quyết vấn đề này.
Bài viết này sẽ là kim chỉ nam chi tiết, hướng dẫn bạn từ A-Z cách sử dụng lệnh passwd để đổi mật khẩu trong Linux. Chúng ta sẽ cùng nhau đi từ những cú pháp cơ bản nhất dành cho người dùng cá nhân, đến các thao tác nâng cao dành cho quản trị viên hệ thống, khám phá các tùy chọn hữu ích và học cách xử lý các sự cố thường gặp. Dù bạn là người mới bắt đầu hay đã có kinh nghiệm, hướng dẫn này sẽ giúp bạn làm chủ công cụ passwd một cách tự tin và hiệu quả.
Giới thiệu về đổi mật khẩu người dùng trong Linux
Việc đổi mật khẩu thường xuyên là một phần không thể thiếu trong quy trình bảo mật của bất kỳ hệ thống máy tính nào, và Linux cũng không ngoại lệ. Tại sao nó lại quan trọng đến vậy? Hãy tưởng tượng mật khẩu của bạn như một chiếc chìa khóa vào ngôi nhà số. Nếu chiếc chìa khóa này quá đơn giản (ví dụ: “123456” hay “password”), bất kỳ ai cũng có thể dễ dàng đoán ra và đột nhập.
Các vấn đề bảo mật liên quan đến mật khẩu yếu hoặc bị lộ là vô cùng nghiêm trọng. Kẻ tấn công có thể chiếm quyền điều khiển tài khoản của bạn, đánh cắp dữ liệu nhạy cảm, cài đặt phần mềm độc hại hoặc thậm chí sử dụng hệ thống của bạn để tấn công các mục tiêu khác. Trong môi trường doanh nghiệp, một tài khoản bị xâm phạm có thể dẫn đến thiệt hại tài chính và uy tín nặng nề.
Để giải quyết triệt để vấn đề này, Linux cung cấp lệnh passwd. Đây là công cụ chuyên dụng, cho phép người dùng tự thay đổi mật khẩu của mình và quản trị viên (root) có thể quản lý mật khẩu của tất cả người dùng trên hệ thống. Việc sử dụng thành thạo lệnh passwd giúp bạn chủ động tăng cường lớp phòng thủ đầu tiên cho server hay máy tính cá nhân của mình.
Trong bài viết này, chúng ta sẽ khám phá cấu trúc lệnh passwd một cách toàn diện. Bắt đầu từ cách đổi mật khẩu cho chính bạn, đổi mật khẩu cho người dùng khác, tìm hiểu các tùy chọn nâng cao như khóa, mở khóa tài khoản, và cuối cùng là cách xử lý các lỗi phổ biến khi thao tác không thành công. Hãy cùng bắt đầu hành trình bảo mật hệ thống Linux là gì của bạn ngay bây giờ!

Cách sử dụng lệnh passwd để đổi mật khẩu
Lệnh passwd là một trong những lệnh bạn sẽ sử dụng thường xuyên nhất khi làm việc với Linux. Cách dùng lệnh này rất trực quan và dễ nhớ, dù bạn chỉ là người dùng thông thường hay một quản trị viên hệ thống.
Cú pháp cơ bản của lệnh passwd
Đây là thao tác cơ bản nhất mà mọi người dùng Linux đều nên biết: tự đổi mật khẩu cho tài khoản của mình. Việc này giúp bạn duy trì bảo mật cá nhân và tuân thủ các chính sách an toàn của hệ thống.
Để bắt đầu, bạn chỉ cần mở Terminal (cửa sổ dòng lệnh) và gõ lệnh sau rồi nhấn Enter:
passwd
Hệ thống sẽ ngay lập tức yêu cầu bạn nhập thông tin theo từng bước.
- Nhập mật khẩu hiện tại: Dòng nhắc đầu tiên sẽ là
(current) UNIX password:. Bạn cần nhập mật khẩu hiện tại của mình vào đây. Lưu ý rằng khi bạn gõ, sẽ không có bất kỳ ký tự nào (kể cả dấu *) xuất hiện trên màn hình. Đây là một tính năng bảo mật của Linux để ngăn người khác nhìn trộm mật khẩu của bạn. Sau khi nhập xong, hãy nhấn Enter.
- Nhập mật khẩu mới: Tiếp theo, hệ thống sẽ yêu cầu
New password:. Hãy nhập mật khẩu mới mà bạn muốn đặt.
- Xác nhận mật khẩu mới: Cuối cùng, bạn sẽ thấy dòng
Retype new password:. Bạn cần nhập lại chính xác mật khẩu mới một lần nữa để xác nhận.
Nếu hai lần nhập mật khẩu mới khớp nhau và tuân thủ các quy tắc về độ phức tạp của hệ thống (nếu có), bạn sẽ nhận được thông báo: passwd: password updated successfully. Điều này có nghĩa là bạn đã đổi mật khẩu thành công.

Đổi mật khẩu cho người dùng khác (quyền root)
Với vai trò là quản trị viên hệ thống (root user), bạn có quyền lực cao hơn, bao gồm cả việc đặt lại mật khẩu cho bất kỳ người dùng nào khác. Tính năng này cực kỳ hữu ích trong các trường hợp như người dùng quên mật khẩu hoặc cần thu hồi quyền truy cập của một tài khoản ngay lập tức.
Để đổi mật khẩu cho một người dùng khác, bạn cần sử dụng quyền sudo (Super User Do). Cú pháp như sau:
sudo passwd [tên_người_dùng]
Ví dụ, để đổi mật khẩu cho người dùng có tên là nhanvienA, bạn sẽ gõ lệnh:
sudo passwd nhanvienA
Sau khi bạn nhấn Enter, hệ thống sẽ yêu cầu bạn nhập mật khẩu của chính bạn (mật khẩu của người dùng có quyền sudo) để xác thực. Khi xác thực thành công, bạn sẽ được yêu cầu nhập mật khẩu mới cho nhanvienA và xác nhận lại mật khẩu đó.
Một điểm khác biệt quan trọng là khi quản trị viên đổi mật khẩu cho người dùng khác, hệ thống sẽ không yêu cầu nhập mật khẩu cũ của người dùng đó. Điều này cho phép bạn dễ dàng reset mật khẩu mà không cần biết thông tin cũ.
Lưu ý: Khi quản lý một hệ thống có nhiều người dùng, hãy thực hiện thao tác này một cách cẩn trọng. Luôn đảm bảo rằng bạn đang thay đổi mật khẩu cho đúng người dùng để tránh gây gián đoạn công việc của người khác.

Các tùy chọn phổ biến của lệnh passwd
Ngoài chức năng chính là đổi mật khẩu, lệnh passwd còn đi kèm với nhiều tùy chọn hữu ích giúp quản trị viên quản lý tài khoản người dùng một cách linh hoạt và an toàn hơn. Dưới đây là ba tùy chọn phổ biến nhất bạn nên biết.
Tùy chọn -l và -u để khóa và mở khóa tài khoản
Đây là hai tùy chọn cực kỳ quan trọng trong việc quản lý vòng đời của một tài khoản người dùng, đặc biệt là trong môi trường doanh nghiệp.
Tùy chọn -l (lock): Khóa tài khoản
Tùy chọn -l dùng để khóa một tài khoản người dùng. Khi một tài khoản bị khóa, người dùng đó sẽ không thể đăng nhập vào hệ thống bằng mật khẩu nữa. Cú pháp rất đơn giản:
sudo passwd -l [tên_người_dùng]
Ví dụ, để khóa tài khoản nhanvienA: sudo passwd -l nhanvienA
Khi nào nên sử dụng tùy chọn này?
- Khi một nhân viên tạm nghỉ: Bạn có thể tạm thời khóa tài khoản để đảm bảo an toàn cho đến khi họ quay trở lại.
- Khi phát hiện hoạt động đáng ngờ: Nếu bạn nghi ngờ một tài khoản đã bị xâm phạm, việc đầu tiên nên làm là khóa nó lại để ngăn chặn thiệt hại thêm trong khi bạn điều tra.
- Khi một nhân viên nghỉ việc: Thay vì xóa ngay tài khoản (có thể làm mất dữ liệu liên quan), bạn nên khóa tài khoản lại. Đây là một phương pháp an toàn hơn.
Tùy chọn -u (unlock): Mở khóa tài khoản
Ngược lại với -l, tùy chọn -u được dùng để mở lại một tài khoản đã bị khóa.
sudo passwd -u [tên_người_dùng]
Ví dụ, để mở khóa lại cho nhanvienA: sudo passwd -u nhanvienA
Sau khi lệnh này được thực thi thành công, người dùng có thể đăng nhập lại bằng mật khẩu cũ của họ.

Tùy chọn -d để xóa mật khẩu
Tùy chọn -d (delete) có một chức năng rất đặc biệt: xóa mật khẩu của một tài khoản. Điều này có nghĩa là tài khoản đó sẽ không có mật khẩu và người dùng có thể đăng nhập mà không cần nhập bất kỳ thông tin xác thực nào.
Cú pháp: sudo passwd -d [tên_người_dùng]
Tác dụng và rủi ro:
Khi bạn chạy lệnh sudo passwd -d someuser, tài khoản someuser sẽ trở thành một tài khoản không có mật khẩu. Bất kỳ ai biết tên người dùng này đều có thể đăng nhập.
Đây là một hành động cực kỳ rủi ro về mặt bảo mật. Việc cho phép đăng nhập không cần mật khẩu giống như để cửa nhà bạn mở toang. Nó chỉ nên được sử dụng trong những môi trường được kiểm soát chặt chẽ và không thể truy cập từ bên ngoài, ví dụ như một hệ thống thử nghiệm nội bộ.
Hướng dẫn sử dụng an toàn:
Trong hầu hết các trường hợp, bạn nên tránh sử dụng tùy chọn -d. Nếu bạn muốn vô hiệu hóa một tài khoản, hãy sử dụng passwd -l để khóa tài khoản đó lại. Khóa tài khoản sẽ an toàn hơn rất nhiều vì nó vô hiệu hóa việc đăng nhập bằng mật khẩu thay vì loại bỏ hoàn toàn yêu cầu mật khẩu.
Nếu bạn buộc phải sử dụng -d cho một mục đích đặc biệt, hãy đảm bảo rằng bạn hiểu rõ các rủi ro và thiết lập lại mật khẩu mới cho tài khoản đó ngay khi có thể bằng lệnh sudo passwd [tên_người_dùng].

Hướng dẫn đổi mật khẩu trên các phiên bản Linux khác nhau
Lệnh passwd là một công cụ chuẩn và có mặt trên hầu hết các bản phân phối Linux. Tuy nhiên, có thể có một vài khác biệt nhỏ trong cách quản lý quyền hạn hoặc cấu hình mặc định giữa các họ hệ điều hành như Debian/Ubuntu và CentOS/RedHat.
Đổi mật khẩu trên Ubuntu và các bản phân phối Debian
Trên các hệ thống dựa trên Debian như Ubuntu, Linux Mint, sudo là phương pháp tiêu chuẩn để thực thi các lệnh với quyền quản trị. Tài khoản người dùng được tạo ra trong quá trình cài đặt thường đã được thêm vào nhóm sudo, cho phép họ thực hiện các tác vụ quản trị.
Các bước đổi mật khẩu trên Ubuntu/Debian không có gì khác biệt so với hướng dẫn cơ bản:
- Đổi mật khẩu cá nhân: Mở Terminal và gõ
passwd.
- Đổi mật khẩu cho người dùng khác: Dùng lệnh
sudo passwd [tên_người_dùng].
Một điểm cần lưu ý là các hệ thống này thường có các quy tắc về độ phức tạp của mật khẩu được định nghĩa trong các tệp PAM (Pluggable Authentication Modules), thường là ở /etc/pam.d/common-password. Nếu bạn đặt một mật khẩu quá đơn giản (ví dụ: quá ngắn, giống mật khẩu cũ, hoặc dựa trên từ điển), hệ thống có thể từ chối và yêu cầu bạn chọn một mật khẩu khác mạnh hơn. Đây là một cơ chế bảo mật tốt giúp người dùng tránh tạo ra các mật khẩu yếu.

Thao tác đổi mật khẩu trên CentOS, RedHat và Fedora
Các bản phân phối thuộc họ Red Hat như CentOS, Fedora và Red Hat Enterprise Linux (RHEL) cũng sử dụng lệnh passwd theo cách tương tự. Tuy nhiên, trong môi trường truyền thống của Red Hat, việc chuyển hẳn sang người dùng root bằng lệnh su - đôi khi phổ biến hơn là dùng sudo cho từng lệnh.
- Đổi mật khẩu cá nhân: Vẫn là lệnh
passwd.
- Đổi mật khẩu cho người dùng khác: Bạn có thể dùng
sudo passwd [tên_người_dùng] nếu sudo đã được cấu hình. Hoặc, bạn có thể chuyển sang tài khoản root bằng su -, nhập mật khẩu root, sau đó chỉ cần gõ passwd [tên_người_dùng].
Sự khác biệt chính thường nằm ở cấu hình bảo mật mặc định. Các hệ thống như RHEL và CentOS thường được sử dụng trong môi trường doanh nghiệp và có thể đi kèm với các chính sách bảo mật chặt chẽ hơn được kích hoạt sẵn. Ví dụ, SELinux (Security-Enhanced Linux) được bật mặc định, cung cấp một lớp kiểm soát truy cập bắt buộc.
Mặc dù SELinux thường không can thiệp trực tiếp vào việc bạn đổi mật khẩu bằng passwd, nhưng nó là một phần của bức tranh bảo mật tổng thể. Khi gặp lỗi không rõ nguyên nhân trên các hệ thống này, việc kiểm tra log của SELinux (/var/log/audit/audit.log) đôi khi cũng có thể cung cấp thông tin hữu ích. Tuy nhiên, đối với thao tác đổi mật khẩu thông thường, trải nghiệm trên CentOS/RedHat gần như giống hệt với trên Ubuntu.

Xử lý sự cố khi đổi mật khẩu không thành công
Đôi khi, ngay cả một tác vụ đơn giản như đổi mật khẩu cũng có thể gặp lỗi. Đừng lo lắng, hầu hết các vấn đề đều có nguyên nhân rõ ràng và cách khắc phục tương đối đơn giản. Dưới đây là hai lỗi phổ biến nhất bạn có thể gặp phải.
Lỗi “Authentication token manipulation error”
Đây có lẽ là thông báo lỗi khó hiểu nhất khi dùng lệnh passwd. Khi bạn thấy dòng chữ passwd: Authentication token manipulation error, điều đó có nghĩa là hệ thống đã không thể cập nhật tệp tin chứa thông tin mật khẩu.
Nguyên nhân phổ biến và cách khắc phục:
- Phân vùng chứa
/etc bị đầy: Các tệp tin quản lý mật khẩu (/etc/passwd, /etc/shadow) nằm trong thư mục /etc. Nếu phân vùng chứa thư mục này (thường là phân vùng gốc /) đã đầy dung lượng, hệ thống sẽ không thể ghi thông tin mới.
- Cách khắc phục: Sử dụng lệnh
df -h để kiểm tra dung lượng trống của các phân vùng. Nếu bạn thấy phân vùng nào đó báo 100% sử dụng, bạn cần phải dọn dẹp bớt các tệp tin không cần thiết để giải phóng dung lượng.
- Hệ thống tệp tin ở chế độ chỉ đọc (Read-only): Đôi khi, do lỗi hệ thống, Linux có thể tự động chuyển hệ thống tệp tin sang chế độ chỉ đọc để bảo vệ dữ liệu. Khi đó, bạn không thể thay đổi bất kỳ tệp nào, bao gồm cả tệp mật khẩu.
- Cách khắc phục: Bạn có thể kiểm tra chế độ của hệ thống tệp bằng lệnh
mount | grep " / ". Nếu bạn thấy cờ ro (read-only), bạn cần khởi động lại máy chủ. Trong nhiều trường hợp, việc khởi động lại sẽ tự động chạy kiểm tra và sửa lỗi tệp tin.
- Tệp mật khẩu bị hỏng: Đây là trường hợp hiếm gặp nhưng vẫn có thể xảy ra. Nếu tệp
/etc/shadow hoặc /etc/passwd bị hỏng, lệnh passwd sẽ không hoạt động.
- Cách khắc phục: Việc này đòi hỏi kỹ năng quản trị nâng cao. Bạn có thể cần phải khởi động vào chế độ cứu hộ (rescue mode) và sử dụng các bản sao lưu của tệp tin này (nếu có) để khôi phục.

Không thể đổi mật khẩu do thiếu quyền
Lỗi này dễ nhận biết hơn nhiều. Nếu bạn cố gắng đổi mật khẩu cho một người dùng khác mà không có quyền quản trị, bạn sẽ nhận được thông báo lỗi như: passwd: You may not view or modify password information for [tên_người_dùng]. hoặc một thông báo tương tự về quyền hạn (permission denied).
Nguyên nhân: Lỗi này xảy ra đơn giản vì bạn đang thực hiện một hành động yêu cầu quyền root (quản trị viên) mà không sử dụng sudo. Chỉ có quản trị viên mới được phép thay đổi mật khẩu của người dùng khác.
Cách kiểm tra và phương pháp cấp quyền phù hợp:
- Sử dụng
sudo: Cách khắc phục đơn giản và đúng đắn nhất là thêm sudo vào trước lệnh của bạn.
- Thay vì
passwd nhanvienA, hãy gõ sudo passwd nhanvienA.
- Hệ thống sẽ yêu cầu bạn nhập mật khẩu của chính bạn để xác thực quyền
sudo.
- Kiểm tra bạn có trong nhóm
sudo không: Nếu lệnh sudo vẫn không hoạt động và báo lỗi liên quan đến “sudoers file”, có thể tài khoản của bạn không được cấp quyền sudo. Bạn có thể yêu cầu quản trị viên hệ thống kiểm tra bằng cách chạy lệnh groups [tên_tài_khoản_của_bạn] để xem bạn có thuộc nhóm sudo (trên Debian/Ubuntu) hoặc wheel (trên CentOS/RedHat) hay không.
- Chuyển sang người dùng
root: Trên một số hệ thống, bạn có thể chuyển hoàn toàn sang người dùng root bằng lệnh su -. Sau khi nhập mật khẩu root, bạn có thể chạy lệnh passwd [tên_người_dùng] mà không cần sudo.

Lưu ý và bảo mật khi đổi mật khẩu trong Linux
Việc biết cách đổi mật khẩu là một kỹ năng cần thiết, nhưng việc tạo và quản lý mật khẩu một cách an toàn còn quan trọng hơn. Một mật khẩu mạnh chính là lớp phòng thủ đầu tiên và hiệu quả nhất để bảo vệ dữ liệu của bạn.
Ưu tiên mật khẩu mạnh, tránh mật khẩu yếu hoặc dễ đoán
Một mật khẩu mạnh không chỉ là một chuỗi ký tự ngẫu nhiên. Nó phải là một pháo đài khó bị xuyên thủng. Hãy tuân thủ các nguyên tắc sau:
- Độ dài là sức mạnh: Ưu tiên mật khẩu dài (ít nhất 12-16 ký tự). Mỗi ký tự thêm vào sẽ làm tăng độ khó khi bị tấn công brute-force theo cấp số nhân.
- Sử dụng đa dạng ký tự: Kết hợp chữ hoa, chữ thường, số và các ký tự đặc biệt (ví dụ:
!, @, #, $, %).
- Tránh thông tin cá nhân: Tuyệt đối không sử dụng tên, ngày sinh, số điện thoại, hoặc các thông tin dễ đoán khác.
- Không dùng từ điển: Tránh các từ có trong từ điển, dù bạn có thay thế một vài chữ cái bằng số (ví dụ: “p@ssword” vẫn là một mật khẩu yếu).
Không chia sẻ mật khẩu và thay đổi định kỳ
Mật khẩu của bạn là thông tin bí mật cá nhân. Đừng bao giờ chia sẻ nó với bất kỳ ai, kể cả đồng nghiệp hay bộ phận hỗ trợ kỹ thuật. Nếu cần cấp quyền truy cập tạm thời, hãy tạo một tài khoản riêng hoặc sử dụng các cơ chế chia sẻ an toàn khác.
Ngoài ra, hãy tạo thói quen thay đổi mật khẩu định kỳ, ví dụ như mỗi 3-6 tháng. Điều này giúp giảm thiểu rủi ro nếu mật khẩu của bạn vô tình bị lộ trong một vụ rò rỉ dữ liệu nào đó mà bạn không hề hay biết.
Sử dụng các công cụ quản lý mật khẩu và xác thực đa yếu tố
Ghi nhớ hàng chục mật khẩu mạnh cho các dịch vụ khác nhau là điều không thể. Đây là lúc các công cụ quản lý mật khẩu tỏa sáng. Các ứng dụng như Bitwarden, KeePassXC, hay 1Password có thể tạo và lưu trữ an toàn các mật khẩu cực kỳ phức tạp cho bạn. Bạn chỉ cần nhớ một mật khẩu chủ duy nhất.
Để nâng cấp bảo mật lên một tầm cao mới, hãy cân nhắc kích hoạt Xác thực đa yếu tố (MFA/2FA) cho các tài khoản Linux của bạn, đặc biệt là các tài khoản có quyền truy cập SSH từ xa. Bằng cách sử dụng các module PAM như libpam-google-authenticator, bạn có thể yêu cầu người dùng nhập một mã xác thực tạm thời từ ứng dụng trên điện thoại (như Google Authenticator hoặc Authy) sau khi nhập mật khẩu. Lớp bảo vệ bổ sung này khiến việc truy cập trái phép gần như là không thể, ngay cả khi kẻ tấn công biết được mật khẩu của bạn.

Kết luận
Qua bài viết chi tiết này, chúng ta đã cùng nhau tìm hiểu toàn diện về cách quản lý mật khẩu trong hệ điều hành Linux bằng lệnh passwd. Từ việc thay đổi mật khẩu cá nhân một cách đơn giản, đến việc quản trị viên thực hiện các thao tác nâng cao như đặt lại mật khẩu cho người dùng khác, khóa hay mở khóa tài khoản. Chúng ta cũng đã trang bị thêm kiến thức để xử lý các sự cố thường gặp và nắm vững các nguyên tắc bảo mật quan trọng.
Việc đổi mật khẩu không chỉ là một thao tác kỹ thuật, mà còn là một thói quen bảo mật thiết yếu. Bằng cách sử dụng passwd một cách hiệu quả và luôn tuân thủ các quy tắc tạo mật khẩu mạnh, bạn đang xây dựng một bức tường thành vững chắc, bảo vệ hệ thống của mình khỏi những cặp mắt tò mò và các mối đe dọa tiềm tàng.
Bùi Mạnh Đức hy vọng rằng hướng dẫn này đã cung cấp cho bạn những kiến thức thực tiễn và hữu ích. Hãy bắt đầu áp dụng ngay hôm nay bằng cách kiểm tra và cập nhật mật khẩu của bạn. Bảo mật hệ thống là một hành trình liên tục, và việc làm chủ các công cụ cơ bản như passwd chính là bước đi đầu tiên vững chắc trên con đường đó. Đừng quên khám phá thêm các bài viết chuyên sâu khác về quản trị hệ thống Linux và bảo mật tại BUIMANHDUC.COM nhé.