Назад | Перейти на главную страницу

права доступа apache userdir jail

В Debian 8 я запускаю apache2 в тюремной среде, используя jailkit и мод userdir. В текущей настройке тюрьмы пользователи могут переходить в другой каталог пользователей, т.е.

/home/jail/home/anotheruser

и просматривать файлы в нем, но можно перемещаться по папкам

Я пробовал помещать пользователей в их домашнюю папку, используя

chmod 0700 /home/jail/home/*

теперь, когда я пытаюсь перейти в другой каталог пользователей, я получаю

 Permission denied

Но теперь, когда я перехожу на сайт пользователей, я получаю

You don't have permission to access / on this server.

Он работал до того, как я сделал chmod. Итак, как мне посадить пользователя в тюрьму, но при этом разрешить просмотр его веб-сайтов?

Я пробовал добавить www-данные в группу пользователей

groups test
test : test

usermod -a -G www-data test
groups test
test : test www-data

Но все равно в получении разрешения отказано.

Я не очень понимаю, как настроена ваша текущая среда, но вы, кажется, путаете chroot ("jailkit") и разрешения.

Вы не сказали нам ничего об ОС, на которой это работает, хотя ваши пути и ссылка на jailkit предполагают систему Unix или Linux.

Люди часто воспринимают разрешения как способ предотвращения доступа, но их следует рассматривать как средство для совместного использования доступа определенным образом. Следовательно ...

Многие такие системы создают новую группу для каждого пользователя (и устанавливают ее по умолчанию). Если это не так, то добавить эти группы должно быть просто. Когда у вас есть эти группы и они используются по умолчанию для каждого пользователя, вам просто нужно добавить uid веб-сервера в каждую из групп, затем обновить права доступа к каталогу до drwxr-x --- и доступ к файлам до -rw? r -? --- чтобы разрешить веб-серверу читать файлы, но не другим пользователям. Вы должны соответствующим образом установить umask пользователей. Тем не мение:

  1. это может нарушить существующую модель разрешений если у тебя есть
  2. если вы разрешаете пользователям запускать скрипты на веб-сервере (Perl, bash, PHP и т. д.), то для них нетривиально обойти ограничения на доступ для чтения
  3. если вы разрешаете только статический контент (при отсутствии HTTP-аутентификации), другие пользователи могут получать файлы с веб-сервера.