- - PR -
relay-ctrl 3が上手く動作しません
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-06-21 11:55
初めて投稿させていただきます。お見知り置きを。
Linux Squareの「実用qmailサーバ運用・管理術」を参照し、qmailを 構築しました。TurboLinux7 Serverにて構築を行ったため、比較的 簡単に出来ましたが、その後のrelay-ctrl導入が上手くいきません。 バージョン3になってから設定方法なども変わっているので、恐らくは それが問題かと思われるのですが‥。 現在、下記のスクリプトにてqmailを起動させています。 #!/bin/bash # # qmail # Source function library. . /etc/rc.d/init.d/functions PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin export PATH # Mail Server Fully Qualified Domain Name FQDN=****.*****.net [ -f /var/qmail/rc ] || exit 0 case "$1" in start) # Start daemons. echo -n "Starting qmail: " /var/qmail/rc & RTR=$? /usr/local/bin/envdir /etc/relay-ctrl relay-ctrl-chdir \ nohup tcpserver -vHR 0 pop3 /var/qmail/bin/qmail-popup $FQDN \ /usr/local/bin/checkpassword /usr/bin/relay-ctrl-check /var/qmail/bin/qmail-pop3d \ Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 & /usr/local/bin/envdir /etc/relay-ctrl relay-ctrl-chdir \ nohup tcpserver -vHR -u 502 -g 501 0 smtp /usr/bin/relay-ctrl-check \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & if [ "$RTR" == 0 ] ; then echo `echo_success` touch /var/lock/subsys/qmail else echo `echo_failure` fi ;; stop) echo -n "Shutting down qmail: " PID=`ps -aef | grep qmail-send | awk ' {print $2}' | head -1` if [ ! -z "$PID" ] ; then kill ${PID} 1> /dev/null 2>&1 fi RTR=$? killall tcpserver if [ "$RTR" == 0 ] ; then echo `echo_success` rm -f /var/lock/subsys/qmail else echo `echo_failure` fi ;; restart) $0 stop $0 start ;; *) echo "Usage: qmail {start|stop|restart}" exit 1 ;; esac exit 0 スクリプト中のFQDNは変更してあります。 relay-ctrlはRPMを利用し、
となっています。 いざスクリプトで起動してみると、ユーザ名の認証が済みパスワードを入れると -ERR this user has no $HOME/Maildir となってしまい、メールの受信が出来ません。同一ドメインに対しての送信(ローカル配送)は 可能です。また、上記スクリプトのrelay-ctrl-chdir(/etc/relay-ctrl次)を外して起動して みると、 relay-ctrl-check[1859]: Warning: Could not change directory to '/var/spool/relay-ctrl/allow': Permission denied. となってしまいますが、この場合は受信出来ます。ただしrelay-ctrlは働きません。 送信は前述のパターンと同じく、同一ドメインに対しては出来ます。 ユーザのHomeディレクトリには./Maildirがありますし、.qmailファイルもあります。 何とかパーミッションの設定をRPMインストール時から変更したり、setuidしたり してみたのですが、解決することが出来ません。 どなたか良い設定方法をご存じの方がいらっしゃいましたら、ご教授願います。 _________________ + やいば + + jk@lunar.to + [ メッセージ編集済み 編集者: やいば 編集日時 2002-06-21 12:11 ] |
|
投稿日時: 2002-06-24 18:19
解決致しました。これをご覧になってくださった方々、
お手数をおかけし申し訳ありませんでした。 原因は不明なのですが、RPMではなくtarで行うと上手くいきました。 変更後のソースは以下のとおりです。 #!/bin/bash # # qmail # Source function library. . /etc/rc.d/init.d/functions PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin export PATH # Mail Server Fully Qualified Domain Name FQDN=****.*****.net [ -f /var/qmail/rc ] || exit 0 case "$1" in start) # Start daemons. echo -n "Starting qmail: " /var/qmail/rc & RTR=$? /usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-chdir \ tcpserver -vHR 0 pop3 /var/qmail/bin/qmail-popup $FQDN \ /bin/checkpassword /usr/local/bin/relay-ctrl-allow /var/qmail/bin/qmail-pop3d \ Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 & /usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-chdir \ tcpserver -v -u 502 -g 501 0 smtp /usr/local/bin/relay-ctrl-check \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & if [ "$RTR" == 0 ] ; then echo `echo_success` touch /var/lock/subsys/qmail else echo `echo_failure` fi ;; stop) echo -n "Shutting down qmail: " PID=`ps -aef | grep qmail-send | awk ' {print $2}' | head -1` if [ ! -z "$PID" ] ; then kill ${PID} 1> /dev/null 2>&1 fi RTR=$? killall tcpserver if [ "$RTR" == 0 ] ; then echo `echo_success` rm -f /var/lock/subsys/qmail else echo `echo_failure` fi ;; restart) $0 stop $0 start ;; *) echo "Usage: qmail {start|stop|restart}" exit 1 ;; esac exit 0 * [CODE]タグを利用すると、上記のスクリプトが2重3重と表示されて しまうので、外して記入しました。ご了承ください。 何の足しにもならないかもしれませんが、何か参考になる点があれば 幸いです。以上よろしくお願い致します。 _________________ + やいば + + jk@lunar.to + [ メッセージ編集済み 編集者: やいば 編集日時 2002-06-24 18:21 ] |
|
投稿日時: 2002-06-24 18:24
追記として、参考にさせていただいたURLは以下のとおりです。
(@ITで他サイトのURLを紹介するのは心苦しいのですが‥) http://www.zdnet.co.jp/help/howto/security/special11/index.html 以上よろしくお願い致します。 |
|
投稿日時: 2002-08-03 13:22
私もやいばさんと同じ症状に悩まされました。受信の際に以下のエラーが出るというものです。
-ERR this user has no $HOME/Maildir いろいろと試してrelay-ctrl-allowファイルに対するsetuidを外せばエラーが解消されることがわかりました。@IT(V2.5について)及びZDNet(V3.1.1について)の両方でsetuidを設定するという指示がありますが、本家本元?である以下にはそのような指示はありません。 http://untroubled.org/relay-ctrl/ V3.1.1についてはsetuidは不要なのではないかと思います。 なおZDNetにあるようにdaemontools-0.76は導入してあります(導入後も上記のエラーは出ていました)。当方の環境はTurbolinux 7.0 Workstationです。 |
1