Dovecot imap-postlogin 失敗
簡而言之,我正在嘗試執行一個 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 感謝您的幫助和一雙新鮮的眼睛:)