У меня есть набор скриптов bash, которые я хочу установить в удаленной системе Linux. Я создал командный файл для запуска в хост-системе Windows с помощью plink и putty для передачи файлов в систему linux. Но Plink не может запустить скрипт установки, который на самом деле назначает скрипты в crontab, он выдает "Ошибка отказа в доступе", так как команда chmod не запускается. Есть ли работа вокруг этого? Команда, используемая для отправки файлов в окно Linux

 "c:\Program Files (x86)\PuTTY\pscp" -pw passwd *.sh   user@192.168.1.1:/mnt/capture/logs/

Команда, используемая для запуска скрипта

"c:\Program Files (x86)\PuTTY\plink.exe" -ssh -pw passwd -noagent user@192.168.1.1   /mnt/capture/logs/script.sh

Файл script.sh выглядит следующим образом

#!/bin/bash
sudo /mnt/md0/capture/logs/install.sh

Команда plink дает script.sh: В доступе отказано.

1 ответ1

3

вызовите chmod, прежде чем вызывать его:

plink -ssh -pw password -noagent user@192.168.1.1 "sh -c 'cd /mnt/capture/logs && chmod a+x *.sh && ./script.sh'"

Если вы отредактировали скрипт в текстовом редакторе Windows, убедитесь, что он сохранен в формате файла Unix, чтобы у вас не было окончаний строк CR-NL.

Кроме того, ваш скрипт использует sudo - есть ли пользовательский nethawk в файле sudoers? Ожидаете ли вы ввести свой пароль?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .