▼すべてを開く。
▲すべてを閉じる。
シンボルモードは、ユーザの区分をアルファベット「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 | 各桁の数値を合計した値 |
$ ls -l d--xr-xr-x 2 masa users 4096 5月 20 17:50 dir1
$ chmod 660 dir1
chmodコマンドでアクセス権を表す数値「660」とディレクトリ名「dir1」を指示すると、ディレクトリのアクセス権が「rw-rw----」に設定される。
lsコマンドで実行結果を見る$ ls -l drw-rw---- 2 masa users 4096 5月 20 17:50 dir1
$ ls -l file -rw-r--r-- 1 masa users 256 9月 3 19:04 file
$ chmod 660 file
chmodコマンドでアクセス権を表す数値「660」とファイル名「file」を指示すると、ファイルのアクセス権が「-rw-rw----」に設定される。
lsコマンドで実行結果を見る$ ls -l file -rw-rw---- 1 masa users 256 9月 3 19:04 file