Скрипт работает без sudo, не работает с sudo

Когда я запускаю этот скрипт:

#!/bin/bash -v sshpass -p '<pypasswd>' scp blah.img root@myip:/home/user/blah.img exit 0 

с

 ./script.sh 

или

 nohup ./script.sh & 

оно работает.

Но когда я сделаю

 nohup sudo ./script.sh & 

он не работает (ничего не загружено, и у меня когда-то была ошибка аутентификации, которую я больше не могу воспроизвести). Зачем?


Примечание. Обычно я использую nohup sudo ./script.sh & для некоторых других скриптов, и он обычно работает отлично.

Примечание 2: Мне действительно нужно sudo потому что в моем скрипте есть другие вещи, которые нуждаются в sudo.

  • Команда «Судо» с префиксом не работает; без sudo делает.
  • Получить команды, которые пользователь может запустить из / etc / sudoers?
  • Судо Су автоматический вход
  • Отредактированные sudoers, но `sudo ls` терпит неудачу
  • Как я могу выполнить скрипт как root, выполнить некоторые команды в нем как конкретный пользователь и только одну команду как root
  • Как сохранить пользовательский PS1 в режиме суперпользователя?
  • Как sudo решает, является ли команда только исполняемой sudoers со всеми правами?
  • Безвестная sudo команды, содержащей запятую
  • 2 Solutions collect form web for “Скрипт работает без sudo, не работает с sudo”

    Я подозреваю, что myip записан в /root/.ssh/known_hosts . Попробуйте один раз sudo ssh root@myip интерактивно, прежде чем запускать этот скрипт.

    Кроме того, вы можете отключить проверку ключа хоста:

     #!/bin/bash -v sshpass -p '<pypasswd>' scp -o StrictHostKeyChecking=no blah.img root@myip:/home/user/blah.img exit 0 

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

    Попробуйте скопировать добавление ~/.ssh/id_rsa в /root/.ssh/id_rsa (или какой-либо другой секретный ключ, который вы используете для подключения к myip ).

    В качестве альтернативы, пусть sudo выполняет другие действия и автоматически переходит к «нормальному» пользователю в сценарии, прежде чем делать копию.

    Interesting Posts

    Как я могу «сбросить» способности?

    При возобновлении сна спящий ноутбук занимает 6-8 секунд. Что может быть причиной?

    Назначения значений двойной кавычки, хранящиеся в CSV?

    Скрипт резко завершается завершенным сообщением

    Как добавить мегабайты в свободное место при создании разделов для двойной загрузки ubuntu?

    Как мне перебирать список из dconf в bash?

    Почему cd не является программой?

    Заменить текст между скобками

    Почему переписывание в htaccess не работает на этом сервере

    Есть ли способ, которым я могу запутать сценарий оболочки «.sh»?

    Как я могу использовать CNAME в Bind правильно?

    Отключение звука от конкретного виртуального дисплея

    Возможно ли мониторинг rsync с помощью устройства pts?

    ловушка для отладочного сигнала вызывалась дважды, прежде чем функция оболочки будет выполняться, когда функция «functrace» включена

    Как работать с правами root в графическом интерфейсе?

    Linux и Unix - лучшая ОС в мире.