
我在外部資料庫中有使用者。到目前為止 - ssh、postfix、dovecot 和其他一些 - 使用條目沒有問題。
我有郵件目錄裡面/home/[用戶]如果 homedir 存在 - 一切正常 - 發送、接收。
如果 homedir 不存在後綴/鴿舍列印錯誤,ssh - 登入後會產生全新的 homedir - 它使用pam_mkhomedir.so/etc/pam.d/[在幾個文件中]中的條目。
後綴/鴿舍- 成功使用帕姆.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
只是為了其他像我一樣透過谷歌搜尋 Dovecot 問題偶然發現這一點的人的利益:pam_mkhomedir
如果你這樣設置,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