前回の「Linuxを使う人のために(9)」でファイルにはアクセス権限の属性(パーミッション)が付いてる・・・という話をしました。パーミッションはLinuxの特徴の一つです。仕組みはUnixと同じです。
ファイルの所有者がアクセス権限を持っているのは当然ですが、所有者が所属する特定のグループや、そもそも全ての人に「読み・書き・実行」の権限を別々に指定することができます。
これを必要に応じて変更するのが chmod コマンドです。すぐ分かるように、change mode の意味ですね。
chmod モード(アクセス権限)ファイル名
chmodにはオプションがありますが、詳細は省略します。このコマンドの注目点はモード(アクセス権限)の部分で、”誰に+どんな権限を”付与するか・・・ということになります。
この部分は、[ugoa][+-=][rwx]となります。
| u | 所有者 |
| g | 所属グループ |
| o | その他のユーザー |
| a | 全てのユーザーとグループ(結果的に、ugoと同じ) |
| + | 指定したアクセス権限を追加 |
| – | 指定したアクセス権限を削除 |
| = | 指定した権限のみを設定。指定しなかった場合は削除。 |
| r | ファイルやディレクトリの読み出し可 |
| w | ファイルやディレクトリの書き込み可 |
| x | ファイルの実行可 |
ということで、全てのユーザーに「読み書き実行」を付与する場合は a+rwx となります。
アクセス権限については、以下の数値に対応させることができます。
| — | 0 |
| –x | 1 |
| -w- | 2 |
| -wx | 3 |
| r– | 4 |
| r-x | 5 |
| rw- | 6 |
| rwx | 7 |
全てのユーザーに「読み書き」を指定するなら、読み(r)書き(w)を表す数値は”6”であり「所有者、グループ、全ユーザー」で3桁として、”666″と指定します。
例えば、test.txt というファイルに対して、全てのユーザーに読み書き権限を与える場合は、
となります。数値(8進数)で指定すると一度に「所有者、グループ、全ユーザー」に対するアクセス権限を設定できるので便利ですね。

コメント