2014-12-05 53 views
-1

我需要沒有被要求輸入密碼運行命令爲「some_user」,所以I型:的Linux:運行特定的命令,作爲根

$ sudo visudo 

添加此行確實工作:

some_user ALL=NOPASSWD: ALL 

但加入這一行(只有特定的命令「白名單」)不工作:

some_user ALL=NOPASSWD: /etc/init.d/"some_service start" 

$ sudo /etc/init.d/"some_service start" 

...仍然會要求輸入密碼。 我在做什麼錯?

編輯:更正(但仍需要密碼)

some_user ALL=NOPASSWD: /etc/init.d/"some_service start" 

$ sudo /etc/init.d/some_service start 
+1

爲什麼引號?我懷疑'/ etc/init.d'中沒有名爲'some_service \ start'的文件。通過試圖使參數成爲命令名稱的一部分,你會混淆'sudo' ... – twalberg 2014-12-05 19:14:34

+0

@twalberg - 是的,正確的,有一對不屬於此處的引號:我已更正它,但問題仍然存在。 – TomDogg 2014-12-05 22:32:19

+0

在我看來,引號仍然在你的'sudoers'文件中......但是也許這只是一個錯誤的帖子... – twalberg 2014-12-06 05:41:46

回答

0

的問題是與報價,雙方在命令行,並在sudoers文件。引號使sudo和shell認爲應該有一個名爲「some_service start」的文件/etc/init.d,而不是將start作爲參數/etc/init.d/some_service