Я использую модуль node-ssh2
для копирования файлов на удаленные серверы. В общем, у меня нет возможности изменять по умолчанию umask на серверах. Но мне нужен режим удаленного файла 0666 после его копирования.Node.js: файл SCP и сохранение разрешений
Если я установил его сначала локально, а затем просто запустил scp -p <localfile> <remote>
, он отлично работает, сохраняя разрешение 0666. Как это сделать с node.js? Я попытался использовать node-ssh2
и начать сеанс sftp. Затем я делаю sftp.fastPut
, но разрешения всегда установлены на сервере 0644.
Как я уже сказал, я сейчас использую модуль node-ssh2
, и я хотел бы придерживаться этого, но если мне нужно использовать что-то другое, это нормально.
Я попробовал это, и это не работает. Кажется, что режим не является вариантом для fastPut. https://github.com/mscdex/ssh2-streams/blob/master/SFTPStream.md –
@SeanLynch О, мой плохой. Извините, я удалю этот ответ за минуту, если не найду подходящего решения для его редактирования. – Paulpro
Не беспокойтесь. Я думал, что это тоже сработает. Я также попробовал 'sftp.createWriteStream (, {mode: 0666})'. Функция 'createWriteStream' * * принимает параметр режима, но он получает переопределение сервера и заканчивается как 0644. –