skillup

技術ブログ

サーバー・ネットワーク

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

投稿日:

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

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

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

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

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

SELinuxとは

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

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

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

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

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

MySQLの接続エラー

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

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

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

参考文献

http://qiita.com/mattsun/items/470581ff34f87c7eb21d

http://qiita.com/ak-ymst/items/54537fe2d20620d079e3

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

執筆者:


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

comment

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

関連記事

no image

サーバーの過負荷の発見 理論編

会社のテストサーバー(このブログが入っているサーバー)なんかが重くなってくると、再起動したりしているわけなんですが、CPUやメモリの使用率をみたり、といったシステマティックな運用はしてないです。 本来 …

no image

シェル基礎2

シェルコマンド使い始めて数年たちますが、いまだに知らないことはおおいですし、早く知っとけばよかった的なこともたくさんあります。 そんな小ネタ集を alias よく使うコマンドを別名で登録することができ …

no image

SQLインジェクション

セキュリティ関係の知識がぬるいのでちょっとお勉強。 知っていることもあるが復習もかねて勉強を。 Contents1 SQLインジェクションとは?2 被害3 対策4 参考サイト・書籍5 ソース SQLイ …

no image

dockerコンテナ間での連携(PHP+MySQL)

dockerでのコンテナ間の連携について 以前、dockerではCentOSのイメージからコンテナを作成し、その中にphp,apache,mysqlをインストールしてましたが、dockerの使い方とし …

no image

PHPのheroku(ヘロク)へのデプロイ

有名なPaasのサービスであるherokuをちょっといじったのでその時のメモなどを。 Contents1 アカウント開設2 Heroku | Cloud Application Platform3 デ …