Làm thế nào để bạn đặt yêu cầu (chẳng hạn như độ dài tối thiểu) trên mật khẩu?


18

Có cách nào để thiết lập các yêu cầu mật mã tối thiểu, chẳng hạn như độ dài tối thiểu, yêu cầu về chữ và số chữ thường và ít nhất 1 ký hiệu trong mật mã và thực thi điều đó khi thay đổi mật mã?

Câu trả lời:


21

Độ phức tạp của mật khẩu trong Ubuntu được kiểm soát bởi PAM. Thật không may, PAM là "điển hình Unix" như trong cách tiếp cận của nó. Có nghĩa là nó lan truyền cấu hình của nó thông qua một số lượng lớn các tệp rất khó hiểu.

Tệp kiểm soát độ phức tạp của mật khẩu là:

/etc/pam.d/common-password

Có một dòng:

password [success=1 default=ignore] pam_unix.so obscure sha512

Trong đó xác định các quy tắc cơ bản cho độ phức tạp của mật khẩu. Bạn có thể thêm ghi đè độ dài tối thiểu bằng cách thay đổi nó thành:

password [success=1 default=ignore] pam_unix.so obscure sha512 minlen=12

hoặc bất cứ điều gì tối thiểu bạn muốn. Như bạn có thể thấy, mặc định đã xác định một số quy tắc tối nghĩa cơ bản. Những quy tắc cơ bản có thể được nhìn thấy trong:

man pam_unix

Tìm kiếm "tối nghĩa".

Có một số lượng lớn các mô-đun pam có thể được cài đặt.

apt-cache search libpam-

Nên cho bạn xem chúng.

Bạn sẽ cần phải săn lùng sự thông cảm cho họ Tôi sợ. Nhưng "cracklib" là một bổ sung phổ biến.

CẬP NHẬT: Đáng lẽ tôi phải chỉ ra rằng tham số "tối nghĩa" mặc định bao gồm các kiểm tra về độ phức tạp dựa trên mật khẩu và tính đơn giản trước đó (độ dài, số loại ký tự khác nhau). Ví dụ trong trang này cho thấy cracklib đang hoạt động. Cài đặt libpam_cracklib để làm việc đó.

Ngoài ra, khi bạn đã tìm ra những gì cần thay đổi, các thay đổi sẽ giống nhau trong các tệp khác để bạn có thể thực thi kiểm tra mật khẩu giống nhau (hoặc khác nhau) cho SSH và các ứng dụng khác.


Theo đó man pam_unix, mật khẩu mặc định minlength là 6 ký tự nếu bạn tìm kiếm minlen.
Timo

Điều này không hoạt động cho Ubuntu 18.04 - ngay cả với cài đặt này, tôi có thể đặt bất kỳ mật khẩu nào tôi muốn (ngắn, palindrom, ..) - Tôi chỉ cần lặp lại mật khẩu đó 4x :(
xhudik

Khi bạn nói "không hoạt động", bạn không hiểu ý của bạn là gì. Bạn có nghĩa là nó không làm việc nhưng điều đó lặp lại những mật khẩu ngắn 4 lần là một số loại "bỏ qua" - nếu như vậy, trân trọng, bạn là sai, đó vẫn là một mật mã mạnh mẽ. Nếu không, bạn có thể vui lòng làm rõ?
Julian Knight

1

Giá trị mật khẩu được kiểm soát trong tệp

/etc/pam.d/common-password

Để biết thêm thông tin về cách sửa đổi tệp, hãy xem trang chủ pam_unix


1
Bạn đã liệt kê pam_unix (5), trang chính xác là pam_unix (8) linux.die.net/man/8/pam_unix . Trên thực tế, các phiên bản trực tuyến của trang này, vì một số lý do dường như không liệt kê phần quan trọng trên tham số "tối nghĩa" - phần mà tôi đã đưa vào câu trả lời của mình. Nếu bạn làm một man pam_unix, bạn sẽ có thể nhìn thấy nó mặc dù.
Julian Knight

1
@JulianKnight Cảm ơn bạn đã bình luận. Tôi đã sửa liên kết :)
Mitch

1

Các mô-đun PAM được cài đặt sẵn cho phép bạn thiết lập các yêu cầu cơ bản trong phạm vi phức tạp. Có một mô-đun đẹp là sự kế thừa của mô-đun pam_cracklib - pam_pwquality. Để cài đặt, hãy gõ như sau

apt-get install libpam-pwquality

sau đó làm quen với cái này

man pam_pwquality

đặc biệt là với phần "Tùy chọn".

Bây giờ bạn có thể chỉnh sửa mật khẩu chung trong /etc/pam.d/

vi /etc/pam.d/common-password

tìm dòng chứa câu lệnh "mật khẩu cần thiết pam_pwquality.so" sau đây và sau pam_pwquality.so đính kèm các tùy chọn của bạn như thế này

password        requisite         pam_pwquality.so minlen=16 ucredit=-4 retry=3

viết tắt của "kích thước tối thiểu của mật khẩu là 16 ký tự, trong đó tối thiểu 4 ký tự viết hoa. Nhắc người dùng nhập mật khẩu 3 lần.

pam_pwquality cho phép bạn thực hiện các yêu cầu mật khẩu phức tạp hơn nhiều kết hợp với các mô-đun khác như pam_pwhistory. Chúc may mắn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.