chmod 755と644の違い: ファイル・フォルダ・スクリプトの正しい権限

この2つの数字でWebサーバーの大半の場面をカバーできます。各桁の意味と選び方、どちらでも不適切なケースをまとめます。

このガイドで使う道具

やりたいこと

サーバーに上げたファイルの権限が違ってサイトが動かない、あるいは秘密のファイルが読めてしまう。chmod計算は8進数と記号表記を並べて表示するので、コマンドを実行する前に確認できます。

各桁の意味

各桁は 読み取り(4)+書き込み(2)+実行(1) で、所有者・グループ・その他の順です。644 = rw-r--r-- は所有者だけ編集でき全員が読めます。755 = rwxr-xr-x は所有者が実行もできます。

  • 644 — サーバーが読むだけのHTML・画像・設定ファイル。
  • 755 — ディレクトリとスクリプト。ディレクトリはxがないと中に入れません。
  • 600 — 秘密鍵や認証情報ファイル。rw------- で所有者のみ。
  • 700 — 非公開ディレクトリ。rwx------。

具体例

サイトのデプロイでは、index.htmlにchmod 644、css/ディレクトリに755、deploy.shに755を設定します。.envやSSH鍵には600を使います。644にすると同じマシンの他ユーザーが秘密情報を読めてしまいます。計算ツールでチェックを入れれば2つの表記が同時に更新されます。

対象外のこと

setuid・setgid・stickyなどの特殊ビットは先頭に4桁目が付く形式(共有ディレクトリの1755など)で、このツールの対象外です。マネージドホスティングではACLやumaskでも実効権限が変わるため、chmodは最後の層に過ぎません。