Как записать файл через ssh

Проблема с этой строкой:

clamscan --bell --recursive --max-filesize=99999 --log log/myLogs.txt $file

Это пытается записать в журнал / myLogs.txt. Если вы находитесь в своем домашнем каталоге / home / oneill , он попытается записать в /home/oneill/log/myLogs.txt , что, вероятно, является правильным местом. Если вы находитесь в корневом каталоге / , он попытается записать в /log/myLogs.txt , для которого у него нет соответствующих разрешений.

Используйте абсолютные пути или поместите cd / home / oneill где-нибудь в начале скрипта.

1
24.02.2016, 06:08
1 ответ

Вы могли настройте sudo, чтобы разрешить команду cp foo / home / test / без пароля, а затем используйте эту команду:

ssh testUser@MachineB 'cat > foo && sudo mv foo /home/test/' < my_file

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

1
27.01.2020, 23:48

Теги

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