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

回答編集履歴

2

誤記訂正

2015/08/24 21:20

投稿

pi-chan
pi-chan

スコア5936

answer CHANGED
@@ -1,5 +1,7 @@
1
1
  otnさんのご説明の通り、セキュリティー上の理由で、スクリプトにはsetuidは効きません。
2
+ しかしシステム(カーネル)の設定によっては、例外的にperlスクリプトのみsetuid/gidの仕組みを利用できます。
2
- しかしシステム(カーネル)の設定によっては、例外的にperlスクリプトのみsetuid/gidの仕組みを利用できます。[(参考)](http://perldoc.jp/docs/perl/5.6.1/perlsec.pod)(カーネルの設定で禁止されている場合にはどうしようもありません。)
3
+ [(参考)](http://perldoc.jp/docs/perl/5.6.1/perlsec.pod)
4
+ (もっとも、カーネルの設定で禁止されている場合にはどうしようもありません。)
3
5
 
4
6
  どうしても特定のスクリプトでsetuid/gidの仕組みを利用したい場合には、そのスクリプトを呼び出すラッパーをcか何かで作成し、ラッパー側にsetuidを設定、スクリプト側にはシェバン行に`-p`オプションを付加し「特権モード」を有効化することで、目的を達成することができます。
5
7
 
@@ -68,6 +70,8 @@
68
70
 
69
71
  ---
70
72
  ちょっと補足します。
73
+
71
74
  > 実行ユーザがファイルの所有者になると思い…
75
+
72
- と記載されていましたが、setuidを利用しても「実ユーザー」自体は変わりません。「実効ユーザー」の権限で実効可能になるということです。
76
+ と記載されていましたが、setuidを利用しても「実ユーザー」自体は変わりません。「実効ユーザー」の権限で実効可能になるということです。実効ユーザーという概念が(自分にとっては最初)ちょっと紛らわしかったので、補足しておきます。
73
77
  [(参考)](http://linuxjm.osdn.jp/html/LDP_man-pages/man2/setreuid.2.html)

1

補足説明

2015/08/24 21:20

投稿

pi-chan
pi-chan

スコア5936

answer CHANGED
@@ -64,4 +64,10 @@
64
64
  ```
65
65
  スクリプト本体のオーナー・パーミッションは、ラッパーから実行可能であれば大丈夫だったと思います。
66
66
 
67
- セキュリティー上のリスクを伴うので、慎重に使用してください。
67
+ セキュリティー上のリスクを伴うので、慎重に使用してください。
68
+
69
+ ---
70
+ ちょっと補足します。
71
+ > 実行ユーザがファイルの所有者になると思い…
72
+ と記載されていましたが、setuidを利用しても「実ユーザー」自体は変わりません。「実効ユーザー」の権限で実効可能になるということです。
73
+ [(参考)](http://linuxjm.osdn.jp/html/LDP_man-pages/man2/setreuid.2.html)