
외부 데이터베이스에 사용자가 있습니다. 지금까지는 ssh, postfix, dovecot 및 기타 항목을 문제 없이 사용했습니다.
나는 가지고있다메일 디렉토리내부에/홈/[사용자]그리고 homedir이 존재한다면 모든 것이 정상입니다. 보내기, 받기.
homedir이 존재하지 않는 경우접미사/비둘기장인쇄 오류, ssh - 로그인 후 새로운 homedir이 만들어집니다.pam_mkhomedir.so/etc/pam.d/[몇 개의 파일]에 있는 항목입니다.
접미사/비둘기장- 성공적으로 사용pam.d데이터베이스 백엔드를 사용하지만 다음 항목을 무시합니다.pam_mkhomedir- 어떤 파일에 어떤 위치에 배치하는지 많은 힌트를 읽었습니다.
어쩌면 파일 이름을 /etc/pam.d/[file]로 지정하는 문제일 수도 있습니다.
답변1
Postfix는 홈 디렉토리 생성을 담당하지 않습니다. Postfix는 내장된 local
배달 에이전트를 사용할 때 홈 디렉터리가 이미 존재한다고 가정합니다.
대신 Dovecot을 LDA로 사용하는 경우 Dovecot은 홈 디렉터리가 존재한다는 사실에도 의존합니다.
lda_mailbox_autocreate = yes
가상 사용자를 사용하면 Dovecot이 자동으로 필요한 디렉터리를 생성하도록 변수를 설정할 수 있습니다 .
그리고 Dovecot(및 Postfix)은 메일 배달을 위해 사용자를 "로그인"하지 않으므로 pam_mkhomedir
절대 트리거되지 않습니다. 이 경우 PAM은 인증에만 사용됩니다.
답변2
pam_mkhomedir
내가 방금 겪었던 것처럼 Dovecot 문제를 인터넷 검색하여 우연히 발견한 다른 사람들의 이익을 위해: Dovecot을 그런 식으로 설정하면 사용할 수 있습니다 . 문서는 다음 위치에 있습니다.http://wiki2.dovecot.org/PasswordDatabase/PAM#PAM_sessions
일반적인 Debian/Ubuntu 시스템에서는 다음 위치에 넣을 수 있습니다 /etc/pam.d/dovecot
.
#%PAM-1.0
@include common-auth
@include common-account
@include common-session
( mkhomedir
모듈은 내부에서 호출됩니다 common-session
)
그런 다음 다음과 같이 /etc/dovecot/conf.d/auth-system.conf.ext
섹션을 편집합니다.
passdb {
driver = pam
# [session=yes] ...
#args = dovecot
}
사람들이 이렇게 말하도록 하세요 args
:
args = session=yes dovecot