質問するログイン新規登録

回答編集履歴

2

補足

2017/04/20 00:31

投稿

KSwordOfHaste
KSwordOfHaste

スコア18406

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

用語変更

2017/04/20 00:31

投稿

KSwordOfHaste
KSwordOfHaste

スコア18406

answer CHANGED
@@ -1,4 +1,4 @@
1
1
  - rootの権限をもつSUID付きのプログラムはrootにしか作れない
2
2
  - 充分セキュリティーに配慮したSUID付きプログラムがあればroot以外にも使用を許せる
3
3
 
4
- というふうに**セキュリティーと可用性を両立**することができるという意味合いだと思います。
4
+ というふうに**セキュリティーと使い勝手を両立**することができるという意味合いだと思います。