回答編集履歴

3

訂正

2017/06/09 04:33

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -1,4 +1,4 @@
1
- 訂正:回答は間違いでした。大変失礼しました。
1
+ 訂正:最初の回答は間違いでした。大変失礼しました。
2
2
 
3
3
  マニュアルにはコマンドリストにディレクトリーも指定できることが書かれていました。
4
4
 

2

訂正

2017/06/09 04:33

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

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

誤記訂正

2017/06/09 04:32

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

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`