Kiến thức Hữu ích 😍

Hướng Dẫn Đổi Mật Khẩu Linux An Toàn, Nhanh Chóng


Giới thiệu về đổi mật khẩu người dùng trong Linux

Trong thế giới quản trị hệ thống Linux, việc bảo vệ tài khoản người dùng là một trong những ưu tiên hàng đầu. Mật khẩu chính là lớp phòng thủ đầu tiên và quan trọng nhất, giúp ngăn chặn các truy cập trái phép vào dữ liệu nhạy cảm. Một mật khẩu yếu, dễ đoán hoặc bị lộ có thể mở toang cánh cửa cho kẻ xấu, dẫn đến những hậu quả nghiêm trọng như mất dữ liệu, hệ thống bị chiếm quyền điều khiển hoặc thậm chí là tấn công lan rộng sang các máy chủ khác trong mạng.

Hiểu được tầm quan trọng này, Linux cung cấp một công cụ mạnh mẽ và đơn giản là lệnh passwd. Đây là giải pháp tích hợp sẵn, cho phép người dùng tự đổi mật khẩu cá nhân và quản trị viên hệ thống có thể quản lý mật khẩu cho tất cả người dùng. Bài viết này của AZWEB sẽ hướng dẫn bạn từ những bước cơ bản nhất đến các tùy chọn nâng cao và cách xử lý các lỗi thường gặp khi sử dụng lệnh passwd, giúp bạn nắm vững kỹ năng quản lý mật khẩu một cách an toàn và hiệu quả.

Hình minh họa

Cách sử dụng lệnh passwd để đổi mật khẩu

Lệnh passwd là công cụ chính yếu và tiện lợi nhất để thay đổi mật khẩu trong môi trường dòng lệnh của Linux. Dù bạn là người dùng mới hay một quản trị viên hệ thống dày dạn kinh nghiệm, việc nắm vững cách sử dụng lệnh này là kỹ năng cơ bản không thể thiếu. Chúng ta sẽ cùng tìm hiểu hai trường hợp sử dụng phổ biến nhất: tự đổi mật khẩu cho tài khoản của chính mình và đổi mật khẩu cho một người dùng khác với quyền quản trị.

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

Đây là thao tác đơn giản nhất mà bất kỳ người dùng nào cũng có thể thực hiện. Khi bạn muốn thay đổi mật khẩu cho tài khoản của chính mình, bạn chỉ cần mở Terminal và gõ lệnh passwd rồi nhấn Enter.

Hệ thống sẽ yêu cầu bạn nhập mật khẩu hiện tại để xác thực. Đây là một bước bảo mật để đảm bảo rằng chính chủ sở hữu tài khoản đang thực hiện thay đổi. Sau khi nhập đúng mật khẩu cũ, bạn sẽ được yêu cầu nhập mật khẩu mới và xác nhận lại mật khẩu mới một lần nữa. Lưu ý rằng khi bạn gõ mật khẩu, các ký tự sẽ không hiển thị trên màn hình, đây là một tính năng bảo mật của Linux Bash.

Ví dụ minh họa:

1. Mở Terminal.

2. Gõ lệnh: passwd

3. Hệ thống sẽ hiển thị: Changing password for [tên_người_dùng].

4. Nhập mật khẩu hiện tại của bạn: (current) UNIX password:

5. Nhập mật khẩu mới: New password:

6. Nhập lại mật khẩu mới để xác nhận: Retype new password:

Nếu hai lần nhập mật khẩu mới khớp nhau, bạn sẽ nhận được thông báo: passwd: password updated successfully. Vậy là bạn đã hoàn tất việc đổi mật khẩu cho tài khoản của mình.

Hình minh họa

Đổi mật khẩu cho người dùng khác (quyền root)

Trong vai trò quản trị viên hệ thống (root user), bạn có quyền thay đổi mật khẩu cho bất kỳ người dùng nào trên hệ thống. Điều 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 thiết lập lại mật khẩu theo chính sách bảo mật của công ty. Để thực hiện, bạn cần sử dụng quyền sudo.

Cú pháp để đổi mật khẩu cho người dùng khác là: sudo passwd [tên_người_dùng]. Ví dụ, để đổi mật khẩu cho người dùng có tên là “nhanvien”, bạn sẽ gõ lệnh: sudo passwd nhanvien.

