Выполнить команду sudo неинтерактивно

#bash #command #non-interactive

#bash #команда #неинтерактивный

Вопрос:

Я хотел бы выполнить следующую команду без взаимодействия:

 sudo grep -e "test" /etc/sudoers
  

Я попробовал следующий метод:

 tester@compute:~$ echo 'clouduser' | sudo -S grep -e "test" /etc/sudoers
[sudo] password for tester: test ALL=(ALL) NOPASSWD: ALL
  

Проблема в том, что я получаю [sudo] password for tester: перед ответом.
Как я могу вырезать эту часть из начала ответа?

Спасибо!

Ответ №1:

Я отвечу на свой вопрос — возможно, кому-то еще это понадобится:

 (echo 'clouduser' | sudo -Si >/dev/null 2>amp;1); sudo grep -e test /etc/sudoers
  

Ответ №2:

Добавьте следующую строку в свой /etc/sudoers файл, чтобы включить sudo без пароля. В этом случае я использую john в качестве учетной записи для входа. Измените свой собственный идентификатор учетной записи.

 john ALL=(ALL:ALL) ALL
  

В качестве альтернативы, и, возможно, лучше, поместить эту строку в файл с именем /etc/sudoers.d/john .

Комментарии:

1. Спасибо за ваш ответ. Мне нужно было выполнить эту операцию без какого-либо ручного вмешательства раньше. Тем временем я нашел ответ и опубликовал ответ, как это сделать.