回答編集履歴
2
誤記訂正
answer
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
otnさんのご説明の通り、セキュリティー上の理由で、スクリプトにはsetuidは効きません。
|
2
|
+
しかしシステム(カーネル)の設定によっては、例外的にperlスクリプトのみsetuid/gidの仕組みを利用できます。
|
2
|
-
|
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
補足説明
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)
|