login.defs에 PASS_MIN_LEN이 없습니다.

login.defs에 PASS_MIN_LEN이 없습니다.

나는 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=1obscure옵션은 여전히 ​​1자리 비밀번호를 회문으로 거부하고, 2자리 비밀번호를 너무 단순하다고 거부합니다.

PAM을 변경할 때는 주의하십시오. 잘못 설정하면 시스템에 액세스할 수 없게 될 수 있습니다.

관련 정보