6月22日(月)3、4コマ目
今日、やったこと
- ファイルの所有者・所有グループ
- ファイルのアクセス権
- setUIDビット、setGIDビット、stickyビット
今日のホワイトボード
ファイル・ディレクトリのデフォルトの所有者
作成者が所有者、作成者のプライマリグループが所有グループ。
ファイルのデフォルトのアクセス権
OS自体のデフォルトのアクセス権(666)から作成者のumask値を引く。
ディレクトリのデフォルトのアクセス権
一般ユーザーでのパスワードが変更できるのはなぜ?
パスワードは/etc/shadowに保存されている。
このファイルのアクセス権は
---------- root root /etc/shadow
特権ユーザー(root)以外はなにもアクセスできない。
コマンドは実行したユーザーの権限で動くため、本来なら特権ユーザー以外は/etc/shadowに書き込むことはできない。
しかしながら、root以外のユーザーでの書き込むことができている。これはpasswdコマンドはsetUIDビットがONになっているから。
-r-sr-xr-x
root root /usr/bin/passwd
setUIDビットがONになっているファイルは、実行したユーザーの権限ではなく、ファイルの所有者の権限で実行される。
setUIDビット、setGUIDビット
ls -lで表示されるファイルのパーミッションに3ビットのエリアがあるイメージ。
ここにsetUIDやsetGID、stickyビットのON、OFFがコントロールされている。
setUID、setGIDの付与
〇setUID(+で付与)
所有者に付与するため、 u+s。
chmod u+s ファイル名
〇setUID(数字で付与)
以下のsetuidのビットをONにするイメージ。
| setuid | setgid | stickyビット | 所有者 | 所有グループ | その他 | ||||||
| 読み | 書き | 実行 | 読み | 書き | 実行 | 読み | 書き | 実行 | |||
chmod 4xxx ファイル名
〇setGID(+で付与)
所有グループに付与するため、g+s。
chmod g+s ファイル名
〇setGID(数字で付与)
以下のsetgidのビットをONにするイメージ。
| setuid | setgid | stickyビット | 所有者 | 所有グループ | その他 | ||||||
| 読み | 書き | 実行 | 読み | 書き | 実行 | 読み | 書き | 実行 | |||
chmod 2xxx ファイル名
stickyビット
stickyビットがONになったディレクトリ内のファイル・ディレクトリは
- ファイル・ディレクトリの所有者
- 特権ユーザー
のみ、削除・名前変更ができる。
コメント