Unixパーミッション計算の使い方|755やrwxr-xr-xを相互変換する
公開日:2026年7月31日 対象ツール:Unixパーミッション計算(chmod)
サーバーにファイルを置いたのに「500 Internal Server Error」が出る、SSHで鍵を指定しているのに「permissions are too open」と拒否される——こうしたトラブルの多くはパーミッション(権限)の設定ミスが原因です。Unix/Linuxは、どのファイルに誰が何をできるかを常にチェックしているため、数字の意味を押さえておくと原因の切り分けが一気に速くなります。ここではchmodの数字が「なぜその値になるのか」を、実務で迷いやすい場面に沿って整理します。
権限は「3種類 × 3組」でできている
各ファイルには、読み(r)・書き(w)・実行(x)の3種類の許可があり、それぞれを所有者(user)・グループ(group)・その他(other)の3組に対して設定します。合計9個のオン/オフが、権限のすべてです。
数字はこの3種類に重みを割り当てたものです。読み=4、書き=2、実行=1とし、許可した分を足すと1桁の数字になります。rwx全部なら4+2+1=7、読みと実行だけなら4+1=5、読みだけなら4。これを所有者・グループ・その他の順に3つ並べたものがchmodの値です。
数値と記号の対応
- 755 = rwxr-xr-x:所有者は全部、グループとその他は読みと実行
- 644 = rw-r--r--:所有者は読み書き、他は読みだけ
- 600 = rw-------:所有者だけが読み書き、他は一切不可
- 777 = rwxrwxrwx:全員が読み書き実行できてしまう
記号表記(ls -l で見える9文字)は、左から3文字ずつが所有者・グループ・その他に対応し、権限が無い位置がハイフンになります。数字が思い浮かばなくても、この3文字ずつの区切りで読めます。
ファイルとディレクトリで「x」の意味が違う
つまずきやすいのがここです。ファイルのxは「プログラムとして実行できる」ですが、ディレクトリのxは「その中に入れる(通り抜けられる)」という別の意味になります。だから中身を触りたいディレクトリにはxが必要で、755を使います。逆に、ただ読ませたいだけのHTMLや画像にxは不要——だからWeb公開ファイルは644が基本です。
用途別の定番
- Web公開ファイル(HTML・CSS・画像・PHP): 644。閲覧させるだけなら実行ビットはいらない。
- ディレクトリ: 755。中に入る(通り抜ける)ためにxが要る。
- SSH秘密鍵: 600(.sshディレクトリ自体は700)。他人から見えると鍵として使えない。
- CGIスクリプトなど実行させる実行ファイル: 755。自分で起動される必要があるものだけxを付ける。
777が危険な理由
動かないときに「とりあえず777」で解決しようとするのは、事実上の最終手段どころか事故のもとです。777はその他(=サーバー上の誰でも)に書き込みを許す状態で、共有レンタルサーバーでは同居する別ユーザーからファイルを書き換えられる恐れがあります。さらにPHPやCGIを777にすると、Apacheのモジュール構成(suEXEC/suPHPなど)によっては「グループやその他に書き込み権があるスクリプトは実行拒否」という安全機構が働き、かえって500エラーになることもあります。書き込みが必要なら、所有者やグループを正しく設定して644/664/755の範囲に収めるのが正攻法です。
実務でありがちな失敗
- 権限不足で500エラー:CGI/PHPにxが無い、あるいはディレクトリが755でなく644でxが欠けて「入れず」に配信が止まる。
- 過剰権限でセキュリティ低下:面倒だからと一律777にして、書き換え・情報漏えいの入口を作ってしまう。
- 鍵の権限ゆるすぎ:秘密鍵を644のままにして、SSHが安全のため接続を拒否(600か400に直す)。
迷ったら「読ませたいだけなら実行を外す」「入りたいディレクトリだけxを付ける」「機密は所有者だけ」の3原則で、たいていは正しい値に落ち着きます。
このツールでの求め方
所有者・グループ・その他の3行で、許可したいr・w・xにチェックを入れると、755などの数字とrwxr-xr-xの記号が同時に表示されます。逆に「数値を入力」欄に644などを入れれば、チェックと記号に反映される双方向式です。setuid・setgid・stickyの特殊ビットは4755のような4桁とs/tの記号に、早見表ボタンは644・755・600・777などをワンタップで設定できます。値が固まったら「結果をコピー」でchmodコマンドにそのまま貼り付けられます。