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