У меня есть VPS под управлением Ubuntu 12.04, на котором размещено около 9 сайтов, представляющих собой смесь WordPress и Joomla (последних версий).
Apache работает под www-data, а сайты размещаются как виртуальный хост в /var/www/{sites}
Сегодня я отключил FTP (небезопасно) и заменил его на SFTP. Я настроил так, чтобы каждый сайт/виртуальный хост имел пользователя SFTP, который находится в chroot. Когда вы входите в систему как пользователь SFTP, вы попадаете в chroot в /usr/local/chroot/{user}, в этом каталоге я смонтировал конкретный виртуальный хост, к которому этому пользователю нужен доступ (с помощью mount --bind /var/www/{subdomain} /usr/local/chroot/{user}/web)
пользователи SFTP настроены так, что они могут использовать только SFTP, но не SSH, а их оболочка установлена в /sbin/false
единственная проблема/вопрос, который у меня есть, это права доступа пользователя. Сайты работают как www-data, поэтому, когда я загружаю что-то, например, в Joomla, файл создается с владельцем www-data:www-data. Однако, если я загружаю файл с помощью SFTP, он загружается как {user}:www-data. Это может привести к проблемам с правами доступа.
как лучше всего управлять владением файлами и разрешениями в этом случае? Также является ли безопасным то, как я это настроил?
решение1
Простой способ, если вы уверены в своих настройках безопасности: установите бит suid на главную папку. Но я не вижу, какие у вас могут возникнуть проблемы с правами доступа, так как группа уже установлена на www-data.