.png)
На сервере Debian Apache2 я пытаюсь предоставить доступ к подкаталогу дерева веб-сайтов (домашний каталог веб-сайта:/home/website/public_html/, доступ требуется только для определенного пользователя:/home/website/public_html/boutique/modules/sftpwkmodules
Итак, основной пользователь веб-сайта имеет доступ ко всему дереву (userweb).
Но мне нужен доступ для пользователяsfkmodulesв подкаталог внутри дерева и это не работает.
Я создал пользователяsfkmodules, и группаsftpwkmodules.
Я настроил эти линии вsshd_configфайл:
Match group sftpwkmodules
ChrootDirectory /home/website/public_html/boutique/modules/wkmanagesuppliers
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
Но когда я подключаюсь кsftpс этим пользователем это не разрешено. В журнале, похоже, есть плохое владение на fatal:Неправильное владение или режимы для компонента каталога chroot "/home/website/public_html/".
Но я не могу изменить владельца всего дерева, чтобы просто дать этому пользователю доступ к подкаталогу. Есть ли способ заставить это работать?
решение1
Перед изменением разрешений обязательно учтите, что ваш веб-сервер должен иметь как минимум разрешения на чтение файлов и каталогов. Кроме того, любые файлы/каталоги, созданные пользователем sfkmodules, будут принадлежать этому пользователю и, в зависимости от вашего umask, могут быть недоступны для чтения веб-сервером.
Решение, которое можно рассмотреть, это chroot пользователей в их собственных каталогах за пределами webroot и придумать какой-то способ watchdog, чтобы обнаружить, когда файлы удаляются, и переместить эти файлы в webroot. Таким образом, вы можете контролировать владение и разрешения.
PERL и cron — ваши помощники в этом деле.
решение2
Создайте группу, добавьте нужного пользователя в группу вместе с любыми другими пользователями, которым вы хотите предоставить доступ, и назначьте необходимые разрешения. Не используйте chroot в этот раз.
Команды ниже предназначены для CentOS, но вы поняли идею.
sudo groupadd groupname
sudo usermod -a -G groupname admin
sudo usermod -a -G groupname user1
sudo chown -R admin:groupname /home/website/public_html/boutique/modules/wkmanagesuppliers