usoinfo@usohost:/home/usoinfo% ls -al /usr/sbin/sendmailrootでないユーザー、例えばapacheとかで、cat hoge.txt | /usr/sbin/sendmail uso@aho.aho とかしてメールを送ろうとすると、
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
Jan 31 08:00:37 usohost postfix/postdrop[32433]: warning: unable to look up public/pickup: Permission deniedとWarningが出る。メールは出ていったものの、何かいけない気がする。どうすりゃいいんだろう。
わからん。わからんので、postfix check。
[root@usohost ~]# postfix checkownerがpostdropじゃない、と怒られた。設定してもう一度。
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
[root@usohost ~]# postfix check今度はSGIDビットが立ってないと怒られた。設定してもう一度。
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
[root@usohost ~]# postfix check許されたようだ。Warningは出なくなったので、とりあえずこれでよしとしよう。
[root@usohost ~]#
忘れがちなSUID/SGIDのまとめ。
chmodのアタマに4でSUID。ファイルのオーナーの権限で実行。
chmodのアタマに2でSGID。ファイルのグループの権限で実行。
ファイルのオーナーとグループをちゃんと確認してからビットを立てるようにしよう。
▼レンタルサーバー・VPS比較表を見る▼