chmodパーミッション計算ツール|755とrwxr-xr-xを相互変換
755 や rwxr-xr-x、ls -l の1行から、誰に何の権限が付いているかを読み解きます。chmod の記号指定を当てた結果と、umask から決まる新規作成時の値も同じ画面で求めます。
8 進数、記号表記、ls -l の 1 行のどれでも読み取ります。
パーミッションを入力してください
8 進数と記号表記の相互変換、誰に何の権限が付いているかの内訳がここに出ます
chmod の記号指定を当てる
上の欄にいまのパーミッションを入れると、当てた結果が出ます。
u・g・o を書かない指定(+w など)は、下の umask 欄の値を使って計算します。
umask から新しく作られるものの権限を出す
この値は、上の記号指定で u・g・o を書かなかったときにも使われます。
- 666 を要求して作られるファイル
- 644rw-r--r--
- 666 AND NOT 022
- 777 を要求して作られるディレクトリ
- 755rwxr-xr-x
- 777 AND NOT 022
- ファイル: 引き算(666 − 022)でも同じ 644 になります。
- ディレクトリ: 引き算(777 − 022)でも同じ 755 になります。
umask は、作る側のプログラムが要求したモードからビットを取り除くものです。上の 666 と 777 はよく使われる要求モードで、要求が違えば結果も変わります。たとえば 600 を要求するプログラムなら、umask 022 でも結果は 600 のままです。
r・w・x がファイルとディレクトリで指すもの
| 記号 | ファイル | ディレクトリ |
|---|---|---|
| r(4) | 中身を読み取れます。 | 中にあるものの名前を一覧できます。中身を開くには x も要ります。 |
| w(2) | 中身を書き換えられます。 | 中にファイルを作る・消す・名前を変えることができます。これには同じディレクトリの x も要ります。消される側のファイルの権限は関係しません。 |
| x(1) | プログラムとして実行できます。 | その中のパスをたどれます。名前の一覧を取るには r も要ります。 |
このツールについて
使い方・特徴・補足情報
chmodパーミッション計算とは
chmodパーミッション計算は、755 や rwxr-xr-x を読み解くツールです。 ls -l の 1 行をそのまま貼り付けても読み取ります。
誰に何の権限が付いているかを、ファイルとディレクトリで書き分けて並べます。 同じ 755 でも、ディレクトリの w は中のものを消せる権利です。
chmod の記号指定を今の値に当てた結果も出します。 u+x や go-w を打つ前に、何が変わるか確かめられます。
umask を当てた結果も求めます。 引き算で覚えていると答えがずれる値は、その場で名指しします。
こんな人におすすめ
サーバーやファイルを扱う人
楽になること
パーミッションの読み替え作業
避けたい手間
数字の意味を取り違えること
解決できる困りごと
- rwx の並びを 4・2・1 に置き換えて足す暗算を、毎回やり直さずに済みます
- ls -l の出力を見ながら数字へ書き写すときの、桁のずれを減らせます
- u+x や go-w を打つ前に結果を見られるので、当てずっぽうで実行する回数が減ります
- umask を引き算で覚えていたせいで、新しいファイルの権限がずれる取り違えに気づけます
- 同じ 755 でもディレクトリでは意味が変わる点を、切り替えてその場で確かめられます
使い方
- 入力欄に 755 や rwxr-xr-x を入れます
- ls -l の 1 行をそのまま貼り付けてもかまいません
- ファイルとディレクトリを切り替えて、意味の違いを見ます
- 「chmod の記号指定を当てる」に u+x のように入れて結果を確かめます
- 「umask」に 022 のように入れて、新しく作られるものの権限を見ます
使用例
755 の内訳を見る
所有者・グループ・その他の 3 桁が、それぞれ 4・2・1 の足し算でできている点に注目してください。
入力
755
出力
8進数(4桁): 0755
記号表記: rwxr-xr-x
所有者: 7 = 4 + 2 + 1(読み・書き・実行)
グループ: 5 = 4 + 1(読み・実行)
その他: 5 = 4 + 1(読み・実行)
ls -l の行を貼り付ける
行頭の 10 文字だけが使われ、残りは無視されます。先頭の d からディレクトリだと読み取る点も確かめてください。
入力
drwxr-sr-x 12 taro staff 384 Sep 20 10:00 public
出力
8進数(4桁): 2755
種別: ディレクトリ(先頭の d から読み取り)
setgid: 中に作られたものがディレクトリのグループを引き継ぎます
1桁だけ書いたときの読まれ方
chmod 7 は 0700 ではありません。桁は右詰めで読まれるので、権限が付くのはその他のユーザーです。
入力
7
出力
8進数(4桁): 0007
記号表記: ------rwx
通知: 右詰めで読みます。007 と同じ意味になります
umask 023 を確かめる
引き算でも 8 進数として成立する値が出るのに、答えが違う例です。ディレクトリ側は一致する点も見てください。
入力
023
出力
666 を要求するファイル: 666 AND NOT 023 = 644(引き算だと 643)
777 を要求するディレクトリ: 777 AND NOT 023 = 754(引き算でも 754)
活用シーン
受け取った手順書の数字を読む
手順書に書かれた 2775 のような値を入れると、特殊ビットを含めて内訳が並びます。何を変える指示なのかが打つ前に分かります。
ls -l の出力を数字に直す
ターミナルからコピーした 1 行を貼り付けるだけで、対応する 8 進数が出ます。手で rwx を数え直す必要がありません。
記号指定を打つ前に結果を見る
u+x,go-w のような指定を入れると、適用前と適用後が並びます。どのビットが動いたかに印が付きます。
サーバーの umask を確かめる
666 や 777 を要求して作られるファイル・ディレクトリの権限が出ます。引き算との食い違いもその場で分かります。
ディレクトリの権限を見直す
ファイルとディレクトリを切り替えると、同じ値でも説明文が変わります。w の意味の違いを並べて読めます。
s や t が付いた行を読む
rwsr-xr-x のような行を入れると、setuid・setgid・sticky の 3 行が出ます。大文字になっている理由も添えます。
技術的な解説
補足: 仕組み
パーミッションは 12 ビットの数で、上位 3 ビットが setuid・setgid・sticky です。 残りの 9 ビットを 3 つに分け、読み 4・書き 2・実行 1 の足し算として 8 進数で表します。
記号指定は POSIX の文法どおりに読み、X と permcopy は GNU の実測に合わせてその時点の値で判定します。 umask は引き算ではなく AND NOT のビット演算で計算しています。
もっと詳しく
umask を引き算で覚えると合わない値がある
umask は基準値から引き算するのではなく、ビットごとに取り除く仕組みです。 022 のような値では引き算でも答えが合うので、違いが表に出ません。
ずれるのは奇数の桁が混ざったときです。 たとえば 023 では、引き算が 643、実際の値は 644 になります。
s と S、t と T の大文字が出る理由
記号表記の 3 文字目が s なら setuid、S なら実行ビットが無い状態です。 9 文字目の t と T も同じ関係で、大文字は sticky だけが立っています。
大文字は付け忘れの合図として読めます。 実行ビットが無いファイルには、そもそも実行する経路がありません。
ディレクトリの w は中のものを消せる
ディレクトリの w は、中にあるものを作る・消す・名前を変える権利です。 同じディレクトリの x も要りますが、消される側のファイル自身の権限は関係しません。
読み取り専用にしたファイルでも、入れ物に w と x があれば消えます。 権限を絞るときは、ファイルと入れ物の両方を見ることになります。
よくある質問
chmod 7 と chmod 700 は同じ意味ですか?
違います。桁は右から その他・グループ・所有者 の順なので、7 は 0007 として読まれます。
読み・書き・実行が付くのはその他のユーザーです。
umask は 666 から引き算すればよいですか?
ディレクトリなら引き算でも同じ答えになりますが、ファイルでは合わない値があります。正しくはビットごとに取り除く計算で、023 だと引き算の 643 に対して答えは 644 です。
rwSr-xr-x の大文字の S は何を表しますか?
setuid が立っているのに、所有者の実行ビットが無い状態を表します。実行ビットもあるときは小文字の s になります。
数字では 4655 で、下 3 桁は 655 です。
ディレクトリのコマンドだけ 5 桁で出るのはなぜですか?
4 桁までの数値指定は、ディレクトリの setuid と setgid を残すためです。2755 のディレクトリに chmod 0755 を当てても 2755 のままでした。
5 桁で書くと落ちるので、set-ID が 0 のときだけ 00755 の形で出しています。
ディレクトリに setuid を付けるとどうなりますか?
このツールが参照している inode(7) には、ディレクトリに付けた場合の記述がありません。書かれていないことは書かない方針なので、画面でもその旨だけを出しています。
参考・出典
- chmod — The Open Group Base Specifications Issue 8 — The Open Group (2026-09-20 閲覧)
- umask — The Open Group Base Specifications Issue 8 — The Open Group (2026-09-20 閲覧)
- inode(7) — Linux manual page — The Linux man-pages project (2026-09-20 閲覧)
本ツールの計算式・判定基準は上記の公的機関・公式情報源を参考にしています。最新の情報は各リンク先をご確認ください。
関連記事
このツールの使い方や活用例をブログでも紹介しています。
関連ツール
同じカテゴリの他のツールも合わせてどうぞ。