スペック早見表

chmod数値 早見表|755・644などパーミッション対応表

Linux/UNIXの chmod で使う数値(オクタルモード)と rwx記号表記 の対応表です。755・644・777・700・600などの頻出値の意味と典型用途、r=4・w=2・x=1 の計算方法、setuid/setgid/stickyの特殊権限、777を避けるべき理由まで、サーバー運用・Web開発の現場で必要な情報をまとめました。

📌 まずはこれ|最頻出のchmod値

数値記号表記用途
755rwxr-xr-xディレクトリ・実行スクリプトの定番
644rw-r--r--通常ファイルの定番(HTML・画像・設定)
700rwx------所有者専用ディレクトリ(~/.ssh 等)
600rw-------SSH秘密鍵・秘匿したい設定ファイル
777rwxrwxrwx全ユーザーがフルアクセス。原則使わない

※ 数値は左から「所有者・グループ・その他」の3桁。各桁は r(読)=4 + w(書)=2 + x(実行)=1 の合計です。

このページについて

chmod(change mode)はファイル・ディレクトリのアクセス権限(パーミッション)を変更するコマンドです。本ページはPOSIX.1(IEEE Std 1003.1)で定義されるファイルモードビットに基づき、実務で使う数値モード17種を記号表記・権限内訳・典型用途付きで一覧化しています。

「755と644はどう違う?」「ディレクトリに644を設定したら入れなくなった」「777にしていいのか?」といった、サーバー運用・Webサイト公開・SSH設定で頻発する疑問に即答できる構成です。

chmod数値⇄記号 対応表(メイン表)

下の入力欄に「755」「rwx」「秘密鍵」などを入力すると行を絞り込めます(空欄で全表示)。

数値記号表記所有者グループその他典型用途
777rwxrwxrwx読・書・実読・書・実読・書・実全ユーザーがフルアクセス。原則使わない(下記の注意参照)
775rwxrwxr-x読・書・実読・書・実読・実グループにも書き込みを許可する共有ディレクトリ
755rwxr-xr-x読・書・実読・実読・実ディレクトリ・実行スクリプト・公開Webディレクトリの定番
750rwxr-x---読・書・実読・実なしグループまでに限定したディレクトリ・スクリプト
744rwxr--r--読・書・実所有者のみ実行でき、他は内容の閲覧のみ(使用例は少ない)
711rwx--x--x読・書・実中身を一覧させず通過のみ許可するディレクトリ
700rwx------読・書・実なしなし所有者専用ディレクトリ(~/.ssh の定番)
666rw-rw-rw-読・書読・書読・書全ユーザーが読み書き可能。原則使わない
664rw-rw-r--読・書読・書グループで共同編集するファイル
660rw-rw----読・書読・書なし所有者とグループのみ読み書きするファイル
644rw-r--r--読・書通常ファイルの定番(HTML・画像・設定ファイル等)
640rw-r-----読・書なしグループのみ閲覧を許可する設定ファイル・ログ
600rw-------読・書なしなしSSH秘密鍵・秘匿したい設定ファイルの定番
555r-xr-xr-x読・実読・実読・実書き込みを禁止した実行ファイル・ディレクトリ
444r--r--r--全ユーザー読み取り専用(誤編集の防止)
400r--------なしなし所有者のみ読み取り(鍵ファイルの最小権限)
000---------なしなしなし全権限なし(一時的なアクセス遮断)

1桁の内訳(0〜7)|r=4・w=2・x=1 の加算

chmodの各桁は、読み取りr=4・書き込みw=2・実行x=1 を足し合わせた0〜7の数字です。3ビットの2進数がそのまま8進数1桁に対応します。

数値記号読(r)書(w)実行(x)計算式
0---0
1--x1
2-w-2
3-wx2+1
4r--4
5r-x4+1
6rw-4+2
7rwx4+2+1

🔧 簡易変換ツール|数値 → rwx表記

よく使う:

変換結果

上の欄に0〜7の数字3桁(例: 755)を入力してください。

特殊権限|setuid(4000)・setgid(2000)・sticky(1000)

4桁で指定する場合、先頭の1桁は特殊権限です。chmod 4755 file のように、通常の3桁に加算して指定します。

加算値名称表示位置効果
4000setuid所有者のx位置が s実行時にファイル所有者の権限で動作する4755 = rwsr-xr-x(passwdコマンド等)
2000setgidグループのx位置が s実行時にファイルのグループ権限で動作。ディレクトリでは中に作られるファイルがそのグループを継承する2755 = rwxr-sr-x
1000スティッキービットその他のx位置が tディレクトリ内のファイルを、所有者(とディレクトリ所有者・root)以外が削除・改名できない1777 = rwxrwxrwt(/tmp の定番)

