skillup

技術ブログ

サーバー・ネットワーク

SELinuxによるファイル制限+MySQLアクセスエラー

投稿日:2017年5月18日 更新日:

新サーバーにApacheをいれて特定のファイルにアクセスしようとしたところ、

以下のようなエラーがでてしまいました。

ただPermissionは適切に設定しているんですよね・・・

調べてみるとSELinuxが稼働しており、ファイルにアクセスできないとのこと。

聞いたことはあったけどよくは知らなかったな・・・ということでこれを機に調べてみることにしました。

SELinuxとは

CentOSではSeLinuxというセキュリティを向上させるための拡張機能です。

一般的にLinuxではパーミッションによるアクセス権はユーザーやグループごとに、ファイルやディレクトリの書き込み、読み込みを制御しますが、SELinuxを使うことによりプロセスやユーザーごとにファイルなどのきめ細かいアクセス制限が可能になります。

一時的にSELinuxを無効にするには

と入力すればOKです。ただしこの設定はOSを再起動したりすると設定ファイルに書かれている状態に戻ってしまいます。

OSを再起動してもSELinuxを無効にしたりするためには

MySQLの接続エラー

ファイルだけでなく、DBのアクセスなどができなくなることもあるようです。※サーバー側ではなくクライアント側です。

パスワード、ユーザー名が間違っていないのにPermission denied・・というエラーがでて迷いましたが、SELinuxが原因でした。

SELinuxをオフにしてもよいですが、特定の機能だけをONにすることもできます。

参考文献

CentOS7 SELinuxの無効化手順

Apache経由でのMysql接続時に「[2002]Permission denied」というエラーが起きてしまう場合の対処法

-サーバー・ネットワーク
-

執筆者:


  1. […] 単純なPermisson以外にもSELinuxの設定が不適切という可能性もありえます。その場合はこちら […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Linuxコマンドでのテキスト整形 CSV系の処理など

以前、対テキストファイル系のLinuxコマンドの使い方を紹介しましたが、その関連エントリーを。 今回やるのはCSV系の処理ですね。 id name age 1  suzuki 35 2  tanaka …

no image

AWSセキュリティグループについて

AWSのセキュリティグループに関して。 AWSには標準でセキュリティグループという概念があり、それぞれのインスタンスに対して、アクセスするパケットをポート番号で制御でき、この定義をセキュリティグループ …

no image

MacでのVirtualHost設定

MacでのVirtualHostについて。 Contents1 設定方法2 注意点2.1 httpd -S2.2 httpd: Could not reliably determine the ser …

no image

追跡ブランチからローカルブランチを作る方法~ (svn→gitの移行など)

SVNで運用されていたプロジェクトをgitに移行する機会があったのでその時のメモなどを。 思ってたよりは楽だったかな・・・ Contents1 準備2 実際の移行(git svn clone)3 gi …

no image

crontab 確認方法

crontabが動かないときに確認すること。 Contents1 cron自体が動いているか(下記コマンドでログを確認)2 実行権限が正しいか3 プログラム内部のファイルパスが絶対パスになっているか4 …