すべてを

▼開く

閉じる▲

アクセス権をシンボルモードで設定する

○アクセス権をシンボルモードで設定する

シンボルモードは、ユーザの区分をアルファベット「u,g,o,a」、属性の操作を「+,-,=」、属性を「r,w,x」で個別に指定してアクセス権を設定する。現在のアクセス権の設定から一部を変更したい場合に便利である。


シンボルモード
ユーザ区分 属性の操作 属性
u
g
o
a
+
-
=
r
w
x

○シンボルモードの各シンボルの意味

ユーザ区分
シンボル 意 味
u ファイル・ディレクトリの所有者
g ファイル・ディレクトリの所有者が属するグループ
o ファイル・ディレクトリの所有者が属するグループ以外のユーザ
a 全員

属性の操作
シンボル 意 味
+ 属性を ON にする (アクセス権を与える)
- 属性をOFF にする (アクセス権を剥奪する)
= 指定したアクセス権だけがそのファイルのアクセス権となる

属性
シンボル 意 味
r 読み込み
w 書き込み
x 実行

○アクセス権を与える

アクセス権を操作する対象のユーザ区分を「u,g,o,a」の4つのシンボルで指定する。
アクセス権を与える場合、属性の操作は「+」で指定する。
アクセス権の対象となる属性を「r,w,x」で指定する。

グループに書き込み許可を与える
$ chmod g+w

アクセス権の対象ユーザ区分はグループで「g」、アクセス権を与える属性の操作は「+」、対象となる属性を「w」で指定する。

○アクセス権を奪う

アクセス権を操作する対象のユーザ区分を「u,g,o,a」の4つのシンボルで指定する。
アクセス権を奪う場合、属性の操作は「-」で指定する。
アクセス権の対象となる属性を「r,w,x」で指定する。

その他のグループの読み込み許可を奪う
$ chmod o-r

アクセス権の対象ユーザ区分はその他のグループで「o」、アクセス権を奪う属性の操作は「-」、対象となる属性を「r」で指定する。

○特定のアクセス権だけに設定する

アクセス権を操作する対象のユーザ区分を「u,g,o,a」の4つのシンボルで指定する。
アクセス権を設定する属性の操作は「=」で指定する。
アクセス権の対象となる属性を「r,w,x」で指定する。

アクセス権を設定する属性の操作である「+」と「-」は、現在のアクセス権の設定に対してアクセス権を与えたり奪ったりする。これに対して、「=」は、指定したユーザ区分のアクセス権を指定した属性だけに設定する。現在の設定を指定したアクセス権で置き換えてしまう。

その他のグループのアクセス権を読み込み許可だけにする
$ chmod o=r

アクセス権の対象ユーザ区分はその他のグループで「o」、アクセス権を設定する属性の操作は「=」、対象となる属性を「r」で指定する。

○複数のユーザ区分のアクセス権を一度に変更する

「ユーザとグループ」、「グループとその他のグループ」などのように、複数のユーザ区分のアクセス権を一度に変更する

グループとその他のグループに読み込み許可を与える
$ chmod go+r

アクセス権の対象ユーザ区分はグループとその他のグループで「go」、アクセス権を与える属性の操作は「+」、対象となる属性を「r」で指定する。

○複数のユーザ区分と属性のアクセス権を一度に設定する

「グループとその他のグループ」などのように、複数のユーザ区分のアクセス権を個別に指定して一度に変更する

グループに読み込み許可を与え、その他のグループの読み込み許可を奪う
$ chmod g+r,o-r

アクセス権の指定「g+r」と「o-r」をカンマで区切って同時に指定する。

アクセス権を数値モードで設定する

○アクセス権を数値モードで設定する

数値モードは、4桁の数値を使って「所有者」、「グループ」、「その他のユーザ」の3区分のユーザのアクセス権を一度に設定する。

数値モードは、4桁の8進数によって指定する。8進数といっても内部的に8進数で処理されるだけで、ユーザが指定する場合には特別な計算が必要なわけではない。10進数と同じように各桁を単純に足し算してモードを指定する。

各桁と数値に意味があり、これらを組み合わせて(実際には単純に足し算をして)指定する。

1桁目:特別なアクセス権
数 値 意 味
4000 ユーザIDを立てる
2000 グループIDを立てる
1000 スティッキービットを立てる

2桁目:ファイル・ディレクトリの所有者
数 値 意 味
0400 所有者が読み込める
0200 所有者が書き込める
0100 所有者が実行できる

3桁目:ファイル・ディレクトリの所有者が属するグループ
数 値 意 味
0040 グループに属するユーザが読み込める
0020 グループに属するユーザが書き込める
0010 グループに属するユーザが実行できる

4桁目:
ファイル・ディレクトリの所有者が属するグループ以外のユーザ
数 値 意 味
0004 その他のユーザが読み込める
0002 その他のユーザが書き込める
0001 その他のユーザが実行できる

ほとんどの場合、特別なアクセス権を設定する必要はないので、最初の桁を考慮する必要はなく0でよい。

アクセス権を「-rwxrw-r--」に設定するには、各ユーザ区分で与えるアクセス権の数値を桁ごとに足し算して合計した値を使う。


アクセス権を「-rwxrw-r--」に設定する
数 値 意 味
0400 所有者が読み込める
0200 所有者が書き込める
0100 所有者が実行できる
0040 グループに属するユーザが読み込める
0020 グループに属するユーザが書き込める
0004 その他のユーザが読み込める
0764 各桁の数値を合計した値

ディレクトリのアクセス権を指定したモードにする

○ディレクトリのアクセス権を660(-rw-rw----)に設定する

lsコマンドでアクセス権を変更する元のディレクトリを見る
$ ls -l
d--xr-xr-x    2 masa     users        4096  5月 20 17:50 dir1

chmodコマンドでモードとディレクトリ名を指定する
$ chmod 660 dir1

chmodコマンドでアクセス権を表す数値「660」とディレクトリ名「dir1」を指示すると、ディレクトリのアクセス権が「rw-rw----」に設定される。

lsコマンドで実行結果を見る
$ ls -l
drw-rw----    2 masa     users        4096  5月 20 17:50 dir1

ファイルのアクセス権を指定したモードにする

○ファイルのアクセス権を660(-rw-rw----)に設定する

lsコマンドでアクセス権を変更する元のファイルを見る
$ ls -l file
-rw-r--r--  1 masa users 256  9月  3 19:04 file

chmodコマンドでモードとファイル名を指定する
$ chmod 660 file

chmodコマンドでアクセス権を表す数値「660」とファイル名「file」を指示すると、ファイルのアクセス権が「-rw-rw----」に設定される。

lsコマンドで実行結果を見る
$ ls -l file
-rw-rw----  1 masa users 256  9月  3 19:04 file