シルギア

Unixパーミッション計算の使い方|755やrwxr-xr-xを相互変換する

公開日:2026年7月31日 更新日:2026年9月2日 運営:シルギア(Analyzegear, Inc.) 対象ツール: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+2=6、読みだけなら4です。これを所有者・グループ・その他の順に3つ並べたものがchmodの値です。

数値と記号の対応

  • 755 = rwxr-xr-x:所有者は全部、グループとその他は読みと実行
  • 644 = rw-r--r--:所有者は読み書き、他は読みだけ
  • 600 = rw-------:所有者だけが読み書き、他は一切不可
  • 664 = rw-rw-r--:所有者とグループが読み書き、その他は読みだけ
  • 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 = rwx------)。他人から見えると鍵として使えない。
  • CGIなど実行させるスクリプト: 755。自分で起動される必要があるものだけxを付ける。

特殊ビット(4桁)の読み方

通常の3桁の前に、もう1桁付くことがあります。先頭の桁はsetuid=4・setgid=2・sticky=1の合計です。setuid/setgidは実行ファイルをその所有者・グループの権限で動かす仕組み、stickyは/tmpのような共有ディレクトリで「自分が作ったファイルだけ削除できる」ようにする仕組みです。

記号表記では、これらは実行(x)の位置に重なって表示されます。実行権があるとき小文字、無いとき大文字になるのがポイントです。

  • 4755 = rwsr-xr-x:setuid付き。所有者の実行xがsに変わる(xがあるので小文字s)。
  • 2755 = rwxr-sr-x:setgid付き。グループの実行位置がsになる。
  • 1777 = rwxrwxrwt:sticky付き。/tmpの定番で、その他の実行位置がtになる。
  • 4655 = rwSr-xr-x:setuidだが所有者に実行xが無いため大文字S(動作しない印)。

777が危険な理由

動かないときに「とりあえず777」で解決しようとするのは、事故のもとです。777はその他(=サーバー上の誰でも)に書き込みを許す状態で、共有レンタルサーバーでは同居する別ユーザーからファイルを書き換えられる恐れがあります。さらにPHPやCGIを777にすると、Apacheのモジュール構成(suEXEC/suPHPなど)によっては「グループやその他に書き込み権があるスクリプトは実行拒否」という安全機構が働き、かえって500エラーになることもあります。書き込みが必要でも、所有者やグループを正しく設定して644/664/755の範囲に収めるのが正攻法です。迷ったら「読ませたいだけなら実行を外す」「入りたいディレクトリだけxを付ける」「機密は所有者だけ」の3原則で、たいていは正しい値に落ち着きます。

このツールでの求め方

所有者・グループ・その他の3行で、許可したいr・w・xにチェックを入れると、755などの数値とrwxr-xr-xの記号が同時に表示されます。逆に「数値を入力」欄に644などを、あるいは「記号表記を入力」欄にrwxr-xr-xなどを入れれば、チェックと他方の表記に反映される双方向式です。記号入力では先頭にd(ディレクトリ)や-(通常ファイル)が付いていても正しく読み取ります。setuid・setgid・stickyの特殊ビットは4755のような4桁とs/tの記号に反映され、早見表ボタンで644・755・600・777などをワンタップ設定できます。値が固まったら「結果をコピー」でchmodコマンドにそのまま貼り付けられます。なお本ツールが求めるのは一般的な権限ビットの値で、実際のアクセス可否はACL・umask・SELinux・ファイルシステム種別によって変わることがあります。最終確認は実環境の ls -l で行ってください。

「Unixパーミッション計算(chmod)」を使ってみる →

ほかの記事

CSSアニメーション(@keyframes)入門|作り方と緩急の付け方 CSSカラー名⇔HEX変換の使い方|148色と最近傍色の仕組み cron式の書き方入門|5フィールドと記号を図解で理解する Flexboxの効き方を目で理解|主軸・交差軸から生成CSSまで CSS Grid入門|fr・minmax・gap・整列を実例で解説 色覚シミュレーションの使い方|配色が色弱でどう見えるか確かめる

記事一覧をすべて見る →