Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@menonon

SELinuxと共存する方法について

いろいろ悪名高き(?)SELinuxちゃんですが、意外と何をすれば解決できるかをログに書いてくれていて「あ、共存(setenforce 0しなくても)できそう」と思ったのでメモしておく。


今回の環境(関係ありそうなもの)

  • Fedora 19
  • httpd 2.4.6
  • postfix 2.10.2
  • selinux-policy 3.12.1

今回の嵌まり

  • phpに外部からアクセスした際、mail関数でメールが送れなかった
    • sendmailコマンドでターミナルからは送れる
    • phpコマンドでターミナルからも送れる
  • ログ見ると普通のアクセス権は問題ないのに、/etc/postfix/main.cf が Permission deniedになってしまっていた
  • ググるとSELinuxが邪魔していることが判明
    • しかし、いくらググっても良さげな解答事例がなかった

リポジトリがおかしいのか、それともこれが仕様なのか、はたまた自分でいつの間にかぶっ壊したのかわからないけど、なるべく簡単にポリシーに加える事を目標に頑張った。

/var/log/maillog には/etc/postfix/main.cf Permission denied としか書いていないのでアクセス権を見てしまうがそこは問題なかった。なので /var/log/messagesを見ると、 setroubleshoot: SELinux is preventing /usr/sbin/sendmail.postfix from read access on the file /etc/postfix/main.cf. For complete SELinux messages. run sealert -l hogehoge-fugafuga-piyopiyo と書かれている。

rootで sealert -l hogehoge-fugafuga-piyopiyo すると詳細情報が見られる。

If httpd が、メール送信することを、許可したい

Then これを許可するには、SELinux を設定しなければいけません

Do

setsebool -P httpd_can_sendmail=1

ということなので、rootで setsebool -P httpd_can_sendmail=1 をやってあげておしまい。


教訓
ログ見よう。ログ読もう。さすれば解は得られる。(こともあるかも?)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
6
Help us understand the problem. What are the problem?