[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