※ 対応する位置に実行権限(x)が立っていない場合、s/t は大文字の S/T で表示されます。

実務の注意点

777 にしてはいけない理由

777は「システム上の全ユーザーが書き換え・実行できる」状態です。共有サーバーやWebサーバーでは、他ユーザーや侵入したプロセスによるファイル改ざん・不正コード設置の入口になります。「権限エラーが出たからとりあえず777」は、本当の原因(所有者の不一致・途中のディレクトリのx不足など)を隠すだけです。chown で所有者を正し、755/644 に戻すのが原則です。OpenSSHのように、秘密鍵のパーミッションが緩いと「Permissions are too open」エラーで動作を拒否するソフトウェアもあります。

ディレクトリの x は「中に入る権限」

ディレクトリでは r=ファイル名の一覧表示、w=中のファイルの作成・削除・改名、x=中に入る(通過する)権限です。xがないと、cdで入れず中のファイルにもアクセスできません。wの行使にはxも必要です。ディレクトリに644を設定すると事実上使えなくなるのはこのためです。

ファイルとディレクトリは分けて設定する

chmod -R 755 と一括再帰すると、実行不要な通常ファイルにまで実行権限が付きます。findで種別を分けて設定するのが定石です。

find /path -type d -exec chmod 755 {} +   # ディレクトリのみ755
find /path -type f -exec chmod 644 {} +   # ファイルのみ644

使い方・選び方のポイント

使用場面

Webサイトのファイル公開、シェルスクリプトへの実行権限付与(chmod +x / chmod 755)、SSH鍵の保護、共有ディレクトリの権限設計に使います。基本形は chmod 数値 対象、再帰は -R です。

よくある間違い

①ディレクトリに644を設定して中に入れなくなる ②実行できない原因が所有者(chownの問題)なのに数値だけ変える ③chmod -R 777 で全体を開放する ④SSH秘密鍵を644のまま放置して接続拒否される ⑤3桁の順番(所有者→グループ→その他)を取り違える。

選び方のコツ

①迷ったら「ディレクトリ755・ファイル644」 ②秘匿ファイルは600・秘匿ディレクトリは700 ③グループ共有が必要なときだけ775/664に広げる ④「その他」に書き込み(下1桁の2/3/6/7)を与える設定は原則避ける。

パーミッションの仕組み|数値表記の背景

UNIX系OSでは、すべてのファイル・ディレクトリに「所有者(user)・グループ(group)・その他(others)」という3つの主体ごとに、読み取り(r)・書き込み(w)・実行(x)の3種類の許可ビットが割り当てられています。この3ビット×3主体=9ビットがファイルのモードビットとしてinodeに記録されており、POSIX.1(IEEE Std 1003.1)で標準化されています。3ビットは0〜7の8進数1桁でちょうど表現できるため、「755」のような8進数3桁がパーミッションの数値表記として使われます。

644や755が「定番」とされるのには理由があります。プロセスが新しくファイルを作るとき、通常はファイル666・ディレクトリ777を基準に、そこからumask値を差し引いた(正確にはビットを落とした)権限が付きます。多くの環境の既定umaskは022(グループ・その他の書き込みを落とす)なので、新規ファイルは644、新規ディレクトリは755になります。つまり644/755は「システムが既定で作る、書き込みを所有者に限定した安全な状態」そのものです。

chmodには数値(絶対指定)と記号(相対指定)の2つの流儀があります。数値指定は chmod 644 file のように9ビット全体を丸ごと置き換えるのに対し、記号指定は chmod u+x file(所有者に実行権を追加)、chmod go-w file(グループとその他から書き込みを除去)のように現状との差分だけを変更します。既存の権限を保ったまま一部だけ変えたいときは記号指定、状態を確定させたいときは数値指定、と使い分けるのが実務的です。

よくある質問

Q1. 755と644の違いは?

A. 755はrwxr-xr-xで実行権限(x)を含み、ディレクトリや実行スクリプトに使います。644はrw-r--r--で実行権限がなく、HTMLや画像などの通常ファイルに使います。ディレクトリは中に入るためにxが必要なので、「ディレクトリは755・ファイルは644」が基本の組み合わせです。

Q2. chmodの数値はどう計算する?

