나는 PASS_MIN_LEN
그것이 누락 된 것을 발견했습니다비밀번호 에이징 제어내부 부품 /etc/login.defs
(Ubuntu 20.04 LTS). 파일 끝에는 해당 파일이 다른 옵션과 함께 더 이상 사용되지 않으며 누군가가 /etc/pam.d
디렉토리에서 해당 파일을 편집해야 함을 나타내는 주석이 있습니다.
################# OBSOLETED BY PAM ##############
# #
# These options are now handled by PAM. Please #
# edit the appropriate file in /etc/pam.d/ to #
# enable the equivelants of them.
#
###############
하지만 나 cat /etc/pam.d/* | grep "PASS_MIN_LEN"
조차도 이 옵션을 찾을 수 없습니다!
그게 문제야?
답변1
PAM(플러그형 인증 모듈)(실제로는) 더 새롭지 않습니다인증을 위한 일반 API원래 Sun Microsystems가 1995년에 제안한 이 기능은 1년 후 Linux 생태계에 적용되었습니다. API 변경을 통해 항목이 동일한 이름으로 유지되거나 항상 정확히 동일하게 매핑될 것이라고 기대하지 마십시오.
~에서man pam_unix
:
옵션
[...]
minlen=n
최소 비밀번호 길이를 n자로 설정하세요. 기본값은 6입니다. DES 암호화를 기반으로 하는 비밀번호의 최대 길이는 8자입니다.
구현은 배포판마다 다를 수 있습니다. Ubuntu에서는(Debian과 마찬가지로) /etc/pam.d/passwd
소스 코드에 /etc/pam.d/common-password
처음 나타날 때 password
유용한 옵션이 포함되어 있습니다 . 변경 및 매개변수 추가가 가능합니다 minlen=X
. 다음 파일은 자동으로 재생성됩니다.pam-auth-update
일반적으로 업그레이드를 할 때 발생하므로 PAM 관련 패키지를 업그레이드한 후 제대로 작동하는지 확인하세요. 대개그래야 한다:
스크립트는
/etc/pam.d/common-*
.모듈 옵션 목록에 대한 로컬 수정 사항이 유지됩니다., 스택의 관리되는 부분에 모듈을 추가하면 pam-auth-update가 구성 파일을 로컬 수정으로 처리하고 옵션이 제공되지 않는 한 구성 파일을 더 이상 변경하지 않습니다--force
.
다른 옵션은 여전히 결과에 영향을 미칠 수 있습니다. 예를 들어, 이 옵션을 설정하면 minlen=1
이 obscure
옵션은 여전히 1자리 비밀번호를 회문으로 거부하고, 2자리 비밀번호를 너무 단순하다고 거부합니다.
PAM을 변경할 때는 주의하십시오. 잘못 설정하면 시스템에 액세스할 수 없게 될 수 있습니다.