Authentication Token Manipulation Error 해결하는 방법
리눅스 시스템에서 비밀번호를 변경하려고 할 때 passwd: Authentication token manipulation error 또는 passwd: password unchanged 에러 메시지를 만난 적이 있으신가요? 이 에러의 원인과 해결 방법을 단계별로 설명해 드리겠습니다.
1. 문제
이 에러는 주로 파일 시스템의 권한 문제, 디스크 공간 부족, 정책 만료 또는 PAM 설정 문제로 인해 발생합니다. 일반적으로 passwd 명령어를 사용하여 비밀번호를 변경하려고 할 때 나타납니다.
$ passwd Changing password for user (current) UNIX password: passwd: Authentication token manipulation error passwd: password unchanged
2. 원인
이 에러가 발생하는 주요 원인은 다음과 같습니다
- 파일 시스템 권한 문제
- 디스크 공간 부족
- SELinux 설정 문제
- /etc/passwd, /etc/shadow 파일의 손상
- 비밀번호 정책 만료
- PAM 모듈 설정 문제
3. 해결 방법
3-1. 파일 시스템 권한 확인
먼저, 파일 시스템의 권한을 확인하고 수정합니다. 루트 권한으로 터미널에 접속한 후, 아래 명령어를 실행하세요.
$ sudo ls -l /etc/passwd /etc/shadow
이 파일들은 각각 rw-r–r– 및 rw——- 권한을 가져야 합니다. 만약 권한이 다르다면 아래 명령어를 사용하여 수정하세요.
$ sudo chmod 644 /etc/passwd $ sudo chmod 600 /etc/shadow
3-2. 디스크 공간 확인
디스크 공간이 부족할 경우에도 이 문제가 발생할 수 있습니다. 아래 명령어를 통해 디스크 공간을 확인하세요.
$ df -h
만약 디스크 사용량이 100%에 가깝다면, 불필요한 파일을 삭제하여 공간을 확보해야 합니다.
3-3. SELinux 설정 확인
SELinux가 활성화되어 있고 적절히 설정되지 않은 경우 문제를 일으킬 수 있습니다. SELinux 설정을 확인하려면 아래 명령어를 사용하세요.
$ sestatus
SELinux가 enabled 상태라면, 일시적으로 비활성화한 후 다시 시도해볼 수 있습니다.
$ sudo setenforce 0
이후 비밀번호 변경을 다시 시도해보세요. 성공했다면 SELinux 설정을 조정할 필요가 있습니다.
3-4. 비밀번호 정책 확인
비밀번호 정책 만료가 문제일 수 있습니다. 정책 설정을 확인하고, 필요에 따라 수정합니다. chage 명령어를 사용하여 사용자 계정의 비밀번호 정책을 확인하고 수정할 수 있습니다.
현재 정책 확인:
$ sudo chage -l [사용자명]
정책 수정:
$ sudo chage -M 99999 [사용자명]
이 명령어는 비밀번호 최대 사용 기간을 99999일로 설정하여 사실상 무기한으로 설정합니다.
3-5. PAM 설정 확인 및 수정
PAM 설정 파일이 잘못되었거나 손상되었을 경우, passwd 명령어가 정상적으로 작동하지 않을 수 있습니다. pam-auth-update 명령어를 사용하여 PAM 설정을 확인하고 수정할 수 있습니다.
3-5-1. pam-auth-update 실행
먼저, 루트 권한으로 터미널에 접속한 후 pam-auth-update 명령어를 실행합니다.
$ sudo pam-auth-update
3-5-2. PAM 모듈 선택
pam-auth-update 명령어를 실행하면 PAM 설정 대화 상자가 나타납니다. 이 대화 상자에서 필요한 PAM 모듈을 선택할 수 있습니다. 일반적으로 기본값을 유지하거나 필요한 모듈을 선택/비선택하여 설정을 조정합니다.
3-5-3. 설정 적용
설정을 선택한 후 대화 상자를 종료하면 변경 사항이 적용됩니다. 이는 PAM 설정 파일을 업데이트하여 새로운 구성으로 시스템 인증을 처리하도록 합니다.
3-6. /etc/passwd 및 /etc/shadow 파일 복구
파일이 손상된 경우 백업에서 복구하거나, 시스템 복구 모드에서 파일을 다시 생성해야 할 수 있습니다.
감사합니다.