Я хочу предоставить пользователям личное хранилище для загрузки файлов в их домашний каталог через SFTP(chrooted). Затем эти файлы должны отображаться на нашем веб-сайте, чтобы решить, следует ли импортировать их в систему или нет. Таким образом, веб-сервер (пользователь www-данных) должен иметь права на чтение / запись.
Прямо сейчас я не могу получить www-данные, которые могут записывать / удалять эти файлы.
Прочитав много источников и ответов на эту проблему, я оказался в этой настройке:
- Владельцы домашних каталогов: имя пользователя: www-data
- Я использовал setgid для перезаписи группы каждого загруженного файла через SFTP
- Я узнал, что я не могу активно устанавливать права доступа к файлам на стороне сервера, я могу только уменьшить использование umask
Как мне автоматически назначить разрешение «g +w» на каждый загруженный файл через SFTP, чтобы пользователь www-данных мог удалить их после того, как они были обработаны.
Что я пробовал до сих пор:
- Играли в арсеналы с помощью масок (чтобы узнать, что никогда не увеличит права на файл)
- Поиграл с ACL, но здесь та же проблема, кажется, правило
- Используйте FTPS вместо SFTP, чтобы получить лучший контроль над такими вещами. Поэтому я использовал vsftpd, но даже при этом я не мог получить разрешение «g +w» для файлов
Что я не хочу:
- Использование rsync или любого другого сервера (который может потерпеть неудачу) для синхронизации домашних папок с любой другой папкой при переводе надлежащих прав на файл.
Большое спасибо за любые советы!