WordPressで、index.php is writeable by group suPHP 0.7.1 (Internal Server Error)

WordPress

WordPressで、

index.php is writeable by group suPHP 0.7.1 (Internal Server Error)

というエラーが発生しました。

解決方法をまとめました。

スポンサーリンク
スポンサーリンク

index.php is writeable by group

WordPressでBackWPupというプラグインを使ってバックアップしています。

このプラグインの使い方は以下にまとめています。

WordPressのプラグインBackWPupを使ってバックアップ&リストア手順
WordPressのプラグインBackWPupを使ってバックアップ、リストアを行ってみました。 手順は以下の通...

このたび、サーバーの引越しのために、BackWPupでバックアップしたものを別サーバーでリストアしたら、こんなエラー出ました。

Internal Server Error

File "/home/xxxx/yyyy/public/html/index.php" is writable by group

suPHP 0.7.1

image

このエラーの原因と解決方法

エラーの原因は、

/home/xxxx/yyyy/public/html/index.php

というPHPファイルにグループの書き込み権限があることが原因です。

よって、グループを読み込み権限にすればよいので以下のコマンドを実行します。

$ chmod 0644 /home/xxxx/yyyy/public/html/index.php

追記:phpファイル全部に対してパーミッションの変更が必要です。

以下のコマンドを実行しました。

$ find . -name "*.php" -print | xargs -i -t chmod 0644 {} 

UNIX(Linux)のパーミッションについて

UNIXでは、ファイルにパーミッションという考え方があり、

パーミッションには、「読み」「書き」「実行」の3つの実行権と、

「自分(Owner)」「グループ(Group)」「他人(Other)」の3つの所有権があります。

所有権

  意味
自分(Owner) ファイル/ディレクトリの所有者、本人のこと
グループ(Group) 同じサーバーを利用できるユーザ全体
他人(Other) その他全て、第三者のこと

実行権

  ファイル ディレクトリ
読み 指定したファイルの内容を表示する リストの表示可能
書き ファイルの上書き、削除 ディレクトリに新規ファイル作成可能
実行 実行ファイルの実行(プログラム、CGIなど) カレントディレクトリにすることができる

読み書き実行の3つの実行権は以下の記号、または数字で表されます。

  記号 数字
読むことができる (Readable) r 4
書くことができる (Writable) w 2
実行することができる (eXecutable) x 1
なにもできない - 0

UNIX上ではどのような管理になるかというと、パーミッションは、

  • ディレクトリかどうか
  • 3つの所有権
  • 3つの実行権

1 + 3×3 の合計10個の情報から成り立っています。

d r w x r w x r w x
ディレクトリ 読み 書き 実行 読み 書き 実行 読み 書き 実行
  自分 グループ 他人

たとえば自分にはすべての実行権が許可されるが、自分以外のグループや他人には、何も許さないという場合は「rwx------」という表記になります。

逆にすべての人にすべての実行権を許す場合は、「rwxrwxrwx」という表記になります。

これを数字で表す場合、たとえば「rw-r--r--」の場合は以下のことを意味します。

  •  「自 分」 → r+w = 4+2 = 6
  •  「グループ」 → r = 4
  •  「他人」 → r = 4

許可対象のユーザごとに足した結果を「rwx」表記のときと同じ順番で並べます。

したがって数字の場合「644」と表記します。

桁の数字の意味は、左から自分、グループ、他人になり、それぞれに指定した読み、書き、実行、の合計が属性値になります。

属性値 = 読み + 書き + 実行

記号 r w - r - - r - -
属性値 6 4 4
  (4+2+0) (4+0+0) (4+0+0)
自分 グループ 他人

ココまでが理解できれば、以下のコマンドの意味が分かるかなぁ。

$ chmod 0644 /home/xxxx/yyyy/public/html/index.php

このindex.phpのファイルのパーミッションが、0666だったので0644に変えたのでした。

WordPressのおすすめ本

↓WordPressのおすすめ本はコチラ

WordPressのおすすめ本