2

Как я посылаю файл через SFTP на сервер Windows. Когда я делаю это, разрешение по умолчанию для файла будет 640.

там у нас есть задача планировщика, которая будет запускаться в определенное время для захвата файлов. Из-за разрешения файла 640, он не может получить доступ к файлу.

И пользователь sftp, и планировщик оба используются одинаково (т. Е. Xmfer).

Есть ли способ изменить разрешение доступа к файлу по вышеуказанному сценарию?

1 ответ1

0

Во-первых, это сервер Windows, в то время как разрешения в стиле 777 - это вещь * nix, так что это не имеет смысла. Некоторые SFTP-серверы (например, сервер OpenSSH, работающий на Cygwin) могут пытаться сопоставить разрешения в стиле 777 с разрешениями файловой системы Windows, но результаты могут быть не такими, как вам нравится.

Кроме того, даже воспринимаемые разрешения 640 не являются действительными, это просто ваш SFTP-сервер (или, возможно, клиент) сопоставление разрешений файловой системы Windows с разрешениями в стиле 777. Простые 777-разрешения могут даже не охватывать сложные разрешения ACL для файловой системы Windows.

Другое дело, как установить разрешения на клиенте. Но для этого нам нужно знать, каким SFTP-клиентом вы пользуетесь.

Например, WinSCP позволяет устанавливать права доступа к удаленным файлам как во время передачи, так и после публикации. Оба в GUI:
https://winscp.net/eng/docs/ui_transfer_custom
https://winscp.net/eng/docs/ui_properties
и сценарии:
https://winscp.net/eng/docs/scriptcommand_put
https://winscp.net/eng/docs/scriptcommand_chmod

PuTTY psftp имеет команду chmod.

Также более новые версии протокола SFTP позволяют устанавливать сложные разрешения файловой системы. Но это поддерживается только несколькими серверами и клиентами (я верю, что Vandyke делает, хотя не уверен).

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