В предыдущей статье, я рассказал, как настроить подключение сетевой шары по SFTP в Windows с авторизацией по ключам с помощью sshfs-win
В определенных конфигурациях использования
- как со стороны клиента
запуск из под приложения, использование различных учётных записей с разным и непереопределяемым переменным окружением)
- так и со стороны хранилища
(распределение прав на sftp сервере, права по умолчанию в конфигурации...)
возможно возникновение ошибок при копировании или создании новых файлов на подключенном хранилище. С учётом того, что со стороны сервера и значение при подключении по умолчанию ОБЫЧНО корректны, задача неочевидна в своём решении.
Даже если конфигурация сервера всё кажется правильно, присмотритесь к опции sshfs-win
-o create_file_umask
а в случае ошибок создании директорий/папок
-o create_dir_umask
Неочевидность в том, что по умолчанию эти опции разрешают всё. Но есть ньюансы
В случае если Вы читаете эту заметку, а значит, скорей всего, столкнулись с проблемой, для начала переопределите в строчке подключения (подробнее смотрите в моей предыдущей заметке) значения этих опций, добавив, например
-o create_file_umask=0000
Значение прав которые Вы можете выставить в триаде:
0 allows rwX
1 allows rw-
2 allows r-X
3 allows r--
4 allows -wX
5 allows -w-
6 allows --X
7 allows ---
Причина в том, как я указывал выше, что не из всего окружения будет использоваться данная опция со значениями по умолчанию. Например в определенных конфигурациях Вы не получите доступа из Windows Explorer, и решение - добавить в строчку подключения необходимую опцию с переопределением прав со стороны клиента.
Также возможная причина с потерей и uid gid пользователя (зависит от конфигурации). В этом случае добавьте в строчку подключения со стороны клиента.
-o uid=-1,gid=-1
Эти же опции позволит ещё и более тонко порезать права со стороны подключения от клиента.