- 論壇徽章:
- 0
|
系統(tǒng)為:SuSE Linux
安裝 qmail 、vpopmail等,運行良好。
最近發(fā)現(xiàn)有非法用戶使用smtp發(fā)垃圾信,因此加了smtp驗證。
是通過:qmail-smtpd.c 這個補丁程序來加的。
編譯等都正常,復制到qmail的bin目錄,修改了vpopmail的vchkpw的setuid和setgid,同時修改了qmail的smtp啟動腳本,修改后的如下:
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
if [ ! -f /var/qmail/control/rcpthosts ]; then
echo "No /var/qmail/control/rcpthosts!"
echo "Refusing to start SMTP listener because it'll create an open relay"
exit 1
fi
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" 0 25 /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>;&1
重新啟動了qmail,然后outlook中設置了smtp驗證,但用合法的用戶和正確的密碼也不能通過。
望,那為大蝦不吝賜教!萬分感謝……
注:這里的qmail-smtpd 是編譯的有smtp驗證的文件;同時vpopmail中設置了默認域;outlook中的用戶名我試驗了user@domain.com這樣形式的也不能通過。 |
|