今回phpでメール送信する仕組みを作った。
ところでSELinuxには、どこぞの2getコピペのような印象を受ける・・・
/etc/selinux/config において
SELINUX=disabled
とすることについて
Linuxサーバを構築するにあたり、まずSELinuxを無効化するのが当たり前のように語られている風潮。
本来なら、しっかりとSELinuxについて学ぶべきじゃないのだろうか。
そういう観点で以って、setenforce 0 を確認時に使うのは良い。
だが安易に /etc/selinux/config を SELINUX=disabled にしてしまうのはどうだろう。
SELinux絡みの問題は確かに稀に頻繁に遭遇するが、そこに問題がある事が念頭に有れば、
ログを読みどこの設定が問題なのか特定できるはずである。
多少の問題解決の手間を面倒臭がった結果、より大きな問題に遭遇することになっては本末転倒である。
しかしリスクマネージメントの手間と運用性はトレードオフで、どこかで妥協する必要があるのは否めない。
以上を踏まえて、サーバに設定するべきは、
SELINUX=disabled
php自体はそもそも動くようにしてあったので、yumでphp-mbstringパッケージをインストールし、
mb_send_mail($to,$subject,$body,$header)を呼び出すだけ。
・・・だったはずだが、これがすんなり行かなかった。
・経緯
httpd(apache)からの実行でメールが送れない。
↓
cliでの動作は正常。
↓
apacheユーザ権限でもcli実行では正常。
この確認で、apache経由で実行することに問題がある事が分かった。
原因は単純で、SELinuxのhttpd_can_sendmail値がoffになっていたからだった。
getsebool httpd_can_sendmailを実行すると、
httpd_can_sendmail --> {on|off}が返ってくるので、offになってればroot権限で
setsebool -P httpd_can_sendmail 1としてやれば良い。
ところでSELinuxには、どこぞの2getコピペのような印象を受ける・・・
/etc/selinux/config において
SELINUX=disabled
とすることについて
Linuxサーバを構築するにあたり、まずSELinuxを無効化するのが当たり前のように語られている風潮。
本来なら、しっかりとSELinuxについて学ぶべきじゃないのだろうか。
そういう観点で以って、setenforce 0 を確認時に使うのは良い。
だが安易に /etc/selinux/config を SELINUX=disabled にしてしまうのはどうだろう。
SELinux絡みの問題は確かに稀に頻繁に遭遇するが、そこに問題がある事が念頭に有れば、
ログを読みどこの設定が問題なのか特定できるはずである。
多少の問題解決の手間を面倒臭がった結果、より大きな問題に遭遇することになっては本末転倒である。
しかしリスクマネージメントの手間と運用性はトレードオフで、どこかで妥協する必要があるのは否めない。
以上を踏まえて、サーバに設定するべきは、
SELINUX=disabled
0 件のコメント:
コメントを投稿