2

Есть ли способ сказать winscp, чтобы сохранить группу и разрешение моего файла загрузки? Я устал от изменения бинарных файлов веб-страниц / веб-приложений и необходимости изменения группы на www-данные, чтобы сервер мог их читать.

Если нет, какое приложение я могу использовать вместо этого? В основном я использую winscp для простого копирования / вставки файлов на мой сервер linux и удобства просмотра файловой системы (можно переходить между 2+ папками в секунду, без опечаток)

3 ответа3

2

Я предполагаю, что у вас есть проблема, потому что WinSCP удаляет существующие файлы перед загрузкой новых - что никогда не должно происходить, если у вас нет прав «записи» на старый файл, и в этом случае удаление и замена является единственным способом для WinSCP для загрузки ваших файлов.

При создании нового файла в Linux основной группой создателя будет группа файла 1, а права доступа будут рассчитываться 2 с использованием (0666 & ~ umask). Владелец может изменять разрешения, но может изменить только группу файла на группу, к которой он сам принадлежит.

В случае с веб-сайтом я обычно устанавливаю бит setgid для каталогов, так что все файлы, которые я создаю внутри, становятся собственностью этой группы:

sudo chown -R :www-data public_html/
find public_html/ -type d -exec chmod g+s {} \;

Если в файловой системе сервера включены ACL, вы также можете указать разрешения по умолчанию для группы:

setfacl -Rdm g::rX public_html

Или вы можете пропустить шаги "setgid" и "chgrp" и просто назначить разрешения по умолчанию для группы, которую вы хотите:

setfacl -Rm g:www-data:rX public_html
setfacl -Rdm g:www-data-rX public_html

(Команды с параметром -d устанавливают разрешения по умолчанию .)


  1. Если в каталоге нет бита setgid , который заставляет вновь созданные файлы наследовать группу каталога.
  2. Может влиять использование списков ACL по умолчанию для каталога.
1

Вам необходимо настроить WinSCP так, чтобы он не передавался во временный файл (который затем переименовывается в имя целевого файла). Затем WinSCP будет напрямую записывать в целевой файл и сохранять права доступа / права собственности без изменений.

Перейдите в « Предпочтения»> «Передача»> «Выносливость»> «Включить передачу во временное имя файла».

0

Установите gid папки, и теперь она должна держать группу на www-data, если группа папок также www-data

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