前回の「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進数)で指定すると一度に「所有者、グループ、全ユーザー」に対するアクセス権限を設定できるので便利ですね。
コメント