CentOS7.1 64bit SELinuxによるアクセス制御

CentOS7.1 64bit SELinuxによるアクセス制御 ツイート カキローウェブのTwitterはこちら 当サイトでCentOS7.1 64bitへのインストール方法を紹介しているパッケージに関するSELinuxの設定を、以下に示します。 ※CentOS6 64bitをご使用の場合は、当サイトのCentOS6 64bit SELinuxによるアクセス制御のページをご覧ください。 尚、ここではSELinuxの設定ファイル「/etc/selinux/config」で、ポリシーの設定を「SELINUXTYPE=targeted」とした状態でのSELinuxの動作を元にしています。 ※「targeted」は、デフォルトの設定となります。他に「mls」が指定可能となっています。 ここでは、Apacheからのファイルの読み込みを許可する場合を元に、ディレクトリに設定されているSELinuxのコンテキストについて説明していきます。 Apacheから外部のデータベースへのアクセスを許可する場合等、SELinuxのブール値による設定については、当サイトのCentOS7 64bit SELinuxによるアクセス制御(その2)のページをご覧ください。 以下の各コマンドで、プロンプトが「#」で開始しているものはrootユーザーでの実行、「$」で開始しているものは一般ユーザーでの実行となります。 Apacheからのファイルの読み込みを許可 ドキュメントルートの変更やエイリアスの使用で、独自に作成したディレクトリを公開したい場合や、SSL使用時の秘密鍵や証明書といった設定関連のファイルを独自に作成したディレクトリに置きたい場合に、chownやchmodを使用してアクセス権の設定を行ってもアクセスが拒否されてしまうときは、SELinuxによるアクセス制御が有効になっていることが原因の可能性があります。 公開したい独自に作成したディレクトリのファイルへのアクセスが拒否された場合、Apacheのエラーログ「/var/log/httpd/error_log」には以下のようなログが出力されているかと思います。 [core:error] [pid 3008:tid 139956904216320] (13)Permission denied: [client xxx.xxx.xxx.xxx:xxxxx] AH00035: access to /xxx/aaa.html denied (filesystem path ‘/xxx/html/aaa.html’) because search permissions are missing on a component of the path ※「/xxx/html/aaa.html」は、実際にアクセスしようとしたサーバー上のファイルのパスになります。 また、SSLで使用する秘密鍵や証明書を独自に作成したディレクトリに置いてApacheを起動したときにアクセスが拒否された場合、コマンド「systemctl -l status httpd.service」を実行すると、以下のようなエラーメッセージが表示されているかと思います。 # systemctl -l status httpd.service :(略) Starting httpd: AH00526: Syntax error on line 147 of /etc/httpd/conf/extra/httpd-ssl.conf: SSLCertificateFile: … Continue reading CentOS7.1 64bit SELinuxによるアクセス制御