本文へ移動
Develop Tools
← 使い方ガイドへ戻る

rwxr-xr-xを755へ変換する方法|Linuxパーミッションの数値計算

rwx表記は3文字ずつ区切り、r=4、w=2、x=1を足します。rwx / r-x / r-xは7 / 5 / 5なので755です。

chmodの数値をOwner・Group・Otherのrwxへ分解する図
chmodの数値をOwner・Group・Otherのrwxへ分解する図

chmodの数値とrwxをブラウザで照合する

Owner・Group・Otherと特殊Bitを選び、8進数、rwx、数値chmodコマンドをブラウザ内だけで確認できます。

rwxをchmod数値へ変換する

結論:rwxr-xr-xは755、rw-r--r--は644

Owner、Group、Otherを3文字ずつ独立して計算します。

-rwxr-xr-xの先頭-やdrwxr-xr-xの先頭dはEntry Typeであり、755の桁ではありません。

権限を広げる前に、誰が、どのPathへ、どの操作を必要としているかを確認してください。

3文字ごとに4・2・1を合計する

rwxは4+2+1=7、r-xは4+0+1=5、r--は4です。欠けているPermissionは0として足します。

現行ツールが受け付ける10文字表記のPrefixは-とdです。lやc等のFile Typeは自動解析しないため、Permission部分9文字を入力します。

確認対象確認内容判断
rwx4+2+17
rw-4+2+06
r-x4+0+15
r--4+0+04

chmodパーミッション計算ツールで確認する手順

  1. 記号形式欄へrwxr-xr-xを入力します。
  2. Owner・Group・OtherのCheckboxを確認します。
  3. 8進数Outputが755か確認します。
  4. File Typeが必要なら対象を切り替えます。

u+x等の差分Operationではなく、最終的な9文字または10文字のPermission表記を入力します。

ls -l表示を分解する

表示TypePermissionOctal
-rwxr-xr-xFilerwx r-x r-x755
drwxr-xr-xDirectoryrwx r-x r-x755
-rw-r--r--Filerw- r-- r--644
-rw-------Filerw- --- ---600

Owner・Group・Otherと4・2・1を分けて読む

Permissionの3桁は左からOwner、Group、Otherです。各桁は10進数ではなく8進数で、read=4、write=2、execute/search=1を足します。7はrwx、6はrw-、5はr-x、4はr--です。ls -lの先頭1文字はFile Typeなので、-rw-r--r--の先頭-を数値へ含めません。

記号権限
0---なし
1--xexecute / search
2-w-write
3-wxwrite + execute
4r--read
5r-xread + execute
6rw-read + write
7rwxread + write + execute

通常Fileのxは実行、Directoryのxは名前を指定して配下へ到達するsearch権限です。Directoryではrだけで一覧名が見えても、xがなければcdや配下EntryへのAccessに失敗します。chmodだけで解決しない場合はOwner・Group、親Directory、ACL、SELinux・AppArmor、Mount Option、Applicationの実行Userも確認します。

期待どおりに動かない場合の切り分け

変換結果がずれる場合は、先頭Type文字をOwnerのrとして数えていないか、9文字をずらして区切っていないか確認します。

対象EntryのModeだけでなく、whoami・id・ls -ldで実行User、Group、親Directoryを確認します。sudoで症状が消えるだけなら、777へ広げずOwnershipやService Userを見直します。ACL、SELinux、AppArmor、Read-only Mount、noexec、Interpreter、Line Endingも別要因です。

  • 文字数を9または10で確認
  • 3文字ずつ区切る
  • s/S/t/Tを特殊Bitとして扱う
  • l等はPermission部分だけ入力

現行のchmodパーミッション計算ツールで確認できる範囲

DevelopToolsの現行ツールは、000~7777の3桁・4桁8進数、rwxr-xr-xの9文字表記、先頭が-またはdのls -l風10文字表記を相互変換します。Owner・Group・Otherのr/w/x、Setuid・Setgid・Sticky bitをチェックボックスでも指定でき、8進数、記号表記、数値Modeのchmodコマンド、説明、安全上の注意を表示します。入力はブラウザ内だけで処理され、サーバーへ送信されません。

機能現行ツールの動作
入力644・0755・4755等のOctal、rwxr-xr-x、-rw-r--r--、drwxr-xr-x、Checkbox
特殊BitSetuid=4、Setgid=2、Sticky=1と、実行Bitに応じたs/S/t/T表示
対象通常FileまたはDirectoryを選択し、表示Prefixを-またはdへ切替
出力Octal、Symbolic Permission、chmod数値Command、権限説明、Security Warning
補助Preset、Copy、Reset、再帰適用のWarning、秘密鍵・777等の注意
未実装u+x・g-w・X等のSymbolic Operation、umask計算、Binary表示、l等のFile Type、ACL・SELinux判定、実File操作

未実装項目を扱う記事では、GNU chmodやGitのCommand例と判断手順を説明します。ツールでは候補となる最終Modeを数値またはrwxで確認しますが、現在Modeを読み取った差分演算、File System操作、Command実行は行いません。

GNU・POSIX・Git公式資料で最終確認する

数値Mode、Symbolic Mode、再帰処理、Symbolic Linkの扱いはOSや実装差を含むため、実行環境のman chmodと公式資料を確認します。特に-RとSymlinkの組み合わせ、Setuid・Setgidの保持、Xの条件、umaskの影響を暗記だけで判断しません。

具体例:-rw-r-----を640へ変換する

先頭-を除き、rw- / r-- / ---へ分けます。

6 / 4 / 0なので640です。

  1. Typeを除く
  2. 3 Groupへ分割
  3. 各桁を加算
  4. Toolで640確認

Octalは文字列として先頭0を伴う0755表記になることもあります。

よくある質問

chmod 755は何を意味しますか?
Ownerがrwx、GroupとOtherがr-xです。通常Fileなら所有者が読み書き・実行でき、ほかは読み取り・実行できます。Directoryではxがsearch権限として働きます。
Permission deniedなら777にすれば直りますか?
権限不足だけが原因なら変化する可能性はありますが、全員へwriteとexecuteを与えるため一般的な解決策にはできません。Owner・Group・親Directory・必要な操作を特定してください。
chmodとchownは何が違いますか?
chmodはMode Bit、chownはOwnerやGroupを変更します。Modeが正しくても実行Userが想定したOwner・GroupでなければAccessできないことがあります。
ツールが表示したchmodコマンドをそのまま実行してよいですか?
対象Path、現在Mode、Owner・Group、File種別、配下の範囲を端末で確認してから使用してください。ツールは実FileやOSのAccess Controlを検査しません。