컴퓨팅/리눅스(Ubuntu)

Ubuntu 사용자 비밀번호 검토 기능 끄기 (BAD PASSWORD 우회)

cmaven 2025. 11. 5. 12:45
💡Ubuntu 환경에서 사용자 비밀번호 검토 기능을 비활성화 하는 방법에 대해 작성한다.
패스워드 길이, 문자열, 계정이름 포함 점검 기능을 비활성화 할 수 있다.

 

오류 상황

The password contains the user name in some form

: 계정의 이름이 패스워드로 들어가 있어서 변경 불가

hanging password for test. 
Current password: 
New password: 
BAD PASSWORD: The password contains the user name in some form
New password: 
Have exhausted maximum number of retries for service passwd: password unchanged

 

해결 방법

  • PAM(Pluggable Authentication Modules)의 pam_pwquality 검사 옵션을 변경
  • /etc/security/pwquality.conf 파일에 검사 옵션 추가 (파일이 없으면 생성)
sudo vim /etc/security/pwquality.conf

## -- 아래 내용 추가
usercheck = 0
gecoscheck = 0
minlen = 1
difok = 0

 

  • usercheck = 0 : 사용자명 포함 비밀번호 허용
  • gecoscheck = 0 : GECOS 필드(사용자 이름 등) 검사 비활성화
  • minlen = 1 : 최소 길이 제한 완화
  • difok = 0 : 이전 비밀번호화의 차이 검사 완화

 

📗 그 외 관련 옵션

옵션 의미 기본값
retry 잘못된 비밀번호 입력 시, 재 시도 횟수 1 retry=3
minclass 포함해야 할 문자 유형(대문자/소문자/숫자/기호)의 최소 개수 0 minclass=3
maxrepeat 같은 문자를 연속으로 허용하는 최대 횟수 0 (제한없음) maxrepeat=2
maxsequence 연속된 문자(abc, 123 등) 허용 최대 길이 0 (제한없음) maxsequence=3
reject_username 사용자 이름이 들어간 비밀번호를 거부 1 reject_username=0
maxclassrepeat 같은 종류의 문자 반복 허용 수 (예: 여러 숫자 연속) 0 maxclassrepeat=3
lcredit 소문자 (-1: 반드시 1개 이상, 1: 최소요구길이 1줄어듬) 0 lcredit=-1
dcredit 숫자 0 dcredit=-1
ocredit 특수문자 0 ocredit=-1

 

참고

/etc/pam.d/common-password

  • PAM의 실제 실행 흐름을 정의하는 파일
  • 비밀번호 변경 시, 어떤 모듈을 어떤 순서로, 어떤 옵션으로 실행할지 정함
  • 파일 안의 pam_pwquality.so 옵션을 수정하면 pwquality.conf 보다 우선 적용
  • 특정 서비스만 따로 정책을 다르게 설정할 수 있으나 (예: root 계정만 약한 비밀번호 허용)
  • 📕 문법을 실수하면 PAM 인증이 깨져 로그인이 불가할 수 있음
password requisite pam_pwquality.so [옵션1=값] [옵션2=값] ...

##-- 설정 예
password requisite pam_pwquality.so retry=3 minlen=8 difok=0 usercheck=0 gecoscheck=0