Dovecot

Dovecot imap-postlogin 失敗

  • February 5, 2014

簡而言之,我正在嘗試執行一個 bash 腳本,然後該腳本將使用每個郵箱的最後登錄日期/時間和最後一個 IP 更新 mysql 數據庫。

如果我刪除導致腳本執行的修改使用者/郵箱驗證沒有問題,但是當我嘗試呼叫腳本驗證開始失敗。

我已經搜尋了Google,但仍然無法弄清楚我做錯了什麼,或者 dovecot 的 centos 6 rpm 是否有問題。

我在 10-master.conf 中的設置如下所示:

service imap-postlogin {  
   executable = script-login /var/www/lighttpd/mail-admin/scripts/lastLogin.sh  
   unix_listener imap-postlogin {  
        user = root 
    } 
} 
service imap {
       executable = imap imap-postlogin
}

我的 lastLogin.sh bash 腳本中包含以下用於調試

回顯的內容“ $ (date +%Y.%m.%d-%H:%M:%S)"; echo “User: $ {USER}” >> /tmp/tracking.log 2>&1;

echo “首頁: $ {HOME}” >> /tmp/tracking.log 2>&1; echo “Client IP: $ {IP}” >> /tmp/tracking.log 2>&1;

echo “伺服器 IP: ${LOCAL_IP}” >> /tmp/tracking.log 2>&1;

我的 /tmp/tracker.log 的輸出是以下

使用者:user@domain.com

首頁:/var/spool/mail/domain.com/user

客戶端 IP:xxxx

伺服器 IP:yyyy

我現在收到的身份驗證錯誤

2 月 3 日 15:23:35 vps dovecot: script-login: Fatal: read() failed: Interrupted system call

Feb 3 15:23:35 vps dovecot: imap-login: Error: read(imap )失敗:遠端關閉連接(已達到 process_limit?)

2 月 3 日 15:23:35 vps dovecot:身份驗證:調試:客戶端在:CANCEL#0111

2 月 3 日 15:23:35 vps dovecot:imap-login:內部登錄失敗(pid =20102 id=1)(內部故障,1 個成功的身份驗證):user=,method=PLAIN,rip=xxxx,lip=yyyyy,TLS,session=

目前測試腳本 lastLogin.sh 如下所示

#!/bin/sh

echo " $ (date +%Y.%m.%d-%H:%M:%S)"; echo “User: $ {USER}” >> /tmp/tracking.log 2>&1;

echo “密碼: $ {PASS}” >> /tmp/tracking.log 2>&1; echo “Home: $ {HOME}” >> /tmp/tracking.log 2>&1;

echo “客戶端 IP: $ {IP}” >> /tmp/tracking.log 2>&1; echo “Server IP: $ {LOCAL_IP}” >> /tmp/tracking.log 2>&1;

echo “安全: $ {SECURED}” >> /tmp/tracking.log 2>&1; echo “1: $ {1}” >> /tmp/tracking.log 2>&1;

echo “2: $ {2}” >> /tmp/tracking.log 2>&1; echo “at: $ {@}” >> /tmp/tracking.log 2>&1;

echo “star $ *” >> /tmp/tracking.log 2>&1; exec " $ @";

好的,現在它似乎正在工作,似乎一直在搞砸的是 logging 末尾的重定向2>&1。刪除後,這一切似乎都在 100% 工作。

@NickW 感謝您的幫助和一雙新鮮的眼睛:)

引用自:https://serverfault.com/questions/571811