Запустите всю команду внутри скрипта, набрав пароль один раз

я хочу написать скрипт внутри скрипта, я сделаю много команд, которые требуют root, как

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install eclipse

, но я хочу написать пароль только один раз

, я пытался напишите сверху

sudo su

, чтобы запустить от имени пользователя root, но он остановит скрипт, так что я могу написать пароль

0
задан 26 January 2014 в 04:52

2 ответа

Очевидное решение: запустить скрипт от имени пользователя root

sudo /your/script

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

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

0
ответ дан 26 January 2014 в 04:52

Если у вас есть команды, которые не требуют sudo, вы можете проверить мой ответ на на этот вопрос .

Для краткости, вот быстрый ответ:

#!/bin/bash

PW=$1

echo $PW | apt-get update
echo $PW | apt-get upgrade
echo $PW | apt-get install eclipse

Бегите с bash file_name.bash sudo_pw

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

Основная причина, по которой я это делаю, заключается в том, что большинство команд, которые я запускаю с помощью sudo, создают объекты, которыми нужно манипулировать позже, и использование sudo command обычно делает их недоступными, даже если я sudo next_command. Упрощенным примером будет создание файла Excel и желание манипулировать им с помощью другого процесса. Даже работая с sudo, большую часть времени я не могу получить к нему доступ снова, не перезаписав его, который затем воссоздает его как недоступный объект.

Примечание: это также работает как сценарий оболочки, так как в синтаксисе нет ничего специфичного для BASH, так что вы можете использовать вместо него #!/bin/sh и ./file_name.sh sudo_pw, если это ваше предпочтение.

0
ответ дан 26 January 2014 в 04:52

Другие вопросы по тегам:

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