chmod 計算ツール — Linux ファイル権限
Linux のファイル権限(パーミッション)を8進数(755・644)と rwx 記号で相互変換する無料計算ツール。chmod コマンドを自動生成し、chmod 755 の意味や 777 の危険な設定もひと目で確認。すべてブラウザ内で完結します。
| 読み取り (4) | 書き込み (2) | 実行 (1) | 桁 | rwx | |
|---|---|---|---|---|---|
| 所有者 (u) | 7 | rwx | |||
| グループ (g) | 5 | r-x | |||
| その他 (o) | 5 | r-x |
- 数値(絶対)モード
chmod 755 file- シンボリックモード
chmod u=rwx,go=rx file- 再帰 (-R)
chmod -R 755 dir- ディレクトリのみ
find dir -type d -exec chmod 755 {} +- ファイルのみ
find dir -type f -exec chmod 644 {} +
ヒント: chmod -R u+rwX は、ディレクトリと、すでに実行可能なファイルにだけ実行ビットを追加します。一律の -R 755 より安全です。
Linux では、755 のような数値 chmod はディレクトリの既存 setuid/setgid を保持します。00755、=755 または u-s,g-s で明示的にクリアしてください(BSD/macOS はデフォルトでクリア)。
ファイルの現在のモード: stat -c '%a' file(Linux)· stat -f '%Lp' file(macOS)
umask 計算
effective = base & ~umask
Linux ファイル権限早見表: よく使う chmod 値
| 8進数 | シンボリック | 主な用途 | 所有者 | グループ | その他 |
|---|---|---|---|---|---|
| 400 | r-------- | SSH 秘密鍵(読み取り専用) | r-- | --- | --- |
| 600 | rw------- | プライベートファイル、SSH 鍵 | rw- | --- | --- |
| 644 | rw-r--r-- | Web ページ、設定ファイル | rw- | r-- | r-- |
| 664 | rw-rw-r-- | グループ編集可能なファイル | rw- | rw- | r-- |
| 666 | rw-rw-rw- | 誰でも編集可能 — 避ける | rw- | rw- | rw- |
| 700 | rwx------ | プライベートディレクトリ | rwx | --- | --- |
| 755 | rwxr-xr-x | スクリプト、Web ディレクトリ | rwx | r-x | r-x |
| 775 | rwxrwxr-x | グループ共有ディレクトリ | rwx | rwx | r-x |
| 777 | rwxrwxrwx | 誰でも何でも可能 — 避ける | rwx | rwx | rwx |
| 1777 | rwxrwxrwt | 共有一時ディレクトリ (/tmp) | rwx | rwx | rwt |
パーミッション数字 0〜7 早見表
| 数字 | 2進数 | rwx | 意味 |
|---|---|---|---|
| 0 | 000 | --- | 権限なし |
| 1 | 001 | --x | 実行のみ |
| 2 | 010 | -w- | 書き込みのみ |
| 3 | 011 | -wx | 書き込み + 実行 |
| 4 | 100 | r-- | 読み取りのみ |
| 5 | 101 | r-x | 読み取り + 実行 |
| 6 | 110 | rw- | 読み取り + 書き込み |
| 7 | 111 | rwx | 読み取り + 書き込み + 実行 |
chmod とは?
chmod — change mode の略 — は、ファイルを誰が読み取り・書き込み・実行できるかを設定する Unix・Linux のコマンドです。すべてのファイルは 3 つのグループ(所有者・グループ・その他のユーザー)に分かれた 9 個のパーミッションビットを持ち、chmod はそれを chmod 755 のような数値(絶対)モードの8進数か、chmod u=rwx,go=rx のようなシンボリックモードの文字で受け取ります。どちらもまったく同じビットを表しており、本ツールは両者をリアルタイムに相互変換します。
8進数の省略記法が成り立つのは、各パーミッションが 2 の累乗だからです。読み取りは 4、書き込みは 2、実行は 1 で、クラスごとの 1 桁は単純にその合計です。7 はすべて(4+2+1)、5 は読み取りと実行、6 は読み取りと書き込み、0 は何もなし。rwxr-xr-x を左から 3 文字ずつ読めば 7、5、5 になります。先頭に付く 4 桁目は特殊モード — setuid(4)、setgid(2)、sticky ビット(1)— を表し、4755 や 1777 はこうして生まれます。特殊モードはシンボリック文字列では x の位置に s や t として現れます。
パーミッションは Unix セキュリティの第一層であり、日常のパーミッション問題の大半はいくつかの定番パターンに集約されます。実行できないスクリプトには実行権限(u+x)が必要、入れないディレクトリは x ビットが欠けている、Web アセットは 644 でその上のディレクトリは 755、秘密鍵は 600 にしないと OpenSSH が受け付けない、という具合です。間違いも同じように集中しています。最も悪名高いのは chmod 777 で、アクセスエラーを「解決」する代わりにマシン上のすべてのアカウントへ書き込み権限を渡してしまいます。このページは、計算、記号、実行可能なコマンド、リスク警告を 1 か所にまとめています。8進数は基数 8 の位取り記数法にすぎないので、背後にある位取りの計算は進数変換ツールで確かめられます。
# Make a script executable, then verify with ls -l $ ls -l deploy.sh -rw-r--r-- 1 jack staff 512 Jul 17 10:00 deploy.sh $ chmod 755 deploy.sh $ ls -l deploy.sh -rwxr-xr-x 1 jack staff 512 Jul 17 10:00 deploy.sh # The symbolic equivalent of 755 $ chmod u=rwx,go=rx deploy.sh # Read the current mode as a number $ stat -c '%a' deploy.sh # Linux → 755 $ stat -f '%Lp' deploy.sh # macOS → 755
主な機能
3 つの表示、1 つの状態
チェックボックスのマトリクス、8進数値、シンボリックの rwx 文字列はすべてライブな入力欄です。どれを編集しても、残りの 2 つが双方向で即座に追従します。
特殊ビットも正確に
setuid、setgid、sticky ビットを第一級で扱います。4 桁目の8進数、s/S・t/T の大文字小文字の規則、正しいシンボリック句(u+s、g+s、a+t)まで、chmod が解釈するとおりに表示します。
ls -l をそのまま貼り付け
ls -l の行をまるごとシンボリックフィールドに貼り付けてください。ファイル種別文字、SELinux のドット、ACL のプラス、macOS の @ を処理した上で、手作業の整形なしに8進数モードを返します。
実際に実行できるコマンド
数値、シンボリック、再帰、そしてより安全な find -type d / find -type f のペアをコピーボタン付きで生成します。さらに、ファイルの現在のモードを読み取る stat コマンドと、ディレクトリの setuid をクリアする GNU の注意書きも用意しています。
入力と同時にリスクを警告
誰でも書き込み可能なモードは即座に点灯します。777 と 666 は名指しで警告され、その他のユーザーへの書き込みビットにもフラグが立ちます。一方 1777 は、エラーではなく共有ディレクトリ用の sticky ビットパターンとして正しく認識されます。
umask・早見表・パーマリンク
組み込みの umask 計算では新規ファイルとディレクトリのモードを確認でき、2 つの参照テーブルが一般的なモードと 0〜7 の各桁を網羅します。「リンクをコピー」で正確な状態を共有 — すべて 100% ブラウザ内で動作します。
chmod パーミッションの例
755 — スクリプトと Web ディレクトリの標準
755
rwxr-xr-x — chmod 755 file · chmod u=rwx,go=rx file
モード 755 は所有者にフルコントロール(読み取り + 書き込み + 実行 = 4 + 2 + 1 = 7)を与え、グループとその他のユーザーには読み取りと実行のみを許可し、変更は許しません(4 + 1 = 5)。デプロイスクリプトや公開 Web ディレクトリに必要なのはまさにこの設定です。サーバーはディレクトリを辿ってコンテンツを配信できますが、変更できるのは所有者だけです。本ツールは数値の 755 とシンボリック形式の u=rwx,go=rx の両方のコマンドを表示し、ファイルのみのコマンドでは自動的に 644 に切り替わります。通常のファイルに不要な実行ビットを持たせるべきではないからです。
600 — プライベートなファイルを所有者だけに制限
600
rw------- — 所有者のみ読み書き可能、他のユーザーからは一切見えない
モード 600(rw-------)は、SSH 秘密鍵、.env ファイル、API 認証情報など、同じマシン上の他のアカウントに開かせてはならないファイルの正しい設定です。OpenSSH はこれを積極的に強制します。グループやその他のユーザーが読める鍵は、有名な「Permissions 0644 ... are too open」エラーで拒否されます。600 のプリセットを読み込み、chmod 600 file をコピーすれば、リスクパネルは沈黙したままです。これこそ最小権限の基本形です。
4755 — setuid の仕組み: x が s になる理由
4755
rwsr-xr-x — 所有者の実行位置が x ではなく s と表示される
先頭の 4 は setuid ビットです。誰がそのプログラムを実行しても、ファイル所有者の権限で動作します。passwd コマンドが一般ユーザーのために root 所有のファイルを更新できるのはこの仕組みのおかげです。シンボリック形式では所有者の実行位置が x から s に変わります(小文字の s は実行ビットも設定されている状態、大文字の S は実行なしの setuid で、ほとんどの場合は設定ミスです)。本ツールは 4 桁目の8進数を表示し、setuid のチェックボックスをオンにし、注意喚起の警告を表示します。setuid 実行ファイルは慎重なレビューに値するからです。
ls -l の出力を解読 — 行ごと貼り付け
drwxr-xr-x 5 jack staff 160 Jul 17 dist
755
ls -l の出力行をそのままコピーしてシンボリックフィールドに貼り付けてください。整形は不要です。ツールは先頭のトークン drwxr-xr-x を読み取り、先頭の d をパーミッションではなくファイル種別の文字(ディレクトリ)として認識し、システムによって付加される SELinux のドット、ACL のプラス記号、macOS の @ も許容した上で、残りの 9 文字を8進数の 755 に変換します。コードレビューや障害対応の最中に「このパーミッションは数字で何?」に答える最速の方法で、シンボリックリンクの l や通常ファイルの - でも同じように機能します。
chmod 計算ツールの使い方
- 1
好きな方法でパーミッションを設定する
クラスごとに読み取り・書き込み・実行のチェックボックスを切り替えるか、755 や 4755 のような8進数モードを入力するか、プリセット — SSH 鍵 400、プライベートファイル 600、Web ファイル 644、スクリプト 755 など — から始められます。
- 2
3 つの表示を同時に読む
チェックボックスのマトリクス、8進数値、シンボリックの rwx 文字列はどの方向にも同期し、各行には対応する桁と 3 文字のスライスが表示されます。
- 3
必要なコマンドをそのままコピーする
数値モード、スマートにまとめられたシンボリック形式、再帰の -R、そして find -type によるより安全なディレクトリのみ・ファイルのみのペア — 5 つの実行可能なコマンドがリアルタイムに更新されます。
- 4
既存のパーミッションを解読する
ファイル種別文字や ACL マーカーを含む ls -l の行をまるごとシンボリックフィールドに貼り付ければ、特殊ビットも含めて8進数値を即座に読み取れます。
- 5
umask を確認して結果を共有する
umask セクションは新規ファイルとディレクトリが受け取るモードを表示し、「リンクをコピー」で現在のモードを URL に収めて、コードレビューや運用手順書にそのまま貼れます。
よくある chmod の間違い
「Permission denied」を 777 で「解決」する
モードを全世界に開放しても、たいていは所有権の問題を覆い隠すだけで解決にはならず、マシン上のすべてのアカウントがファイルを書き換えられる状態が残ります。まず所有者を修正し、モードは厳しく保ってください。
sudo chmod -R 777 /var/www # アクセスは通るが、セキュリティは消える
sudo chown -R www-data:www-data /var/www # 所有権を修正し、755/644 を維持
アップロードディレクトリへの一律 chmod -R
再帰的な数値モードはファイルとディレクトリに同じ値を適用するため、755 ではすべての画像や文書が「実行可能」になり、777 では誰でも書き込めるようになります。代わりに種別ごとに再帰を分けてください。
chmod -R 777 uploads/
find uploads -type d -exec chmod 755 {} + && find uploads -type f -exec chmod 644 {} + ディレクトリに実行権限が必要なことを忘れる
ディレクトリの x ビットは「中に入って辿れる」ことを意味します。644 のディレクトリは、一覧表示できるユーザーでも cd で入れず、1 階層深いところで紛らわしい Permission denied エラーを引き起こします。
chmod 644 reports/ # cd reports/ → Permission denied
chmod 755 reports/ # ディレクトリは中に入るため x を持つ
実行ビットなしでスクリプトを配布する
新規作成されたファイルは 644 のような umask のデフォルトを継承するため、少なくとも所有者に実行権限を追加するまで ./script.sh は Permission denied で失敗します。CI ランナーや Docker エントリーポイントで頻発する問題です。
./deploy.sh # bash: ./deploy.sh: Permission denied
chmod u+x deploy.sh && ./deploy.sh
chmod 計算ツールでできること
- Web サーバーへ安全にデプロイする
- 生成された find コマンドで、nginx や Apache のドキュメントルートにディレクトリ 755・ファイル 644 を設定し、公開前に誰でも書き込み可能な箇所がないことをリスクパネルで確認できます。ディレクトリに Basic 認証も必要なら htpasswd 生成ツールと組み合わせてください。
- SSH 鍵のパーミッションを修正する
- 400 と 600 のプリセットは OpenSSH が秘密鍵に要求する設定をそのまま出力します。鍵がグループから読める状態で放置されたときに現れる「Permissions 0644 ... are too open」エラーについては FAQ で解説しています。
- 障害対応中にパーミッションを解読する
- 本番シェルの ls -l の行をシンボリックフィールドに直接貼り付ければ、頭の中でビットを数えることなく rwxr-sr-x を 2755 に変換できます。特殊モード、ACL マーカー、ファイル種別文字もすべて解釈されます。
- 共有ホスティングや FTP のモードを正しく設定する
- コントロールパネルや FTP クライアントは数値モードを要求します。public_html は 755、ページは 644、認証情報を含む設定ファイルは 600。プリセットを読み込み、早見表を確認し、数値をコピーするだけです。推測は不要です。
- コンテナと CI スクリプトを準備する
- エントリーポイントやフックスクリプトは、Docker や CI ランナーが実行する前に u+x が必要で、ボリュームマウントはホストのモードを引き継ぎます。それぞれのケースに合った chmod をここで生成し、実行ジョブのスケジュールは crontab 生成ツールで設定してください。
Linux ファイル権限の仕組み
- 8進数の計算: 4 + 2 + 1
- ユーザークラスごとに8進数 1 桁が割り当てられ、その桁は読み取り = 4、書き込み = 2、実行 = 1 の合計です。8 通りの組み合わせがすべて存在します。0 はなし、1 は実行のみ、2 は書き込みのみ、3 は書き込み + 実行、4 は読み取りのみ、5 は読み取り + 実行、6 は読み取り + 書き込み、7 はすべて。したがって 640 のようなモードは、所有者 6(読み取り + 書き込み)、グループ 4(読み取りのみ)、その他 0(なし)と読めます。ページ内の桁テーブルには 8 行すべてが掲載され、チェックボックスを操作すると同じ合計が組み上がる様子をマトリクスで確認できます。
- 数値(絶対)モードとシンボリックモード
- chmod は同じビットを 2 通りの方法で受け取ります。数値モードは結果全体を指定します。chmod 755 file は以前の状態が何であれ置き換えます。シンボリックモードは現在の状態からの変更を記述します。chmod u=rwx,go=rx file はクラスを明示的に設定し、chmod g+w file は 1 ビットだけを反転させて残りに触れません。スクリプトやデプロイで既知の正しい状態を強制するなら数値、u+x のような一回限りの調整ならシンボリックが向いています。本ツールは両方を出力し、経験豊富な管理者が書くようにグループクラスを自動的にまとめます(go=rx、a=rwx)。
- setuid・setgid・sticky ビット
- 先頭に付く 4 桁目の8進数が特殊モードを表します。setuid = 4000 は実行ファイルをファイル所有者の権限で実行し、setgid = 2000 はグループについて同じことを行います(さらにディレクトリでは、新規ファイルがそのグループを継承します)。sticky ビット = 1000 を共有ディレクトリに付けると、削除できるのは各ファイルの所有者だけになります。/tmp が典型的な 1777 です。ls -l では実行ビットの位置に表示されます。実行も設定されていれば小文字の s や t、そうでなければ大文字の S や T です(後者は通常、確認すべき設定ミスです)。GNU/Linux の注意点として、数値 chmod はディレクトリの既存 setuid/setgid を意図的に保持します。GNU coreutils マニュアルに記載のとおり、00755 のような 5 桁のモード、=755 のような等号句、または u-s,g-s でクリアしてください。BSD と macOS は数値モードでデフォルトでクリアします。
- umask が新規ファイルを形づくる仕組み
- 新しく作成されるファイルは基準値 666、ディレクトリは 777 から始まり、プロセスの umask に含まれるビットがそこから落とされます。実効モード = 基準値 & ~umask です。デフォルトの umask 022 はグループとその他の書き込みをマスクし、おなじみのファイル 644・ディレクトリ 755 になります。より厳しい 077 なら 600 と 700 で、すべてが所有者だけのものになります。共同作業向けの 002 なら 664 と 775 で、グループが書き込めます。ページ内の umask セクションは両方の基準値についてこの計算をリアルタイムに実行します。
ファイルパーミッションのベストプラクティス
- 動作する最小の権限を与える
- 最も厳しいモードから始めて、壊れた部分だけを開放してください。プライベートファイルは 600、共有で読ませるファイルは 644、実行やディレクトリ移動が本当に必要な場所だけ 755。余分な書き込みビットはすべて攻撃対象領域です。
- ディレクトリ 755・ファイル 644 を既定にする
- この組み合わせは、ほぼすべての Web ルート、リポジトリのチェックアウト、共有読み取りのシナリオに対応します。通常ファイルに実行権限はめったに不要で、ディレクトリは中に入るために常に必要です。この 2 つの取り違えが、日常的なパーミッションエラーの大半を引き起こします。
- 再帰は一律の -R ではなく find -type で
- chmod -R 755 はすべてのファイルを実行可能にしてしまいます。本ツールが生成するディレクトリのみ・ファイルのみのコマンドか、GNU chmod の大文字 X(u+rwX,go+rX)を使ってください。X は実行ビットが本来必要な場所にだけ追加します。
- サーバーから到達可能な場所に 777 を残さない
- 誰でも書き込める Web ルートやアップロードディレクトリは、ファイル混入やサイト改ざんの教科書どおりの経路です。複数のアカウントが書き込む必要があるなら、モードを全世界に開くのではなく、共有グループと 775 または 2775(setgid でグループ所有権を一貫させる)を選んでください。
- SSH 鍵は 600 に — 確定したら 400 に
- OpenSSH はグループや全体から読める秘密鍵を即座に拒否します。600 が実用上の標準で、400 なら編集する予定のない鍵を誤って上書きすることも防げます。公開鍵と authorized_keys は 644 で問題ありません。
chmod 計算ツール FAQ
chmod 777 とはどういう意味ですか?
chmod 777 は危険ですか?
chmod 755 と 644 の違いは何ですか?
「Permissions 0644 for 'id_rsa' are too open」はどう直せばいいですか?
chmod と chown の違いは何ですか?
chmod +x は何をしますか?
すべてのファイルとフォルダを再帰的に chmod するには?
この計算ツールを使うとデータはアップロードされますか?
関連ツール
すべてのツールを見る →進数変換ツール — 2進数・16進数・10進数・8進数
単位変換
無料オンライン進数変換ツール。2進数、8進数、10進数、16進数および任意の基数(2-36)間で数値を瞬時に変換。BigInt対応で桁数制限なし。登録不要・サーバー送信なし、すべての処理がブラウザ内で完結。コピーボタンやコードリテラル出力で開発作業を効率化。
カラーコンバーター — HEX, RGB, HSL & OKLCH
単位変換
HEX を RGB、HSL、OKLCH、OKLAB、CMYK にブラウザで変換できます。任意の形式をワンクリックでコピー。無料・登録不要・色データはページから一切送信されません。
HEX から CMYK へのコンバーター
単位変換
HEX カラーを CMYK にブラウザで変換できます。印刷プレビュー向けの sRGB ベースの単純な近似値です。無料・登録不要、色データはローカルから出ません。
HEX から HSL へのコンバーター
単位変換
任意の HEX カラーを HSL にブラウザで変換できます。3 桁・6 桁・アルファ付き 8 桁の HEX すべてに対応。無料・即時・登録不要、色データはページから一切送信されません。
HEX から OKLCH へのコンバーター
単位変換
HEX を OKLCH に変換し、Tailwind v4 デザイントークンに対応します。知覚的に均一なライブ出力に加え、Display P3 色域の警告も表示。無料・ブラウザ完結。
HEX から RGB へのコンバーター
単位変換
任意の HEX カラーコードを RGB にブラウザで変換できます。3 桁・6 桁・アルファ付き 8 桁の HEX すべてに対応。無料・即時・登録不要、色データはページから一切送信されません。