|
所有権とアクセス権についてのメモ。
|
|
・アクセス権
アクセス権は "ls -l" コマンドで確認可能。
| - |
rwx |
r-x |
r-- |
1 |
usr |
|
grp |
|
|
| ┃ | |
| ┃ | |
| ┃ | |
|
| ┃ | |
|
| ┗ |
|
|
所有グループ名 |
|
| ┃ | |
| ┃ | |
| ┃ | |
|
| ┗ |
|
|
所有ユーザ名 |
|
| ┃ | |
| ┃ | |
| ┗ |
|
|
その他ユーザ(others)のアクセス権 |
|
| ┃ | |
| ┗ |
|
|
所有グループのアクセス権 |
|
| ┗ |
|
|
所有ユーザのアクセス権 |
| |
ファイルへのアクセス権 |
ディレクトリへのアクセス権 |
| r | : |
ファイルの読み込み |
ディレクトリの内容の表示 |
| w | : |
ファイルへの書き込み |
ディレクトリ内でのファイルの作成と削除 |
| x | : |
ファイルの実行 |
ファイルの参照、カレントディレクトリの移動 |
※ スーパーユーザ(root)は、アクセス権の設定にかかわらず、全てのファイルとディレクトリに対してrwx可能。
|
・アクセス権&所有権操作コマンド
| chown | ユーザ名[:グループ] ファイル/ディレクトリ | : ファイルの所有者を変更 |
|
-R, --recursive |
|
: 指定したディレクトリ以下の全ファイルの所有ユーザを変更 |
| chgrp | グループ ファイル/ディレクトリ | : ファイルの所有グループを変更 |
|
-R, --recursive |
|
: 指定したディレクトリ以下の全ディレクトリ(?)の所有ユーザを変更 |
| chmod | <アクセス権> ファイル名 | : アクセス権の設定/変更 |
|
-R, --recursive |
|
: 指定したディレクトリ以下の全ファイルのアクセス権を変更 |
| 使用例: |
|
# chmod ug+x <ファイル名> |
|
# chmod go-x <ファイル名> |
|
# chmod 755 <ファイル名> |
| umask | [マスク番号] | : デフォルトのアクセス権の "マスク値" の設定 |
| 使用例: |
|
umask 0022 |
|
→ アクセス権(ファイル)
| : (0666 - 0022) = 644 = -rw-r--r-- |
|
→ アクセス権(ディレクトリ)
| : (0777 - 0022) = 755 = -rwxr-xr-x |
|
・書式 <アクセス権の設定/変更>
| 設定対象 |
|
操作 |
|
アクセス権の種類 |
| u | : 所有ユーザ |
+ | : 権限の追加 |
r | : 読み取り許可 |
| g | : 所有グループ |
- | : 権限の削除 |
w | : 書き込み許可 |
| o | : その他のユーザ |
= | : 権限の指定 |
x | : 実行許可 |
| a | : 全てのユーザ |
| |
s | : SUID/SGID |
| |
| |
t | : スティッキービット |
|
・SUID/SGID/スティッキービット
- SUID (Set User ID) 4000 u+s
- プロセス実行の際、ファイルの所有ユーザの権限で実行する。
- (SUIDはディレクトリには指定できない)
- 例: -r-s--x--x (= 4511)
- SGID (Set Group ID) 2000 g+s
- ファイルの場合:
- プロセス実行の際、ファイルの所有グループの権限で実行する。
- ディレクトリの場合:
- 対象ディレクトリ内に作成されたファイルの所有グループが、対象ディレクトリの所有グループとなる。
- 例: -rwxr-sr-x (= 2755)
- スティッキービット 1000 o+t
- 対象ディレクトリ内のファイルの削除/名称変更は、ファイルの作成ユーザのみに制限される。
- (スティッキービットはファイルには指定できない…はず)
- 例: drwxrwxrwt (= 1777)
|