Một điểm khác biệt quan trọng so với việc tự đổi mật khẩu là hệ thống sẽ không yêu cầu bạn nhập mật khẩu cũ của người dùng đó. Thay vào đó, do bạn đã xác thực bằng quyền sudo, bạn có thể trực tiếp đặt mật khẩu mới. Hệ thống sẽ yêu cầu bạn nhập mật khẩu mới và xác nhận lại. Thao tác này cần được thực hiện một cách cẩn trọng, đặc biệt là trên các hệ thống sản xuất có nhiều người dùng, vì nó ảnh hưởng trực tiếp đến khả năng truy cập của họ.

Hình minh họa

Các tùy chọn phổ biến của lệnh passwd

Ngoài chức năng chính là thay đổ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 hơn. Các tùy chọn này cho phép bạn khóa, mở khóa, xóa mật khẩu hoặc thậm chí là xem trạng thái của một tài khoản. Việc hiểu và sử dụng thành thạo các tùy chọn này sẽ giúp bạn tăng cường bảo mật và kiểm soát hệ thống tốt hơn.

Tùy chọn -l và -u để khóa và mở khóa tài khoản

Tùy chọn -l (viết tắt của --lock) được sử 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. Về mặt kỹ thuật, lệnh này không vô hiệu hóa hoàn toàn tài khoản mà chỉ làm cho mật khẩu đã mã hóa trở nên không hợp lệ. Đây là một biện pháp bảo mật cực kỳ hiệu quả khi bạn cần tạm thời vô hiệu hóa quyền truy cập của một người dùng, chẳng hạn như khi một nhân viên nghỉ việc hoặc một tài khoản bị nghi ngờ có hoạt động bất thường.

Để khóa tài khoản, bạn sử dụng cú pháp: sudo passwd -l [tên_người_dùng]. Ví dụ: sudo passwd -l user_azweb.

Ngược lại, tùy chọn -u (viết tắt của --unlock) dùng để mở khóa một tài khoản đã bị khóa trước đó. Thao tác này sẽ khôi phục lại mật khẩu đã mã hóa về trạng thái ban đầu, cho phép người dùng đăng nhập lại bình thường. Cú pháp rất đơn giản: sudo passwd -u [tên_người_dùng]. Ví dụ: sudo passwd -u user_azweb. Cặp tùy chọn này là công cụ không thể thiếu trong quy trình quản lý vòng đời tài khoản người dùng.

Hình minh họa

Tùy chọn -d để xóa mật khẩu

Tùy chọn -d (viết tắt của --delete) là một tùy chọn mạnh mẽ nhưng cũng tiềm ẩn nhiều rủi ro. Nó cho phép xóa hoàn toàn mật khẩu của một tài khoản người dùng. Sau khi mật khẩu bị xóa, tài khoản đó có thể đăng nhập vào hệ thống mà không cần nhập bất kỳ mật khẩu nào. Cú pháp để thực hiện là: sudo passwd -d [tên_người_dùng].

Tuy nhiên, việc cho phép đăng nhập không cần mật khẩu là một lỗ hổng bảo mật cực kỳ nghiêm trọng. Bất kỳ ai cũng có thể truy cập vào tài khoản đó nếu họ biết tên người dùng. Vì vậy, bạn chỉ nên sử dụng tùy chọn này trong những môi trường được kiểm soát chặt chẽ, chẳng hạn như máy ảo dùng để thử nghiệm hoặc các hệ thống không kết nối mạng. Trên các máy chủ sản xuất hoặc bất kỳ hệ thống nào chứa dữ liệu quan trọng, bạn tuyệt đối không nên sử dụng tùy chọn -d.

Hướng dẫn đổi mật khẩu trên các phiên bản Linux khác nhau

Mặc dù lệnh passwd là một công cụ tiêu chuẩn và có mặt trên hầu hết các bản phân phối Linux là gì, đôi khi vẫn có những khác biệt nhỏ trong cách triển khai hoặc các chính sách bảo mật mặc định. Việc hiểu rõ những điểm khác biệt này sẽ giúp bạn thực hiện thao tác một cách suôn sẻ, dù bạn đang làm việc trên Ubuntu, CentOS hay bất kỳ hệ điều hành dựa trên Linux nào khác. Hãy cùng AZWEB khám phá cách đổi mật khẩu trên các họ bản phân phối phổ biến nhất.

Hình minh họa

Đổ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 hay chính Debian, lệnh passwd hoạt động chính xác như các ví dụ cơ bản đã nêu. Cú pháp passwd để tự đổi mật khẩu và sudo passwd [tên_người_dùng] để đổi mật khẩu cho người khác là hoàn toàn chuẩn và không có sự thay đổi.

