У меня есть скрипт от третьего лица, который я пытаюсь воспроизвести в коде. Я могу использовать библиотеку для подключения к SFTP и передачи файлов. Проблема, с которой я столкнулся, заключается в том, что следующие сценарии были предоставлены третьей стороной.
СКРИПТ 1:
lumask 71330
cd TEST
lcd ~/LOCALTESTOUT/
put testfileout*
bye
СКРИПТ 2:
lumask 71333
lcd ~/LOCALTESTIN/
get testfilein*
bye
их я могу выполнить вручную, используя bash, после подключения к SFTP-серверу третьей стороны, используя openssh-client
. Я пытаюсь воспроизвести функциональность в коде, но не уверен насчет файла lumask
.
СЦЕНАРИЙ 1: Мое ограниченное понимание заключалось в том, что в первом случае, когда я выполняю put
, любые файлы, созданные в локальном каталоге, будут иметь разрешения, определенные lumask
. Но я не создаю там никаких файлов. Файлы уже находятся в папке LOCALTESTOUT
, и они только что передаются с использованием put
. Какова цель lumask
в скрипте put? Будет ли к файлам, передаваемым с использованием put, применять openssh-client
разрешение? Могу ли я добиться того же, запустив chmod testfileout xxx
для файлов в каталоге LOCALTESTOUT
, а затем передав их с помощью put testfileout*
без необходимости lumask
?
SCRIPT 2: Есть ли в lumask
какие-либо влияние на сервер SFTP? Будет ли это иметь значение для третьей стороны? Опять же, с моим ограниченным пониманием, я предполагаю, что это установит umask локально, и любые файлы, загруженные в LOCALTESTIN
, будут иметь разрешение 71333
, но удаленный сервер SFTP ничего не будет знать об этом? По сути, я мог просто пропустить эти разрешения?