LoginSignup
3
2

More than 5 years have passed since last update.

CentOSでパーミッション周りで不審な挙動があった時はSELinuxを疑う

Posted at

困ったこと

他サーバーで動いていたphpアプリをCentOS6.6の新サーバーに移動したところ、
file_put_contentsでファイル書き込みができない問題が発生。

構成

  • nginx + php-fpm
  • ともに実行ユーザーはnginxユーザー
  • 書き込みたいディレクトリはchown nginx chmod 777してある

=> permission周りは問題なし、nginxユーザーにsuしても普通に読み書きできる。おかしい

結論

結論から言うと、SELinuxによるアクセス管理に引っかかっていました。
このサーバーでは別にSELinuxは無効でいいので無効にします。

SELinuxの設定確認

今のSELinuxの状態を確認する

$ getenforce

=> enforcing 有効になってる

とりあえず一時的に無効する方法

以下のコマンドで一時的に無効にできる

$ setenforce 0

恒久的に無効にする方法

上記の方法だとOSを再起動するとまた元に戻ってしまう。
OSを再起動してもずっと無効のままにしておきたい時は以下を実行。

sysconfigを修正

$ sudo vi /etc/sysconfig/selinux

SELINUX=enforcing
↓
SELINUX=disabled

OS再起動

$ reboot
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2