Một điểm đáng chú ý trên các phiên bản Desktop của Ubuntu là người dùng có thêm một lựa chọn khác để đổi mật khẩu thông qua giao diện đồ họa (GUI). Bằng cách vào “Settings” (Cài đặt) -> “Users” (Người dùng), bạn có thể chọn tài khoản của mình và nhấp vào mục mật khẩu để thay đổi. Giao diện này cũng sẽ yêu cầu bạn nhập mật khẩu cũ trước khi đặt mật khẩu mới. Đây là một cách tiếp cận thân thiện hơn cho những người dùng không quen với dòng lệnh.

Thao tác đổi mật khẩu trên CentOS, RedHat và Fedora

Đối với các bản phân phối thuộc họ RedHat như CentOS, Fedora và Red Hat Enterprise Linux (RHEL), lệnh passwd về cơ bản vẫn giữ nguyên cú pháp. Tuy nhiên, điểm khác biệt lớn nhất thường nằm ở các chính sách bảo mật được áp dụng mặc định. Các hệ thống này thường được thiết kế cho môi trường doanh nghiệp, do đó chúng có xu hướng thực thi các quy tắc mật khẩu phức tạp hơn.

Cụ thể, hệ thống có thể được cấu hình để yêu cầu mật khẩu phải có độ dài tối thiểu, chứa cả chữ hoa, chữ thường, số và ký tự đặc biệt. Nếu bạn cố gắng đặt một mật khẩu quá đơn giản (ví dụ: “123456”), lệnh passwd có thể từ chối và hiển thị thông báo lỗi như “BAD PASSWORD: The password is a palindrome” hoặc “BAD PASSWORD: it is based on a dictionary word”. Đây không phải là lỗi của lệnh passwd, mà là do cơ chế pam_pwquality đang thực thi chính sách bảo mật. Trong trường-hợp này, bạn chỉ cần chọn một mật khẩu phức tạp hơn để đáp ứng yêu cầu của hệ thống.

Hình minh họa

Xử lý sự cố khi đổi mật khẩu không thành công

Dù lệnh passwd khá đơn giản, đôi khi bạn vẫn có thể gặp phải một số lỗi không mong muốn. Những lỗi này thường xuất phát từ các vấn đề về quyền hạn hoặc trạng thái của hệ thống tệp tin. Hiểu rõ nguyên nhân và cách khắc phục sẽ giúp bạn tiết kiệm thời gian và giải quyết vấn đề một cách nhanh chóng. Dưới đây là hai lỗi phổ biến nhất và cách xử lý chúng.

Lỗi “Authentication token manipulation error”

Đây là một trong những lỗi gây khó chịu nhất khi đổi mật khẩu. Thông báo “Authentication token manipulation error” thường không chỉ rõ nguyên nhân chính xác, nhưng nó thường liên quan đến việc hệ thống không thể ghi thông tin mật khẩu mới vào các tệp tin cần thiết. Có một vài nguyên nhân phổ biến:

1. Hệ thống tệp tin ở chế độ chỉ đọc (read-only): Điều này có thể xảy ra nếu hệ thống gặp lỗi và tự động chuyển sang chế độ an toàn. Bạn có thể kiểm tra bằng lệnh mount | grep " ro ". Nếu hệ thống tệp gốc / đang ở chế độ ro, bạn cần khởi động lại máy hoặc remount nó ở chế độ đọc-ghi (sudo mount -o remount,rw /).

2. Sai quyền trên các tệp hệ thống: Các tệp /etc/passwd/etc/shadow (nơi lưu trữ thông tin người dùng và mật khẩu đã mã hóa) có thể bị sai quyền. Bạn có thể kiểm tra bằng lệnh ls -l /etc/passwd /etc/shadow và đảm bảo chúng có quyền và chủ sở hữu chính xác.

3. Ổ cứng đầy: Nếu không còn dung lượng trống trên phân vùng hệ thống, việc ghi tệp mới cũng sẽ thất bại. Hãy sử dụng lệnh df -h để kiểm tra dung lượng ổ cứng.

Hình minh họa

Không thể đổi mật khẩu do thiếu quyền

Một lỗi phổ biến khác là nhận được thông báo như “passwd: You may not view or modify password information for [user].” hoặc “You must be root to do this.” Lỗi này rất rõ ràng: bạn đang cố gắng thực hiện một hành động yêu cầu quyền quản trị viên (root) mà không có đủ quyền hạn.

