SELinux有効かを確認する(Enforcing=有効)
# getenforce
Enforcing
有効の場合は下記のコマンドでhttpdプロセスがファイルにアクセスできるようにする
chcon -R -h -t httpd_sys_content_t /var/www/html
This recursively sets your content directory to the proper context for Apache.
chcon
コマンドは、ファイルの SELinux コンテキストを変更します。ただし、chcon コマンドによる変更は、ファイルシステムの再ラベル付けや restorecon コマンドが実行されると維持されません。SELinux ポリシーは、特定のファイルの SELinux コンテキストをユーザーが修正できるかどうかを制御します。chcon を使うと、ユーザーは変更する SELinux コンテキストの一部または全部を提供します。SELinux がアクセスを拒否する一般的な原因は、ファイルタイプが間違っているためです。
httpd_sys_content_t
ラベルが、httpdプロセスがこのファイルにアクセスできることを表す.
ちなみに
SELinuxって?
- Linuxのセキュリティを強化する仕組みで、カーネルに追加される
- 米国国家安全保障局 (National Security Agency) が開発した
SELinuxのセキュリティの仕組み
- プロセスとファイルの全てに、タイプでラベル付けを行う。
- タイプはプロセスのドメインを定義しており、プロセスはドメイン毎に互いに分離している。
- SELinuxポリシールールは、タイプに基づきプロセスがファイルと対話する方法とプロセス同士が対話する方法を定義する。
- プロセスは、アクセスを許可するポリシールールが定義されている場合のみ、当該ファイル又はプロセスへアクセスできる。