OS 기술/Linux

passwd 변경시 module is unknown / password unchanged

DongT 2023. 10. 19. 15:04
728x90
반응형

[시나리오]

최근 우분투 서버 설치하고 보안설정 후 패스워드 변경을 하려고 할 때 아래와 같이 오류 문구가 나왔다.

passwd user

#오류 문구
module is unknown
password unchanged

패스워드 변경 불가 상태

 

내용은 모듈을 찾을 수 없어서 명령어를 수행하지 못한다는건데, 패스워드 변경할 때 사용하는 모듈을 정의하는 config 파일은 몇개 없다.

바로 config 파일을 확인해보니 아래와 같이 기본 설정외에 추가된 한 줄이 보인다. (물론 보안설정을 직접했으면 뭐가 추가됬는지 알 수 있긴하다)

vi /etc/pam.d/common-password

우분투 패스워드 정책 설정하는 파일

추가된 보안설정 설명은 아래와 같다.

password        requisite       pam_pwquality.so        try_first_pass retry=3 minlen=8 dcredit=-1 ocredit=-1 lcredit=-1

- retry=3 : 패스워드 입력 재시도 횟수. 3번 이후 터미널 연결이 끊긴다.
- minlen=8 : 패스워드 최소 길이
- dcredit=-1 : 패스워드에 숫자 포함
- ocredit=-1 : 패스워드에 특수문자 포함
- lcredit=-1 : 패스워드에 영문소문자 포함

 

다시 말해서 추가된 보안설정을 불러올 수 있는 모듈이 있으면 문제는 해결된다.

(아니면 추가된 보안설정을 다른 방법으로 보완하거나..)

 

 

 


[조치방법]

테스트 환경 : Ubuntu 20.04

 

1) 필요한 모듈이 어떤건지 확인

보안설정에서 추가한 모듈을 확인한다.

pam 모듈

 

2) 확인한 모듈이 설치가능한지 확인

apt-cache search pam | grep quality

apt로 pam에서 모듈 설치 가능여부 확인

 

 

3) 모듈 설치

apt-get install libpam-pwquality
Y

apt를 이용한 pam 모듈 설치

 

4) passwd 잘 되는지 확인

passwd user

패스워드 변경 잘 됨

 


[결론]

패스워드 변경시 정책 파일을 참고하여 변경하는데, 설치되어있지 않은 모듈을 이용한 정책이 있어서 발생한 이슈였다.

 

 

 

 

 

 

 


[추가테스트]

1)  만약 설치된 모듈을 다시 지우면 원래대로 안될까?

# 설치된 패키지 확인
dpkg -l | grep pwquality

# 설치된 패키지 제거
dpkg -r libpam-pwquality

# 패스워드 변경 되는지 확인
passwd user

패키지 모듈 제거

 

안 됨. 모듈이 설치되어 있어야함.

 

 

 

2) 만약 설정한 모듈 말고 다른거 아무거나 설치하면 안될까?

#생뚱맞은 모듈 검색 및 설치
apt-cache search pam | grep crack
apt-get install libpam-cracklib

필요한 모듈 말고 다른 모듈 설치 후 테스트

 

안 됨. 필요한 모듈이 설치되어 있어야함.

 

 

 

728x90