Nguyên nhân gốc rễ là khi một người dùng thông thường cố gắng thay đổi mật khẩu cho một người dùng khác. Theo nguyên tắc bảo mật của Linux, chỉ có root user mới có quyền làm điều này. Cách khắc phục rất đơn giản: hãy thêm sudo vào trước lệnh của bạn. Ví dụ, thay vì gõ passwd nhanvien, bạn hãy gõ sudo passwd nhanvien. Hệ thống sẽ yêu cầu bạn nhập mật khẩu của chính tài khoản bạn đang sử dụng (để xác thực quyền sudo), sau đó bạn có thể tiến hành đặt mật khẩu mới cho người dùng kia.

Lưu ý và bảo mật khi đổi mật khẩu trong Linux

Việc thay đổi mật khẩu chỉ là một phần của câu chuyện bảo mật. Để thực sự bảo vệ hệ thống của bạn, bạn cần tuân thủ các nguyên tắc và thực hành tốt nhất về quản lý mật khẩu. Một mật khẩu mạnh và một chính sách quản lý thông minh sẽ tạo ra một lớp phòng thủ vững chắc, gây khó khăn cho bất kỳ nỗ lực truy cập trái phép nào. Dưới đây là những lưu ý quan trọng mà AZWEB khuyên bạn nên áp dụng.

Hình minh họa

Đầu tiên và quan trọng nhất, hãy luôn ưu tiên sử dụng mật khẩu mạnh. Một mật khẩu mạnh thường có độ dài từ 12-16 ký tự trở lên, kết hợp chữ hoa, chữ thường, số và các ký tự đặc biệt (!, @, #, $…). Tránh sử dụng các thông tin cá nhân dễ đoán như ngày sinh, tên riêng, hoặc các chuỗi ký tự phổ biến như “123456” hay “password”. Một mẹo hay là tạo ra một cụm mật khẩu (passphrase) – một câu ngắn dễ nhớ nhưng khó đoán, ví dụ: “ToiThichAnPhoVoiAZWEB!”.

Thứ hai, không bao giờ chia sẻ mật khẩu của bạn với bất kỳ ai và thay đổi mật khẩu định kỳ, đặc biệt là đối với các tài khoản quan trọng như tài khoản root hoặc các tài khoản có quyền sudo. Việc thay đổi mật khẩu sau mỗi 90 ngày là một thói quen tốt. Cuối cùng, để tăng cường bảo mật lên mức cao hơn, hãy xem xét sử dụng các công cụ quản lý mật khẩu như Bitwarden hoặc KeePassXC để lưu trữ an toàn các mật khẩu phức tạp. Nếu có thể, hãy kích hoạt xác thực đa yếu tố (MFA/2FA) cho các dịch vụ quan trọng, bổ sung thêm một lớp bảo vệ ngoài mật khẩu truyền thống.

Kết luận

Qua bài viết này, chúng ta đã cùng nhau khám phá chi tiết về lệnh passwd – một công cụ tuy nhỏ nhưng vô cùng quyền lực trong việc quản lý và bảo mật tài khoản người dùng trên hệ điều hành Linux. Từ những thao tác cơ bản như tự đổi mật khẩu cá nhân, đến các tác vụ quản trị nâng cao như đặt lại mật khẩu cho người dùng khác, khóa/mở khóa tài khoản, tất cả đều có thể được thực hiện một cách nhanh chóng và hiệu quả thông qua dòng lệnh.

AZWEB hy vọng rằng những hướng dẫn chi tiết, các ví dụ minh họa và cách xử lý sự cố phổ biến sẽ giúp bạn tự tin hơn trong việc quản trị hệ thống của mình. Hãy nhớ rằng, bảo mật là một quá trình liên tục. Việc thường xuyên cập nhật mật khẩu và tuân thủ các nguyên tắc về mật khẩu mạnh là những bước đi thiết yếu để đảm bảo an toàn cho dữ liệu và sự ổn định của toàn bộ hệ thống. Đừng ngần ngại áp dụng những kiến thức này vào thực tế để xây dựng một môi trường làm việc an toàn hơn.

Để tìm hiểu sâu hơn về các khía cạnh khác của bảo mật hệ thống Linux và quản trị người dùng, mời bạn tiếp tục theo dõi các bài viết chuyên sâu khác trên blog của AZWEB. Chúng tôi luôn sẵn sàng đồng hành cùng bạn trên con đường chinh phục công nghệ.

Đánh giá