🔧Toolify

Unixパーミッション計算ツール(chmod)

chmodのパーミッションを視覚的に設定できるツールです。チェックボックスでビットを切替えると8進数とシンボル表記が即座に更新されます。8進数を直接入力してデコードすることも可能です。

tools.unix-permissions-calculator.input.symbolic
rwxr-xr-x
tools.unix-permissions-calculator.label.readtools.unix-permissions-calculator.label.writetools.unix-permissions-calculator.label.executeOct
tools.unix-permissions-calculator.label.owner7
tools.unix-permissions-calculator.label.group5
tools.unix-permissions-calculator.label.other5
755= 755
tools.unix-permissions-calculator.label.ownertools.unix-permissions-calculator.label.grouptools.unix-permissions-calculator.label.other

よく使うプリセット

chmod 755 filename

仕組み

Unixパーミッションの歴史と8進数表記の由来

Unixファイルパーミッションは、1969年にKen ThompsonがPDP-7上のオリジナルUnixを設計した際に生まれました。各ファイルのinodeには所有者・グループ・その他それぞれ3ビット、合計9ビットのパーミッション情報が格納されます。3ビットひとまとまりを1桁の8進数(0〜7)で表すのは自然な発想で、3桁の数字だけで全パーミッションを表現できます。この8進数表記はPOSIX.1-1988で標準化され、以来すべてのLinux・macOS・BSD・Unix系OSで変わらず使われています。

シンボル表記(rwxr-xr-x)は最初期のUnixディストリビューションの`ls -l`出力から登場し、8進数の人間可読な補完として定着しました。POSIXは両表記を規定しており、`chmod u+x file`はシンボル形式、`chmod 755 file`は8進数形式で、どちらもinodeのモードフィールドの同じビット操作に行き着きます。

読み取り・書き込み・実行の意味

通常ファイルでは、読み取り(r=4)はファイルの内容を開いて読む権限、書き込み(w=2)はファイルを変更・切り詰める権限、実行(x=1)はファイルをプログラムとして動かす権限を意味します。各ビットは独立しており、組み合わせは自由です。各エンティティの8進数値はセットされているビットの合計で、rwx=7、r-x=5、r--=4となります。

ディレクトリの場合は意味が変わります。読み取り(r)は`ls`でファイル一覧を表示する権限、実行(x)は「検索ビット」とも呼ばれ、`cd`でディレクトリに入ったり内部ファイルをパスで開く権限です。書き込み(w)はディレクトリ内でのファイル作成・削除・リネームを許可します。rがあってもxがないディレクトリはほぼ使い物にならず、ファイル名は見えても開けません。一般的なディレクトリは755で、所有者のみ内容を変更でき、他はトラバースと読み取りだけできます。

よく使うパーミッションパターンとセキュリティ

644(rw-r--r--)は設定ファイル・HTMLファイル・テキストファイルの標準設定で、所有者が編集でき、他は読み取りのみです。755(rwxr-xr-x)はディレクトリや実行スクリプトの標準で、所有者が内容を管理し、他はトラバースと読み取りができます。600(rw-------)と700(rwx------)は所有者のみにアクセスを限定し、SSHの秘密鍵やパスワードファイルに適しています。Webに公開されているものに777を設定するのは危険で、「その他」への書き込み権限はシステム上の任意のプロセスがファイルを上書きできることを意味します。

umaskはファイルやディレクトリ作成時のデフォルトパーミッションを決める設定値です。多くのシステムで022が設定されており、新規ファイルは644、新規ディレクトリは755になります(ファイルのデフォルト666・ディレクトリのデフォルト777からumaskのビットを引いた値)。セキュリティ強化環境では027や077が使われ、新規ファイルが所有者のみ読み取り可か、グループ・その他からは全く読めない設定になります。

よくある質問

755とはどういう意味ですか?

755は所有者がread+write+execute(7=4+2+1)、グループがread+execute(5=4+1)、その他がread+execute(5=4+1)の権限を持つことを意味します。ディレクトリや実行スクリプトの標準パーミッションです。

644とはどういう意味ですか?

644は所有者がread+write(6=4+2)、グループが読み取りのみ(4)、その他が読み取りのみ(4)を意味します。設定ファイルやWebページなど通常ファイルのデフォルトです。

ディレクトリになぜ実行権限が必要なのですか?

ディレクトリの実行ビットは「検索ビット」として機能します。これがないと、読み取りビットがあってもcdで入ることも内部ファイルをパスで開くこともできません。実行なしの読み取りだけのディレクトリは実用上ほぼ使えません。

所有者・グループ・その他の違いは何ですか?

所有者はファイルを所有するユーザーアカウント(作成時に設定、chownで変更可)です。グループはファイルに割り当てられたグループ(chgrpで変更可)で、そのグループに属するユーザーはグループのパーミッションが適用されます。その他は所有者でもグループメンバーでもないすべてのユーザーです。

SUIDとSGIDとは何ですか?

SUID(Set User ID)とSGID(Set Group ID)は通常の9ビットに加えた特殊なパーミッションビットです。実行ファイルにSUIDが設定されると、実行者ではなくファイル所有者の権限で動作します(passwdやsudoで使用)。ディレクトリのSGIDは新規ファイルにディレクトリのグループを引き継がせます。シンボル表記では「s」(例: rwsr-xr-x)、8進数では4000または2000を加算(例: 4755)します。

chmod 777は危険ですか?

はい、特に共有システムやWebサーバーでは危険です。777はシステム上のすべてのユーザーに読み取り・書き込み・実行の全権限を与えます。脆弱なWebアプリケーションを含む他のプロセスがファイルを上書き・実行できるため、任意コード実行の脆弱性につながることがあります。必要最小限の権限に留めてください。

chmodコマンドの使い方を教えてください。

`chmod 8進数 パス`で単一ファイルに適用、`chmod -R 8進数 ディレクトリ`で再帰的に適用します。例: `chmod 644 index.html`、`chmod 755 /var/www`。シンボル形式も使えます: `chmod u+x script.sh`は他のビットを変えずに所有者の実行権限だけを追加します。

umaskとは何ですか?

umaskはファイルやディレクトリ新規作成時のデフォルトパーミッションに適用されるマスクです。022のumaskはグループとその他から書き込みを除くため、新規ファイルは644、新規ディレクトリは755になります。シェルで`umask`と入力すると現在の値が確認でき、`umask 値`でそのセッション中のみ変更できます。

広告について
  • NordVPN

    広告

    厳格なノーログポリシーと6000台以上のサーバーで、安全かつ高速なネット接続を提供するVPN。

    詳細を見る
  • エックスサーバー

    広告

    国内シェアNo.1のレンタルサーバー。WordPress高速化・自動バックアップ・無料SSLで個人サイトに最適。

    詳細を見る
  • ConoHa WING

    広告

    国内最速のレンタルサーバー。WordPressサイト構築・独自ドメイン無料・初期費用0円。

    詳細を見る

関連ツール

最終更新:

AIプロンプトも見る →