読み込み・書き込み権限の正しい設定

ファイル/ディレクトリのパーミッションを適切に管理することで、改ざん・情報漏えい・実行権限の悪用を防ぎます。共用サーバーでは「最小権限の原則」を徹底しましょう。


  1. 推奨権限早見表
  2. SSH で一括変更する手順
  3. FTP クライアントでの変更手順
  4. トラブル時のチェックリスト
  5. まとめ & 次のステップ

1. 推奨権限早見表

対象推奨パーミッション説明
公開ディレクトリ (public_html/ 等)755所有者だけ書き込み/他は読み取り+実行
静的ファイル (HTML・CSS・画像)644所有者書き込み/他は読み取りのみ
CGI/PHP 実行ファイル744〜755実行ビット必須
設定ファイル (wp-config.php など)640〜600読めるのは所有者+Webサーバーのみ
秘密鍵・バックアップ600所有者以外はアクセス不可

ポイント

  • 777(誰でも書き込み可)は緊急以外で使用しない
  • CMS 自動アップデートが失敗する場合のみ、一時的に権限緩和 → 作業後に戻す

2. SSH で一括変更する手順

SSH ログイン権限があるプランなら、findchmod で一括設定が早いです。

# (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

  1. 対象フォルダを選択 → 右クリック 「プロパティ」
  2. 数字(例:755 / 644) を入力
  3. 「サブフォルダにも適用」 をチェックして OK

3.2 FileZilla

  1. ファイル/フォルダを選択 → 右クリック 「ファイル属性」
  2. パーミッションを数値入力 → 必要なら 「再帰的に適用」
  3. ディレクトリを対象 にするか ファイルだけ にするか選択

4. トラブル時のチェックリスト

症状原因例対応
403 Forbiddenディレクトリ 700・ファイル 600 で読み取れない755 / 644 に戻す
500 Internal Server ErrorCGI/PHP 実行ファイルから実行ビットが失われたchmod 755 script.cgi
画像が表示されないアップロード時に 600 で保存された対象ファイルを 644 に変更
WordPress アップデート失敗wp-content が 755 で書き込みできない作業中のみ 775 → 終了後 755

5. まとめ & 次のステップ

  1. 755 / 644 を基準に不要な書き込み権限を排除する。
  2. SSH なら find + chmod、FTP なら GUI で ディレクトリ↔ファイル を分けて設定。
  3. トラブル時は エラーコード権限値 を照合してすぐ修正。
  4. [Basic認証、IP制限、リダイレクトの応用] で .htaccess によるアクセス制御手法を学び、サーバー全体の防御力を高めましょう。

上部へスクロール