Chmod 111の解説
chmod 111は全員に実行のみ。読み取りも書き込みも不可。ソースコード保護が必要なコンパイル済みバイナリに使用されます。
Permission
111
--x--x--x
chmod 111 filename
パーミッション解析
| Role | Read (4) | Write (2) | Execute (1) | Octal | 意味 |
|---|---|---|---|---|---|
| Owner | - | - | x | 1 | execute |
| Group | - | - | x | 1 | execute |
| Others | - | - | x | 1 | execute |
パーミッションの可視化
Read
Write
Execute
Owner
-
-
e
Group
-
-
e
Others
-
-
e
詳細な説明
パーミッション 111 は、全員に実行アクセスのみを付与し、読み取りと書き込みのパーミッションを拒否します。
8進数の内訳:
- 1(所有者): execute (1) のみ
- 1(グループ): execute (1) のみ
- 1(その他): execute (1) のみ
シンボリック表記では --x--x--x となります。全員がファイルを実行できますが、読み取りも書き込みもできません。ディレクトリの場合、全員がディレクトリ内を移動できますが、内容の一覧表示やファイルの作成はできません。
コンパイル済みバイナリの場合、これは想定通りに機能します。カーネルはユーザーが cat で読んだりコピーしたりできなくても、バイナリを読み込み実行できます。スクリプト(シェル、Pythonなど)の場合、インタプリタがスクリプトファイルを読む必要があるため、うまく機能しません。ディレクトリの場合、execute のみは正確なパスでファイルにアクセスできますが、存在するファイルの一覧表示はできません(711 に似ていますが、所有者にも読み取りアクセスがありません)。
ユースケース
ユーザーがプログラムを実行できるがバイナリの読み取り、コピー、変更はできるべきではないコンパイル済みの独自バイナリに使用。移動のみ可能なディレクトリにも使用されます。