2014-12-05 2 views
-1

мне нужно запустить команду как «some_user» без запроса пароля, так что я типа: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" 

... будет по-прежнему запрашивать пароль. Что я делаю неправильно?

EDIT: Исправленная (но это по-прежнему запрашивает пароль)

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

+0

@twalberg - да, правильно, была пара цитат, которые там не принадлежали: я ее исправил, но проблема не устранена , – TomDogg

+0

Мне кажется, что кавычки все еще находятся в файле 'sudoers' ... Но, может быть, это просто неудачный пост ... – twalberg

ответ

0

Проблема с кавычками, как в командной строке и в файле sudoers. Котировки составляют sudo, и оболочка считает, что файл должен быть /etc/init.d с именем «some_service start», вместо того, чтобы видеть start в качестве аргумента для /etc/init.d/some_service.

Смежные вопросы