Почему sudo каждый раз требует пароль во второй раз в сценарии bash? [duplicate]

На этот вопрос уже есть ответ здесь:

У меня есть простое очень маленькое веб-приложение, и я хотел немного облегчить себе жизнь, создав очень простой сценарий развертывания, который делает следующее:

  1. Извлечение обновлений из git
  2. Запуск composer
  3. Изменение владельца всех файлов

Сценарий в основном работает хорошо и выглядит так:

#!/bin/bash
echo "Updating repository ...";
sudo git pull;

echo "Installing composer dependencies from lockfile ...";
composer install;

echo "Changing owner to www-data:www-data ...";
sudo chown -R www-data:www-data .;

echo "Deployment DONE!";

Однако, как вы можете видеть, у меня есть две команды, выполняемые как sudo в этом сценарии. Это git pull и chown.

Моя проблема заключается в следующем: Я знаю, что существует таймаут на то, как часто система запрашивает мой пароль при выполнении команд с sudo. Проблема в том, что, даже если я не превышаю таймаут, скрипт всегда запрашивает пароль на второй команде sudo (chown).

Может кто-нибудь просветить меня, почему так происходит?

2
задан 8 May 2016 в 06:57

2 ответа

Почему не делают Вас, запускают скрипт с sudo как это:

sudo bash /path/to/script.sh

, Где script.sh имеет после содержания без sudo:

#!/bin/bash
echo "Updating repository ...";
git pull;

echo "Installing composer dependencies from lockfile ...";
composer install;

echo "Changing owner to www-data:www-data ...";
chown -R www-data:www-data .;

echo "Deployment DONE!"

Этот путь сценарий только попросит у Вас пароля в течение 1 раза.

1
ответ дан 8 May 2016 в 16:57
  • 1
    gnome-tweak-tool действительно существенный пакет для любого, кто на самом деле использование их компьютеры больше 5 минут. – pipe 21 October 2017 в 03:08

Я действительно не знаю то, что является причиной, однако существует решение:

if [[ $(id -u $(whoami)) != 0 ]]
then
    sudo bash $( cd $(dirname $0) ; pwd -P )
    # taken from http://stackoverflow.com/a/4774063/2797066
else
    #rest of script
fi
1
ответ дан 8 May 2016 в 16:57
  • 1
    It' s стоящий замечания, что когда-то установленный, название приложения является Тонкими настройками. – medley56 1 May 2018 в 03:56

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

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