回答編集履歴
2
補足
answer
CHANGED
@@ -1,4 +1,23 @@
|
|
1
1
|
- rootの権限をもつSUID付きのプログラムはrootにしか作れない
|
2
2
|
- 充分セキュリティーに配慮したSUID付きプログラムがあればroot以外にも使用を許せる
|
3
3
|
|
4
|
-
というふうに**セキュリティーと使い勝手を両立**することができるという意味合いだと思います。
|
4
|
+
というふうに**セキュリティーと使い勝手を両立**することができるという意味合いだと思います。
|
5
|
+
|
6
|
+
---
|
7
|
+
|
8
|
+
補足:少し仕組み的なところを捕捉します(既にご存知ならスルーしてください。)
|
9
|
+
|
10
|
+
- OS以外のプログラムは全てプロセスの中で動く
|
11
|
+
|
12
|
+
- プロセスにはEUID(実効ユーザーID)とEGID(実効グループID)という属性がありこれらによりそのプロセス内で動いているプログラムの権限が決まる
|
13
|
+
|
14
|
+
- bashなどからコマンドを打ち込むと(ビルトインコマンド以外は)新しいプロセスが作られてその中で実行される
|
15
|
+
|
16
|
+
- 新プロセスが作られるとき親プロセスのEUID,EGIDが引き継がれる。
|
17
|
+
|
18
|
+
- プログラムファイルのsetuid/setgid属性がついてない場合
|
19
|
+
新プロセスでそのようなプログラムファイルを実行するとプロセスのEUID,EGIDは変化しません。(この仕組みによってあらゆるプログラムがloginユーザーの権限で動きます。)
|
20
|
+
|
21
|
+
- プログラムファイルのsetuid/setgid属性がついている場合
|
22
|
+
新プロセスでそのようなプログラムファイルを実行するとsetuidがついているならEUIDはプログラムファイルのオーナーのuidに置き換わります。setgid/EGIDも同様です。この仕組みにより(充分にセキュリティーに配慮した特別なプログラムに限って)非特権ユーザーが一時的に特権ユーザーの権限によりプログラムを動かすことができます。
|
23
|
+
|
1
用語変更
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
- rootの権限をもつSUID付きのプログラムはrootにしか作れない
|
2
2
|
- 充分セキュリティーに配慮したSUID付きプログラムがあればroot以外にも使用を許せる
|
3
3
|
|
4
|
-
というふうに**セキュリティーと
|
4
|
+
というふうに**セキュリティーと使い勝手を両立**することができるという意味合いだと思います。
|