2011年01月31日

postfixで "unable to look up public/pickup: Permission denied"

メール配送にはpostfixを使っているのだが、
usoinfo@usohost:/home/usoinfo% ls -al /usr/sbin/sendmail
lrwxrwxrwx 1 root root 21 6月 9 2010 /usr/sbin/sendmail -> /etc/alternatives/mta
usoinfo@usohost:/home/usoinfo% ls -al /etc/alternatives/mta
lrwxrwxrwx 1 root root 26 6月 10 2010 /etc/alternatives/mta -> /usr/sbin/sendmail.postfix
usoinfo@usohost:/home/usoinfo% ls -al /usr/sbin/sendmail.postfix
-rwxr-xr-x 1 root root 190164 8月 15 2008 /usr/sbin/sendmail.postfix
rootでないユーザー、例えばapacheとかで、cat hoge.txt | /usr/sbin/sendmail uso@aho.aho とかしてメールを送ろうとすると、
Jan 31 08:00:37 usohost postfix/postdrop[32433]: warning: unable to look up public/pickup: Permission denied
とWarningが出る。メールは出ていったものの、何かいけない気がする。どうすりゃいいんだろう。

わからん。わからんので、postfix check。
[root@usohost ~]# postfix check
postfix/postfix-script: warning: not owned by group postdrop: /usr/sbin/postqueue
postfix/postfix-script: warning: not owned by group postdrop: /usr/sbin/postdrop
[root@usohost ~]# chgrp postdrop /usr/sbin/postqueue
[root@usohost ~]# chgrp postdrop /usr/sbin/postdrop
ownerがpostdropじゃない、と怒られた。設定してもう一度。
[root@usohost ~]# postfix check
postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
postfix/postfix-script: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop
[root@usohost ~]# chmod 2755 /usr/sbin/postqueue
[root@usohost ~]# chmod 2755 /usr/sbin/postdrop
今度はSGIDビットが立ってないと怒られた。設定してもう一度。
[root@usohost ~]# postfix check
[root@usohost ~]#
許されたようだ。Warningは出なくなったので、とりあえずこれでよしとしよう。

忘れがちなSUID/SGIDのまとめ。
chmodのアタマに4でSUID。ファイルのオーナーの権限で実行。
chmodのアタマに2でSGID。ファイルのグループの権限で実行。
ファイルのオーナーとグループをちゃんと確認してからビットを立てるようにしよう。
タグ:Linux postfix
posted by usoinfo at 08:25 | Comment(0) | 開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

×

この広告は90日以上新しい記事の投稿がないブログに表示されております。