JAIL во FreeBSD. Нужен совет админов!
1) что при запросах CP к OS насчет использованного дискового пространства, ей возвращалось бы то же самое значение, как если никаких jail'ов не было бы?ИМХО, эти штуки возможны в chroot-е, но не в jail.
2) не производить НИКАКИХ манипуляций с работающим apache, в котором крутятся все VirtualHost'ы, у которых DocumentRoot находится в home'ах пользователей? Здесть я просто несвосем понимаю, что надо делать с apache при организации jail'а. Копировать весь apache и настраивать его под конкретный jail? Можно ли это обойти?
СР вне джейлов (для нормального обращения с квотами хотя можно и его посадить в тюрьму следующим образом: вне джейлов вешается скрипт, который периодически проверяет квоты и пишет их в файл, который находится в джейле, а СР уже читает из него; либо повесить скрипт, который слушает какой-нибудь джейловый сокет и при запросе выдает текущие значения. Создавать пользователя извне джейла в джейле можно аналогично обычному созданию.
в джейле уровнем ниже сидит апач со всеми пользователями. Если честно, то не вижу смысла в заведении джейлов для каждого отдельного пользователя. В джейл апач перебрасывается элементарно: создается джейл, собирается там апач, копируются все конфиги и файло юзверей, пускается апач.
Здесть я просто несвосем понимаю, что надо делать с apache при организации jail'а. Копировать весь apache и настраивать его под конкретный jail?настройка зависит от того как ты организуешь джейл.
Можно ли это обойти?если скопируешь всю инфу апача в джейл, и IP джейла будет тем же, на котором раньше висел апач, то конфиги последнего можно, в принципе, и не трогать
Если честно, то не вижу смысла в заведении джейлов для каждого отдельного пользователя.может чтобы справедливо разделять нагрузку между виртуальными хостами ?
> для каждого отдельного пользователя.
Чтобы скрипты одного пользователя не могли нагадить другим.
Для безопасности, то есть, и без оверхеда в виде exec на каждый запрос, как с suexec или там suphp.
1) что при запросах CP к OS насчет использованного дискового пространства, ей возвращалось бы то же самое значение, как если никаких jail'ов не было бы?Квоты и тюрьмы ортогональны. Квоты есть per-UID per-partition сущность. Ты не можешь выдавать дисковые квоты полноценным тюрьмам, потому, что в тюрьмах используются те же самые UIDы, что и извне. Под полноценной тюрьмой я понимаю полную инсталляцию FreeBSD в отдельный каталог и запуск jail /bin/sh /etc/rc. Если же, ты будешь запускать в jail только апач и сразу запускать его с UID данного пользователя (ключи -u/-U команды jail и для каждой тюрьмы у тебя будет свой отдельный UID, то тогда ты вполне можешь применять квоты к jailам. Потому что в этом случае, все процессы в какой-то тюрьме будут принадлежать одному UID, а значит и все создаваемые файлы тоже.
2) не производить НИКАКИХ манипуляций с работающим apache, в котором крутятся все VirtualHost'ы, у которых DocumentRoot находится в home'ах пользователей? Здесть я просто несвосем понимаю, что надо делать с apache при организации jail'а. Копировать весь apache и настраивать его под конкретный jail? Можно ли это обойти?jail всегда подразумевает chroot, поэтому ты не можешь обойти необходимость наличия апача в каждой тюрьме. Конечно, ты можешь сделать хардлинки.
Квоты и тюрьмы ортогональны. Квоты есть per-UID per-partition сущность. Ты не можешь выдавать дисковые квоты полноценным тюрьмам, потому, что в тюрьмах используются те же самые UIDы, что и извне.Ну почему? Можно же на тюрьму выделить партицию и на ней задавать квоты сколько влезет.
Если на тюрьму выдать партицию, то можно уже и не делать квоты.
del
Оставить комментарий
noiz_music
Всем привет.Есть Control Panel (далее CP) для автоматизации хостинга, которая в частности делает следующие вещи
1) следит за тем сколько пользователь истратил из отведенной ему квоты дискового пространства на его home-каталог
2) создает VirtualHost в конфиге apache
ну вобщем стандартные вещи.
Но при добавлении в систему пользователя и при предоставлении ему shell-доступа CP не делается никаких chroot, а уж тем более jail'ов.
И задача состоит в том, чтобы при создании пользователя, он крутился в свом jail'е.
Я не админ, а программист, но разобраться надо очень срочно. Не мог бы кто-нибудь ответить хотя бы в двух словах мне на следующие вопросы:
как мне сделать jail для каждого пользователя, чтобы это было прозрачно для Control Panel? В том смысле,
1) что при запросах CP к OS насчет использованного дискового пространства, ей возвращалось бы то же самое значение, как если никаких jail'ов не было бы?
2) не производить НИКАКИХ манипуляций с работающим apache, в котором крутятся все VirtualHost'ы, у которых DocumentRoot находится в home'ах пользователей? Здесть я просто несвосем понимаю, что надо делать с apache при организации jail'а. Копировать весь apache и настраивать его под конкретный jail? Можно ли это обойти?
Спасибо!