Là người dùng dòng lệnh Linux, bạn nên biết đến các tiện ích giúp bạn quản lý tài khoản người dùng. Một công cụ như vậy là passwd, cho phép bạn thay đổi mật khẩu tài khoản của mình. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của lệnh này bằng một số ví dụ dễ hiểu.
Nhưng trước khi làm điều đó, cần đề cập rằng tất cả các ví dụ trong hướng dẫn này đã được thử nghiệm trên máy Ubuntu 16.04 LTS.
Và đây là cách trang hướng dẫn mô tả nó:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh này hoạt động.
Sau đây là một số thông tin hữu ích mà bạn cần biết về hoạt động của passwd:
Ví dụ, trong trường hợp của tôi, đây là cách tôi thay đổi passwd:
Xin lưu ý rằng trong trường hợp bạn có đặc quyền siêu người dùng (hoặc là quản trị viên hệ thống), bạn có thể thay đổi mật khẩu của bất kỳ tài khoản nào chỉ bằng cách đề cập đến tên người dùng của tài khoản. Ví dụ:
passwd himanshu
Về cơ bản, đây là cách nhanh chóng để vô hiệu hóa mật khẩu cho một tài khoản, về cơ bản là không cần mật khẩu.
Ví dụ:
Vì vậy, lệnh này sẽ đảm bảo tài khoản bị vô hiệu hóa nếu mật khẩu vẫn hết hạn trong 5 ngày.
Ví dụ:
Lệnh này đảm bảo có khoảng cách 10 ngày giữa hai lần thay đổi mật khẩu. Cần lưu ý rằng giá trị 0 cho biết người dùng có thể thay đổi mật khẩu bất kỳ lúc nào.
Tài liệu chính thức giải thích các trường này như sau:
Ví dụ:
Ví dụ:
Nhưng trước khi làm điều đó, cần đề cập rằng tất cả các ví dụ trong hướng dẫn này đã được thử nghiệm trên máy Ubuntu 16.04 LTS.
Lệnh passwd Linux
Như đã đề cập ở phần đầu, lệnh passwd cho phép người dùng thay đổi mật khẩu tài khoản của họ. Sau đây là cú pháp của nó:
Mã:
passwd [options] [LOGIN]
Mã:
Lệnh passwd thay đổi mật khẩu cho tài khoản người dùng. Người dùng bình thường
chỉ có thể thay đổi mật khẩu cho tài khoản của mình, trong khi
siêu người dùng có thể thay đổi mật khẩu cho bất kỳ tài khoản nào. passwd cũng thay đổi
thời hạn hiệu lực của tài khoản hoặc mật khẩu được liên kết.
Câu hỏi 1. Làm thế nào để sử dụng passwd?
Cách sử dụng cơ bản rất đơn giản - chỉ cần thực hiện lệnh passwd mà không có bất kỳ tùy chọn/đầu vào nào.
Mã:
passwd
Mã:
Đầu tiên, người dùng được nhắc nhập mật khẩu cũ, nếu có.
Sau đó, mật khẩu này được mã hóa và so sánh với
mật khẩu đã lưu trữ. Người dùng chỉ có một cơ hội để nhập đúng mật khẩu.
Siêu người dùng được phép bỏ qua bước này để có thể thay đổi mật khẩu đã quên.
Sau khi nhập mật khẩu, thông tin về thời hạn sử dụng mật khẩu sẽ được kiểm tra để xem người dùng có được phép thay đổi mật khẩu tại thời điểm này hay không. Nếu không, passwd sẽ từ chối thay đổi mật khẩu và thoát.
Sau đó, người dùng sẽ được nhắc nhập mật khẩu thay thế hai lần. Mục nhập thứ hai sẽ được so sánh với mục nhập đầu tiên và cả hai đều phải khớp theo thứ tự để có thể thay đổi mật khẩu.
Sau đó, mật khẩu sẽ được kiểm tra độ phức tạp. Theo nguyên tắc chung,
mật khẩu phải bao gồm 6 đến 8 ký tự, bao gồm một hoặc nhiều
ký tự từ mỗi bộ sau:
· chữ cái thường
· chữ số từ 0 đến 9
· dấu chấm câu
Cần lưu ý không bao gồm các ký tự xóa hoặc hủy mặc định của hệ thống. passwd sẽ từ chối bất kỳ mật khẩu nào không đủ phức tạp.
Xin lưu ý rằng trong trường hợp bạn có đặc quyền siêu người dùng (hoặc là quản trị viên hệ thống), bạn có thể thay đổi mật khẩu của bất kỳ tài khoản nào chỉ bằng cách đề cập đến tên người dùng của tài khoản. Ví dụ:
passwd himanshu
Câu hỏi 2. Làm thế nào để tạo một tài khoản không có mật khẩu?
Lệnh passwd cũng cho phép bạn xóa mật khẩu được liên kết với một tài khoản người dùng. Để thực hiện việc này, bạn cần sử dụng tùy chọn dòng lệnh -d.
Mã:
passwd -d
Câu hỏi 3. Làm thế nào để buộc hết hạn mật khẩu?
Đôi khi, quản trị viên hệ thống có thể muốn người dùng thay đổi mật khẩu ngay lập tức. Trong trường hợp đó, họ có thể sử dụng tùy chọn dòng lệnh -e, dẫn đến hết hạn mật khẩu ngay lập tức, buộc người dùng phải thay đổi mật khẩu ngay trong lần đăng nhập tiếp theo.
Mã:
passwd -e
Câu hỏi 4. Làm thế nào để vô hiệu hóa tài khoản nếu mật khẩu vẫn hết hạn?
Lệnh passwd cũng cho phép bạn xử lý các tình huống mà người dùng không thực hiện bất kỳ hành động nào ngay cả khi mật khẩu của họ đã hết hạn. Về cơ bản, công cụ này cho phép bạn vô hiệu hóa hoàn toàn tài khoản trong trường hợp mật khẩu vẫn hết hạn trong một số ngày nhất định. Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -i, yêu cầu nhập một số.Ví dụ:
Mã:
passwd -i 5
Câu hỏi 5. Làm thế nào để đặt khoảng cách thời gian giữa các lần thay đổi mật khẩu?
Lệnh passwd cũng cho phép bạn đặt khoảng cách thời gian tối thiểu giữa các lần thay đổi mật khẩu. Điều này có thể thực hiện được thông qua tùy chọn dòng lệnh -n, yêu cầu nhập một giá trị số được coi là số ngày.Ví dụ:
Mã:
passwd -n 10
Câu hỏi 6. Làm thế nào để passwd hiển thị thông tin trạng thái tài khoản?
Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -S.Tài liệu chính thức giải thích các trường này như sau:
Mã:
Hiển thị thông tin trạng thái tài khoản. Thông tin trạng thái bao gồm
7 trường. Trường đầu tiên là tên đăng nhập của người dùng. Trường thứ hai
cho biết tài khoản người dùng có mật khẩu bị khóa (L), không có mật khẩu (NP) hay có mật khẩu có thể sử dụng (P). Trường thứ ba
cung cấp ngày thay đổi mật khẩu gần nhất. Bốn trường tiếp theo
là độ tuổi tối thiểu, độ tuổi tối đa, thời gian cảnh báo và thời gian không hoạt động
của mật khẩu. Các độ tuổi này được thể hiện bằng ngày.
Câu hỏi 7. Làm thế nào để thiết lập thời hạn hiệu lực của mật khẩu?
Lệnh passwd cho phép bạn thực hiện việc này thông qua tùy chọn -x của nó, tùy chọn này yêu cầu một số biểu thị số ngày tối đa mà mật khẩu vẫn còn hiệu lực.Ví dụ:
Mã:
passwd -x 100
Câu hỏi 8. Làm thế nào để tạo cảnh báo cho người dùng về việc thay đổi mật khẩu sắp tới?
Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -w, yêu cầu nhập một số, không gì khác ngoài số ngày trước khi mật khẩu hết hạn mà người dùng sẽ được cảnh báo rằng mật khẩu của họ sắp hết hạn.Ví dụ:
Mã:
passwd -w 7