Open2

パーミッション変更のコマンド早見表

kuze_add9kuze_add9

概要

普段Windowsを利用していると、あまりファイルの所有者やアクセス権限(パーミッション)を意識することは少ないと思います。

ただしLinuxとなると別で、ログインしているユーザーによってフォルダ・ファイルに設定された所有者(ユーザー・グループ)、パーミッションによって、操作が制限される場合があります。

これらを変更するコマンドは以下の通りです。

コマンド 役割
chown ユーザーおよびグループを変更するコマンド
chmod フォルダやファイルの権限を変更するコマンド

その中でも今回は複雑な、chmodの早見表を作ります。

パーミッションの基本

パーミッションを考慮する際に必要なのが三点です。

Who(誰に)

誰に権限を与えるかを検討する必要があります。

  • ユーザー所有者 (u)
  • グループの所有者 (g)
  • その他 (o) ※上記2つにあてはまらないユーザー

What(何を)

前段で、誰に権限を与えるかを決めたら、
その所有者に対してどのような権限を設定するかが必要です。

  • 読み取り (r)
  • 書き込み (w)
  • 実行 (x)
  • 権限なし(-)
パーミッション シンボリック値 8進数値
なし --- 0
実行 --x 1
書き込み -w- 2
書き込みおよび実行 -wx 3
読み取り r-- 4
読み取りおよび実行 r-x 5
読み取りおよび書き込み rw- 6
読み取りおよび書き込みおよび実行 rwx 7

シンボリックの基本

パーミッションは、所有者、グループ、その他の3つのブロックに分かれており、それぞれ

  • 読み取り(r)
  • 書き込み(w)
  • 実行(x)
    の3つの権限が8進数で表されます。

ユーザー所有者 (u)/グループの所有者 (g)その他 (o)

u-1 u-2 u-3 g-1 g-2 g-3 o-1 o-2 o-3 数値
r w x r w x r w x 777

よく利用されるパーミッション

番号 シンボリック値 共通 ユーザー グループ その他 ユースケース
644 rw-r--r-- r r,w r r 一般ファイル
755 rwxr-xr-x r,e r,w,e r,e r,e 実行可能ファイル、ディレクトリ
666 rw-rw-rw- r,w r,w r,w r,w 共有ファイル
777 rwxrwxrwx r,w,e r,w,e r,w,e r,w,e 完全公開(注意)
600 rw------- - r,w - - 秘密ファイル
700 rwx------ - r,w,e - - 個人用スクリプト
711 rwx--x--x e r,w,e e e 共有実行ファイル
750 rwxr-x--- - r,w,e r,e - グループ内共有
440 r--r----- - r r - グループ内読み取り専用

参考

https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-file-system-permissions_configuring-basic-system-settings#managing-file-system-permissions_configuring-basic-system-settings
https://www.profuture.co.jp/mk/column/41710

kuze_add9kuze_add9

chmodの実行モード

  • 数値モード
  • 記号モード

先に紹介したのが、数値モードです。
もう一つが記号モードといものがあり、その名前の通り、記号でパーミッションを設定できるらしい。

https://bytes-box.com/command-chmod/

一般的には数値モードで実行することが多い気がするが、記号モードのほうが
分かりやすさはあるので、こちらもマスターしたい。