[devel] apache README.ALT additions wanted
Andrei Bulava
=?iso-8859-1?q?abulava_=CE=C1_altlinux=2Eru?=
Ср Фев 2 11:01:23 MSK 2005
Michael Shigorin пишет:
<skip/>
> Тем не менее то ли ты не так понял suexec, то ли он
> тебя, то ли я вас обоих -- но cgi, лежащий в $HOME (в сайте,
> который симлинком из /var/www), благополучно взорвался.
А что, разве при вкомпилированном в suexec пути /var/www должно быть
иначе? realpath(3) cgi, лежащего в /home/*, не изменится от того, что
сайт выглядит как находящийся в /var/www благодаря симлинку,
указывающему в /home/*.
Когда я об этом спрашивал, мне здесь или в sisyphus@ посоветовали
использовать mount --bind, хотя это решение имеет свои последствия -
вывод df у простых пользователей будет ругаться "df:
`<недоступная_директория>': Permission denied" на все смонтированные
через mount --bind директории, прав на которые нет у вызывающего df
пользователя (а на коммерческом хостинге таких директорий будет не одна
штука...)
>
> Я-то его перенесу на историческую родину и перелинкую навыворот,
> но это надо будет ясно зафиксировать в ридми.
Поучаствуйте в обсуждении такого варианта:
1) виртхосты живут в /var/www/vhosts (vhosts - не краеугольный камень,
меня устроит любой вариант, ясно отделяющий _все_ виртхосты от
/var/www/{cgi-bin,html,icons,...})
2) структура виртхоста - директория с именем, повторяющим ServerName
виртхоста (опять не краеугольный камень, "я так делаю"), содержит:
cgi-bin, html (это есть DocumentRoot виртхоста). Для удобства
пользователей, не желающих вылазить за пределы $HOME, и админов, не
дающих им такой возможности, симлинки (а скорее mount --bind, см. далее)
делаются в $HOME и указывают в /var/www/vhosts/<ServerName>
Плюсы:
1) в suexec вкомпилирован /var/www, realpath cgi-скриптов ему соответствует.
2) одному пользователю легко может принадлежать несколько виртхостов,
для этого хорош подход по созданию в $HOME симлинков вида
$HOME/<vhostname> -> /var/www/vhosts/<vhostname>
Минусы:
1) chroot'изированный в $HOME ftp- или scp/sftp-доступ невозможен без
использования mount --bind. Если огромное количество "Permission denied"
в выводе df у простых пользователей не смущает (хотя о каком запуске df
может идти речь при ftp- или scponly-доступе?), жизнь вполне прекрасна.
Ну, а если у пользователя не chroot'изированный scp/sftp-доступ, то
костыль с mount --bind ему и вовсе не понадобится. В конце концов, зачем
придумали cifs? И симлинками можно обойтись, и "запирание" пользователя
в $HOME поддерживается легким движением руки. IMHO, риск от
использования cifs вряд ли больше, чем от использования ftp.
2) ... (?)
<skip/>
--
// AB1002-UANIC
Подробная информация о списке рассылки Devel