回答編集履歴
3
訂正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
訂正:
|
1
|
+
訂正:最初の回答は間違いでした。大変失礼しました。
|
2
2
|
|
3
3
|
マニュアルにはコマンドリストにディレクトリーも指定できることが書かれていました。
|
4
4
|
|
2
訂正
test
CHANGED
@@ -1,3 +1,31 @@
|
|
1
|
+
訂正:本回答は間違いでした。大変失礼しました。
|
2
|
+
|
3
|
+
マニュアルにはコマンドリストにディレクトリーも指定できることが書かれていました。
|
4
|
+
|
5
|
+
パスの最後を'/'で終わらせてディレクトリーを指定できるのですね。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
自分の環境(Ubuntu 16.04LTS)で、以下のように設定すると/root/t.shがパスワードなしで実行できました。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
sudoers: `<user名> ALL=(ALL) NOPASSWD: /root/`
|
14
|
+
|
15
|
+
/root, /root/t.shの権限は700の状態で、`sudo /root/t.sh`で実行。
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
しかしながら、この状態で`sudo -i /root/t.sh`とするとパスワードが聞かれます。-iとは併用できないということなのだと思います。(確かなことは言えませんが、-iの効果を得るためにsudoersの設定でそれが達成でいないか調べてみてはいかがでしょうか。)
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
以下最初の回答
|
24
|
+
|
25
|
+
---
|
26
|
+
|
27
|
+
|
28
|
+
|
1
29
|
sudoersマニュアルには行の末尾のエントリーは「コマンド」と記述されていたと思います。ゆえに「ディレクトリーのみを書いてコマンドファイル名を省略すること」はできず、特権実行を許すコマンド(スクリプト)を全て列挙する必要があると思います。
|
2
30
|
|
3
31
|
|
1
誤記訂正
test
CHANGED
@@ -2,4 +2,4 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
`<user名> ALL=(ALL) NOPASSWD: /root/sh1.sh,/root/sh2.sh,/root/sh3.sh
|
5
|
+
`<user名> ALL=(ALL) NOPASSWD: /root/sh1.sh,/root/sh2.sh,/root/sh3.sh`
|