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

Если Ваш сценарий оболочки является ударом или sh, можно попытаться добавить -x переключитесь на хижину и затем запустите скрипт. Обычно используемый для отладки сценариев оболочки это распечатает следующую строку / команда перед выполнением. Таким образом, если у Вас есть демонстрационный сценарий ниже этого журналы в файл logfile

#!/bin/bash -x
echo "Hello world!" >> logfile
echo "Second command!" >> logfile

И Вы запускаете скрипт как ./script 2>> logfile файл журнала читал бы как:

+ echo 'Hello world!'
Hello world!
+ echo "Second command!" 
Second command!
2
20.10.2015, 07:18
2 ответа

Нет. Лучшее, что вы можете сделать, это:

  • настроить sudo так, чтобы пользователю или группе пользователей не нужно было вводить пароль для sudo
  • настроить sudo так, чтобы пользователю или группе пользователей никогда не нужно было вводить пароль при запуске конкретный скрипт с sudo.

Последнее является рекомендуемой практикой. Напишите сценарий-оболочку, который делает именно то, что нужно сделать от имени пользователя root, желательно без ввода каких-либо пользовательских данных (например, из командной строки или env vars), и не более того. Если вам действительно нужно вводить данные для скрипта, убедитесь, что вы правильно указали все переменные и используете другие методы защитного программирования.

4
27.01.2020, 21:52

Из этого потока StackOverflow , похоже, есть флаг -S , который сообщает sudo читать пароль со стандартного ввода. Приведенный здесь пример:

echo myPassword | sudo -S ls /tmp

Однако не похоже, что есть какой-либо способ напрямую указать пароль в качестве аргумента sudo .

Также необходимо учитывать последствия использования пароля для безопасности.

3
27.01.2020, 21:52

Теги

Похожие вопросы