ファイル/ディレクトリのパーミッションを適切に管理することで、改ざん・情報漏えい・実行権限の悪用を防ぎます。共用サーバーでは「最小権限の原則」を徹底しましょう。
1. 推奨権限早見表
対象 | 推奨パーミッション | 説明 |
---|---|---|
公開ディレクトリ (public_html/ 等) | 755 | 所有者だけ書き込み/他は読み取り+実行 |
静的ファイル (HTML・CSS・画像) | 644 | 所有者書き込み/他は読み取りのみ |
CGI/PHP 実行ファイル | 744〜755 | 実行ビット必須 |
設定ファイル (wp-config.php など) | 640〜600 | 読めるのは所有者+Webサーバーのみ |
秘密鍵・バックアップ | 600 | 所有者以外はアクセス不可 |
ポイント
- 777(誰でも書き込み可)は緊急以外で使用しない
- CMS 自動アップデートが失敗する場合のみ、一時的に権限緩和 → 作業後に戻す
2. SSH で一括変更する手順
SSH ログイン権限があるプランなら、find
+ chmod
で一括設定が早いです。
# (1) まずはディレクトリを 755 に統一
find ~/public_html -type d -exec chmod 755 {} \;
# (2) 次にファイルを 644 に統一
find ~/public_html -type f -exec chmod 644 {} \;
# (3) 実行スクリプトのみ 755 へ再設定(例:*.cgi)
find ~/public_html -name "*.cgi" -exec chmod 755 {} \;
-type d
/-type f
でディレクトリとファイルを分けて処理- 変更前に
-exec ls -l {} \;
を付けて プレビュー すると安全
3. FTP クライアントでの変更手順
3.1 WinSCP
- 対象フォルダを選択 → 右クリック 「プロパティ」
- 数字(例:755 / 644) を入力
- 「サブフォルダにも適用」 をチェックして OK
3.2 FileZilla
- ファイル/フォルダを選択 → 右クリック 「ファイル属性」
- パーミッションを数値入力 → 必要なら 「再帰的に適用」
- ディレクトリを対象 にするか ファイルだけ にするか選択
4. トラブル時のチェックリスト
症状 | 原因例 | 対応 |
---|---|---|
403 Forbidden | ディレクトリ 700・ファイル 600 で読み取れない | 755 / 644 に戻す |
500 Internal Server Error | CGI/PHP 実行ファイルから実行ビットが失われた | chmod 755 script.cgi |
画像が表示されない | アップロード時に 600 で保存された | 対象ファイルを 644 に変更 |
WordPress アップデート失敗 | wp-content が 755 で書き込みできない | 作業中のみ 775 → 終了後 755 |
5. まとめ & 次のステップ
- 755 / 644 を基準に不要な書き込み権限を排除する。
- SSH なら
find + chmod
、FTP なら GUI で ディレクトリ↔ファイル を分けて設定。 - トラブル時は エラーコード と 権限値 を照合してすぐ修正。
- [Basic認証、IP制限、リダイレクトの応用] で .htaccess によるアクセス制御手法を学び、サーバー全体の防御力を高めましょう。