ファイル権限は、サーバー上のファイルを「誰が読めるか、変更できるか」を決める設定です。FTPソフトに出る644や755がその数値で、左から所有者・グループ・その他の権限を表します。
WordPressでは通常ファイル644、ディレクトリ755が目安として使われますが、所有者やPHPの実行方式によって適切な値は変わります。サーバー会社の推奨値が優先です。更新できないからといって、全員へ書き込みを許す777へ一括変更する方法は避けた方が良いです。
644と755は何を意味するのか
権限の数字は、読取の4、書込の2、実行の1を足したものです。6なら読取と書込、5なら読取と実行、7ならすべてを許可します。
これを所有者・グループ・その他の順に並べたのが644などの表記です。644なら所有者は読んで変更でき、グループとその他は読むだけです。755なら所有者は三つとも可能で、ほかは読取と実行ができます。
ただし、同じ「実行」でもファイルとディレクトリで意味が違います。違いを並べると次のようになります。
| 操作 | 通常ファイル | ディレクトリ |
|---|---|---|
| 読取 | 内容を読む | 名前の一覧を見る |
| 書込 | 内容を変更する | 配下の作成・削除に関係する |
| 実行 | プログラムとして実行する | 配下のファイルへ到達する |
ディレクトリの実行権限は、中のファイルへアクセスするためにも必要です。数字を小さくしようとしてこの権限まで外すと、画像などを表示できなくなることがあります。ファイルとディレクトリへ同じ値を一括適用しないのは、この違いがあるためです。
WordPressは誰の権限で書き込むのか
ブラウザーから画像を追加すると、端末ではなくサーバー上のPHPが保存先へ書き込みます。一方、FTPでファイルを置く操作はFTPの接続アカウントで行います。この二つの利用者が同じかどうかは、サーバーの構成によって変わります。
例えばFTPでは上書きできるのにWordPressから更新できない場合、PHPの実行ユーザーに書込権限がないことがあります。必要なのは「全員が書ける」状態ではなく、更新する処理が必要な場所へ書ける状態です。
画像の保存先、キャッシュ、本体やプラグインの更新では、書き込みが必要になる場所も異なります。自動更新を使うのにその処理の書き込みまで止めると、更新に失敗します。通常ファイル644という目安だけで決めず、所有者と実行ユーザーも関係する点が重要です。
777にすると、なぜ問題があるのか
777は、所有者・グループ・その他のすべてへ読取・書込・実行を許可します。更新が通るようになる場合はありますが、必要のない利用者や処理からの変更も許す方向になります。
777にしただけでインターネット上の誰もが直接書き込める、という単純な意味ではありません。サーバー側のアカウント分離やアプリケーションも関係します。ただし、その防御に頼って不要な書込権限を残すことは避けるべきです。
更新失敗の原因は権限以外にもあります。容量不足やアップロード上限が原因なら、権限を広げても解決しません。エラーに表示された対象ファイルと内容から、権限の問題なのかを分ける方が近道です。
変更が必要な場合は、一部だけで確かめる
「Permission denied」などのエラーなら、対象ファイルの所有者・現在の権限・上位ディレクトリを確認します。レンタルサーバーの案内に推奨値がある場合は、その環境での値を基準にできます。
変更前の値を控え、まず対象を限定して変更します。その後、失敗していたアップロードや更新を試し、公開ページに403や500のエラーが出ていないかも確認します。問題が出た場合は、変更した箇所を元へ戻します。
ディレクトリ以下をまとめて変える再帰操作は、別サイトや設定ファイルまで巻き込む危険があります。対象を把握していない状態で一括コマンドを実行する必要はありません。所有者の変更が必要なケースなど、契約者では直せない範囲はサーバー会社へ相談する対象です。
設定ファイルを読めなくしてもサイトは止まる
wp-config.phpには、データベースの接続情報などが入っています。不必要な利用者から読めないことが重要ですが、PHPまで読めなくするとWordPressが動きません。厳しい数値へ変えるほど安全になるわけではありません。
新しくアップロードしたファイルだけで問題が出るなら、既存ファイルと所有者・権限が違っていないかが手がかりになります。古いファイルをすべて変えるより、アップロード方法や作成時の設定を直した方が再発を防げる場合があります。
ファイル権限と、制作会社へ渡す接続アカウントの範囲も別です。作業アカウントの権限分けで接続先を限定したうえで、WordPressが必要な場所だけへ書き込める状態にすると、それぞれの役割がはっきりします。