IMAP(Dovecot) 서버의 가상 사용자에 로그인할 수 없습니다: pam_authenticate()가 실패했습니다. 알 수 없는 사용자입니다.

IMAP(Dovecot) 서버의 가상 사용자에 로그인할 수 없습니다: pam_authenticate()가 실패했습니다. 알 수 없는 사용자입니다.

참고: 이 게시물 중 일부에는 내가 검열한 잠재적으로 민감한 정보가 포함되어 있습니다. 아무데나 무작위로 별표 더미가 보이는 것이 바로 그 이유입니다.

Ubuntu 18.04 LTS를 실행하는 클라우드 인스턴스에서 Postfix, Dovecot, MariaDB를 사용하여 이메일 서버를 만들려고 합니다. 이를 위해 나는 다음을 수행했습니다.이 튜토리얼. 이전에는 관련 데이터베이스에 구성된 가상 사용자에 로그인하고 메일을 보내고 받을 수 있는 시스템을 만들었습니다.

그러나 보안 강화를 위해 OpenDKIM을 사용하도록 동일한 웹 서버를 구성한 지 얼마 후 모든 것이 작동을 멈췄습니다. 내 계정에 로그인할 수 없고 더 이상 메일을 받을 수 없습니다.

Thunderbird를 사용하든 Roundcube를 사용하든 관계없이 로그인을 시도하면 자격 증명이 거부됩니다.

처음에는 다음 SQL 쿼리를 사용하여 데이터베이스의 해시를 변경하여 내 계정의 비밀번호를 변경해 보았습니다.

UPDATE `mailserver`.`virtual_users` SET password=ENCRYPT('newpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))) WHERE username='************';

phpMyAdmin을 사용하면 이 변경 사항이 데이터베이스에 성공적으로 기록되었음을 확인할 수 있었지만 동일한 사용자 이름으로 새 비밀번호를 시도했을 때 액세스가 거부되었습니다. 그런 다음 새로운 가상 사용자를 생성하고 로그인을 시도했습니다. 나는 또 거절당했다.

아무리 노력해도 서버가 자격 증명을 유효한 것으로 받아들이지 않는 것 같습니다.

처음에는 이것이 데이터베이스 문제일지도 모른다고 생각했지만 사용자, 사서함 및 별칭에 대한 조회 쿼리 파일에서 postconf를 실행하면 모든 단일 테스트에서 튜토리얼에 설명된 대로 예상한 결과가 제공됩니다. SQL 자격 증명에 대한 모든 언급은 올바른 것 같습니다. 서버를 다시 시작하려고 시도했는데 의류에 의해 차단되어 MariaDB가 다시 시작되지 않는 문제가 발생했지만 시스템에서 의류를 완전히 제거하고 데이터베이스와 기타 모든 메일을 다시 시작한 후에도 여전히 로그인할 수 없습니다. 관련 서비스.

이로 인해 마침내 로그를 보게 되었습니다. 그들은 이라는 함수의 실패를 계속 언급했습니다 pam_authenticate. 비슷한 문제가 있는 질문을 찾았지만, 내 로그에는 없는 메모리 부족에 대해서도 언급했습니다.

해당 로그의 예를 제시하고 싶지만 StackExchange는 해당 로그가 너무 스팸처럼 보인다고 생각하는 것 같습니다. 죄송합니다!

답변1

고무 오리. 내가 auth_username_format설정 하지 말았어야 했다는 것이 밝혀졌습니다 /etc/dovecot/conf.d/10-auth.conf. 이를 주석 처리함으로써 Dovecot은 데이터베이스의 레코드를 성공적으로 읽을 수 있었습니다.

관련 정보