A. 読み取り(r)=4、書き込み(w)=2、実行(x)=1として、許可する権限の数字を足します。これを左から所有者・グループ・その他の3桁で並べます。例えば755は、所有者=4+2+1=7(rwx)、グループ=4+1=5(r-x)、その他=4+1=5(r-x)です。

Q3. chmod 777はなぜ危険?

A. 777はrwxrwxrwxで、システム上の全ユーザーが書き換えも実行もできる状態です。共有サーバーやWebサーバーでは改ざん・不正コード設置の入口になります。「動かないから777」は所有者やディレクトリ権限といった根本原因を隠すだけなので、755/644と正しい所有者設定(chown)で解決するのが原則です。

Q4. ディレクトリの実行権限(x)は何を意味する?

A. ディレクトリのxは「中に入る(通過する)権限」です。xがないとcdで入れず、中のファイルにアクセスできません。rは「ファイル名の一覧を見る権限」、wは「中にファイルを作成・削除・改名する権限」で、wを行使するにはxも必要です。そのためディレクトリに644を設定すると機能しなくなります。

Q5. SSHの秘密鍵はどのパーミッションにすべき?

A. 秘密鍵は600(所有者のみ読み書き)または400(所有者のみ読み取り)にします。~/.sshディレクトリ自体は700にします。パーミッションが緩いと、OpenSSHは「Permissions are too open」というエラーを出して鍵の使用を拒否します。

Q6. 4桁の数値(4755や1777)は何を意味する?

A. 先頭の1桁は特殊権限です。setuid=4000(所有者の権限で実行)、setgid=2000(グループの権限で実行・ディレクトリでは新規ファイルがグループを継承)、スティッキービット=1000(ディレクトリ内のファイルを所有者以外が削除・改名できない)。4755はsetuid付きの755、1777は/tmpに使われるスティッキービット付きの777です。

Q7. 現在のパーミッションを数値で確認する方法は?

A. ls -lrwxr-xr-x のような記号表記を確認できます。数値で直接確認したい場合は、GNU coreutilsのstatコマンドで stat -c "%a" ファイル名 と実行すると、755のような数値が表示されます。

Q8. 755の意味は?

A. 755は「所有者はフルアクセス、グループとその他は読み取り・実行のみ」を表す、ディレクトリと実行スクリプトの標準値です。

  • 所有者(7) = 読み+書き+実行(rwx)
  • グループ(5) = 読み+実行(r-x)
  • その他(5) = 読み+実行(r-x)
  • 記号表記は rwxr-xr-x

書き込みできるのは所有者だけなので、公開Webディレクトリにも安全に使える基準値です。

Q9. 644の意味は?

A. 644は「所有者だけが編集でき、全ユーザーが読める」通常ファイルの標準値です。

  • 所有者(6) = 読み+書き(rw-)
  • グループ(4) = 読みのみ(r--)
  • その他(4) = 読みのみ(r--)
  • 記号表記は rw-r--r--

既定umaskが022の環境で新規ファイルに自動的に付く値で、HTML・画像・CSSなど実行しないファイルはこの値のままで問題ありません。

Q10. 777が危険な理由は?

A. システム上の誰でもファイルを書き換え・実行できるため、改ざんや不正コード設置の標的になるからです。

  • 同一サーバーの他ユーザーや侵入したプロセスが内容を自由に書き換えられる
  • 書き換えたスクリプトをそのまま実行させる攻撃の入口になる
  • Apache suEXEC のように、他者書き込み可のファイルの実行を拒否する仕組みもあり、かえって動かなくなることがある
  • 権限エラーの根本原因(所有者不一致など)が放置されたまま残る

全員書き込み可が正当なのは、スティッキービット付きの /tmp(1777)のような特殊な共有ディレクトリに限られます。

Q11. 700はいつ使う?

A. 700は「所有者以外は一切アクセス不可」にしたいディレクトリに使います。

  • ~/.ssh ディレクトリ(SSH設定・鍵の保管場所)の定番値
  • 他ユーザーに見せたくない作業用・バックアップ用ディレクトリ
  • 所有者だけが実行するスクリプト(rwx------)にも使える
  • 中のファイル自体は600(秘密鍵は600または400)にする

グループにも読ませたい場合は750、通過のみ許可する場合は711と、必要最小限だけ緩めるのが原則です。

関連する早見表

関連規格・出典

  • POSIX.1 (IEEE Std 1003.1) — ファイルモードビットおよび chmod ユーティリティの標準仕様
  • GNU coreutils マニュアル — chmod・stat コマンドの実装リファレンス

最終更新: 2026-07-04