* [Comm] PHP: Виртуальный хостинг
@ 2003-11-23 9:59 Прокопьев Евгений
2003-11-23 10:29 ` [Comm] " Konstantin Lepikhov
0 siblings, 1 reply; 9+ messages in thread
From: Прокопьев Евгений @ 2003-11-23 9:59 UTC (permalink / raw)
To: community
Здравствуйте!
Необходимо организовать виртуальный хостинг для PHP, пользователям
которого требуется:
1. Возможность исполнять php-скрипты от своего имени, а не от имени
пользователя apache
2. Возможность творить в своем домашнем каталоге (и только в нем)
средствами php все что угодно (удалять и создавать каталоги, файлы).
Первая задача легко решается средствами suexec и использованием php в
виде cgi (это единственное решение?). В этом случае приходится создавать
виртуальный хост следующего вида:
<VirtualHost 192.168.1.1>
User web1
Group webusers
ServerName web1.athlon.home
DocumentRoot /home/web1/web
ScriptAlias /bin/ "/home/web1/web/bin/"
AddType appication/x-httpd-php .php
Action appication/x-httpd-php /bin/php
</VirtualHost>
Структура каталогов пользователя web1 и права доступа в этом случае
выглядят так:
# ls -l /home/
total 866
...
drwxr-xr-x 5 web1 webusers 208 Nov 22 14:17 web1
# ls -l /home/web1/
total 1
drwx------ 7 web1 webusers 224 Nov 22 14:08 tmp
drwxr-xr-x 3 web1 webusers 136 Nov 22 14:08 web
# ls -l /home/web1/web/
total 9
drwxr-xr-x 2 web1 webusers 96 Nov 22 11:02 bin
-rw-r--r-- 1 web1 webusers 207 Nov 22 14:13 index.html
-rw-r--r-- 1 web1 webusers 17 Nov 22 11:36 index.php
# ls -l /home/web1/web/bin/
total 1300
-rwxr-xr-x 1 web1 webusers 1293658 Nov 22 11:02 php
-rw-r--r-- 1 web1 webusers 36754 Nov 22 11:02 php.ini
И вот такое решение не дает решить вторую задачу, а именно, ограничить
пользователя web1 своим каталогом, запретив ему средствами php читать
чужие файлы (или хотя бы файлы пользователей web2 и web3, у которых
структура каталогов и описание хоста аналогичны).
Если выставить для домашних каталогов пользователей права rwx------, то
при обращении к любому файлу витруального хоста получаем "You don't have
permission to access /index.php on this server".
Если включить safe_mode=on в php.ini, то очевидно, что никто не помешает
пользователю выключить его, то же касается любых вариантов ограничить
действия пользователя средствами php. Чтобы пользователь не смог
модифицировать php.ini или бинарник php, необходимо сделать владельцем
его домашего каталога другого пользователя - тем самым мы сломаем suexec.
Что остается?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Comm] Re: PHP: Виртуальный хостинг
2003-11-23 9:59 [Comm] PHP: Виртуальный хостинг Прокопьев Евгений
@ 2003-11-23 10:29 ` Konstantin Lepikhov
2003-11-23 10:56 ` Прокопьев Евгений
0 siblings, 1 reply; 9+ messages in thread
From: Konstantin Lepikhov @ 2003-11-23 10:29 UTC (permalink / raw)
To: community
Hi Прокопьев!
Sunday 23, at 12:59:41 PM you wrote:
> Здравствуйте!
>
> Необходимо организовать виртуальный хостинг для PHP, пользователям
> которого требуется:
>
> 1. Возможность исполнять php-скрипты от своего имени, а не от имени
> пользователя apache
> 2. Возможность творить в своем домашнем каталоге (и только в нем)
> средствами php все что угодно (удалять и создавать каталоги, файлы).
<skip>
>
> Если выставить для домашних каталогов пользователей права rwx------, то
> при обращении к любому файлу витруального хоста получаем "You don't have
> permission to access /index.php on this server".
>
> Если включить safe_mode=on в php.ini, то очевидно, что никто не помешает
> пользователю выключить его, то же касается любых вариантов ограничить
> действия пользователя средствами php. Чтобы пользователь не смог
> модифицировать php.ini или бинарник php, необходимо сделать владельцем
> его домашего каталога другого пользователя - тем самым мы сломаем suexec.
>
> Что остается?
>
Использовать POSIX ACL/либо что-нибудь типа trustee
--
WBR, Konstantin chat with ==>ICQ: 109916175
Lepikhov, speak to ==>JID: lakostis@jabber.org
aka L.A. Kostis write to ==>mailto:lakostis@pisem.net.nospam
...The information is like the bank... (c) EC8OR
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] Re: PHP: Виртуальный хостинг
2003-11-23 10:29 ` [Comm] " Konstantin Lepikhov
@ 2003-11-23 10:56 ` Прокопьев Евгений
2003-11-25 17:41 ` Konstantin Lepikhov
0 siblings, 1 reply; 9+ messages in thread
From: Прокопьев Евгений @ 2003-11-23 10:56 UTC (permalink / raw)
To: community
Konstantin Lepikhov пишет:
> Hi Прокопьев!
>
> Sunday 23, at 12:59:41 PM you wrote:
>
>
>>Здравствуйте!
>>
>>Необходимо организовать виртуальный хостинг для PHP, пользователям
>>которого требуется:
>>
>>1. Возможность исполнять php-скрипты от своего имени, а не от имени
>>пользователя apache
>>2. Возможность творить в своем домашнем каталоге (и только в нем)
>>средствами php все что угодно (удалять и создавать каталоги, файлы).
>
> <skip>
>
>>Если выставить для домашних каталогов пользователей права rwx------, то
>>при обращении к любому файлу витруального хоста получаем "You don't have
>>permission to access /index.php on this server".
>>
>>Если включить safe_mode=on в php.ini, то очевидно, что никто не помешает
>>пользователю выключить его, то же касается любых вариантов ограничить
>>действия пользователя средствами php. Чтобы пользователь не смог
>>модифицировать php.ini или бинарник php, необходимо сделать владельцем
>>его домашего каталога другого пользователя - тем самым мы сломаем suexec.
>>
>>Что остается?
>>
>
> Использовать POSIX ACL/либо что-нибудь типа trustee
Да, к соседям в папки я пользователя не пущу, но как быть с ограничением
права подниматься выше своей домашней директории в принципе?
Да и еще: хорошо бы, чтобы схема работала и на FreeBSD STABLE (где acl
отсутствуют).
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Comm] Re: PHP: Виртуальный хостинг
2003-11-23 10:56 ` Прокопьев Евгений
@ 2003-11-25 17:41 ` Konstantin Lepikhov
2003-11-26 6:13 ` Прокопьев Евгений
0 siblings, 1 reply; 9+ messages in thread
From: Konstantin Lepikhov @ 2003-11-25 17:41 UTC (permalink / raw)
To: community
Hi Прокопьев!
Sunday 23, at 01:56:02 PM you wrote:
<skip>
> >
> >Использовать POSIX ACL/либо что-нибудь типа trustee
>
> Да, к соседям в папки я пользователя не пущу, но как быть с ограничением
> права подниматься выше своей домашней директории в принципе?
Патчить php на принудительное использование safe mode, независимо от
настроек :)
>
> Да и еще: хорошо бы, чтобы схема работала и на FreeBSD STABLE (где acl
> отсутствуют).
>
Есть там ACL, правда в виде сторонних патчей, кажется проект называется
TrustedBSD.
--
WBR, Konstantin chat with ==>ICQ: 109916175
Lepikhov, speak to ==>JID: lakostis@jabber.org
aka L.A. Kostis write to ==>mailto:lakostis@pisem.net.nospam
...The information is like the bank... (c) EC8OR
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] Re: PHP: Виртуальный хостинг
2003-11-25 17:41 ` Konstantin Lepikhov
@ 2003-11-26 6:13 ` Прокопьев Евгений
2003-11-26 7:04 ` Konstantin Lepikhov
2003-11-26 7:05 ` Konstantin Lepikhov
0 siblings, 2 replies; 9+ messages in thread
From: Прокопьев Евгений @ 2003-11-26 6:13 UTC (permalink / raw)
To: community
Konstantin Lepikhov пишет:
> Hi Прокопьев!
>
> Sunday 23, at 01:56:02 PM you wrote:
>
> <skip>
>
>>>Использовать POSIX ACL/либо что-нибудь типа trustee
>>
>>Да, к соседям в папки я пользователя не пущу, но как быть с ограничением
>>права подниматься выше своей домашней директории в принципе?
>
> Патчить php на принудительное использование safe mode, независимо от
> настроек :)
Бинарник php будет лежать у пользователя (см. выше схему каталогов),
поэтому при необходимости он себе сам какой надо сделает :)
>>Да и еще: хорошо бы, чтобы схема работала и на FreeBSD STABLE (где acl
>>отсутствуют).
>>
>
> Есть там ACL, правда в виде сторонних патчей, кажется проект называется
> TrustedBSD.
Да нет, есть причины, по которым разрешается использовать только
стандартные решения.
Была мысль на тему chroot, но не слишком ли это громоздко. Что по
минимуму надо туда запихать, чтоб оно работало так, как мне надо? Как
это вообще правильно делается, есть какое-нибудь внятное описание?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Comm] Re: PHP: Виртуальный хостинг
2003-11-26 6:13 ` Прокопьев Евгений
@ 2003-11-26 7:04 ` Konstantin Lepikhov
2003-11-26 7:05 ` Konstantin Lepikhov
1 sibling, 0 replies; 9+ messages in thread
From: Konstantin Lepikhov @ 2003-11-26 7:04 UTC (permalink / raw)
To: community
Hi Прокопьев!
Wednesday 26, at 09:13:21 AM you wrote:
<skip>
> Бинарник php будет лежать у пользователя (см. выше схему каталогов),
> поэтому при необходимости он себе сам какой надо сделает :)
>
> >>Да и еще: хорошо бы, чтобы схема работала и на FreeBSD STABLE (где acl
> >>отсутствуют).
> >>
> >
> >Есть там ACL, правда в виде сторонних патчей, кажется проект называется
> >TrustedBSD.
>
> Да нет, есть причины, по которым разрешается использовать только
> стандартные решения.
>
> Была мысль на тему chroot, но не слишком ли это громоздко. Что по
> минимуму надо туда запихать, чтоб оно работало так, как мне надо? Как
> это вообще правильно делается, есть какое-нибудь внятное описание?
>
Тогда только chroot. Насчет внятного описания - можно погуглить. Вон, в
OBSD уже изначально httpd в chroot запихали.
--
WBR, Konstantin chat with ==>ICQ: 109916175
Lepikhov, speak to ==>JID: lakostis@jabber.org
aka L.A. Kostis write to ==>mailto:lakostis@pisem.net.nospam
...The information is like the bank... (c) EC8OR
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Comm] Re: PHP: Виртуальный хостинг
2003-11-26 6:13 ` Прокопьев Евгений
2003-11-26 7:04 ` Konstantin Lepikhov
@ 2003-11-26 7:05 ` Konstantin Lepikhov
2003-11-26 7:32 ` Прокопьев Евгений
1 sibling, 1 reply; 9+ messages in thread
From: Konstantin Lepikhov @ 2003-11-26 7:05 UTC (permalink / raw)
To: community
Hi Прокопьев!
Wednesday 26, at 09:13:21 AM you wrote:
<skip>
> Была мысль на тему chroot, но не слишком ли это громоздко. Что по
> минимуму надо туда запихать, чтоб оно работало так, как мне надо? Как
> это вообще правильно делается, есть какое-нибудь внятное описание?
>
Пока писал письмо - пришла дурацкая мысль - а может им vserver сделать,
пусть каждый свой и курочит.
--
WBR, Konstantin chat with ==>ICQ: 109916175
Lepikhov, speak to ==>JID: lakostis@jabber.org
aka L.A. Kostis write to ==>mailto:lakostis@pisem.net.nospam
...The information is like the bank... (c) EC8OR
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] Re: PHP: Виртуальный хостинг
2003-11-26 7:05 ` Konstantin Lepikhov
@ 2003-11-26 7:32 ` Прокопьев Евгений
2003-11-26 8:34 ` Konstantin Lepikhov
0 siblings, 1 reply; 9+ messages in thread
From: Прокопьев Евгений @ 2003-11-26 7:32 UTC (permalink / raw)
To: community
Konstantin Lepikhov пишет:
> Hi Прокопьев!
>
> Wednesday 26, at 09:13:21 AM you wrote:
>
> <skip>
>
>>Была мысль на тему chroot, но не слишком ли это громоздко. Что по
>>минимуму надо туда запихать, чтоб оно работало так, как мне надо? Как
>>это вообще правильно делается, есть какое-нибудь внятное описание?
>>
>
> Пока писал письмо - пришла дурацкая мысль - а может им vserver сделать,
> пусть каждый свой и курочит.
кому, юзерам? Так это потяжелее чрута будет (тем более что основной
сервер вполне сам может оказаться в vds :) ). И опять, как это делать?
Гуглил, кстати, и на тему чрута тоже, но самое человечное описание (хоть
и сверхкраткое) на альтовском же сайте и нашел. Ничего еще нет?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Comm] Re: PHP: Виртуальный хостинг
2003-11-26 7:32 ` Прокопьев Евгений
@ 2003-11-26 8:34 ` Konstantin Lepikhov
0 siblings, 0 replies; 9+ messages in thread
From: Konstantin Lepikhov @ 2003-11-26 8:34 UTC (permalink / raw)
To: community
Hi Прокопьев!
Wednesday 26, at 10:32:17 AM you wrote:
> Konstantin Lepikhov пишет:
>
> >Hi Прокопьев!
> >
> >Wednesday 26, at 09:13:21 AM you wrote:
> >
> ><skip>
> >
> >>Была мысль на тему chroot, но не слишком ли это громоздко. Что по
> >>минимуму надо туда запихать, чтоб оно работало так, как мне надо? Как
> >>это вообще правильно делается, есть какое-нибудь внятное описание?
> >>
> >
> >Пока писал письмо - пришла дурацкая мысль - а может им vserver сделать,
> >пусть каждый свой и курочит.
>
> кому, юзерам? Так это потяжелее чрута будет (тем более что основной
> сервер вполне сам может оказаться в vds :) ). И опять, как это делать?
> Гуглил, кстати, и на тему чрута тоже, но самое человечное описание (хоть
> и сверхкраткое) на альтовском же сайте и нашел. Ничего еще нет?
>
Плохо гуглили =)
http://www.devet.org/apache/chroot/
http://www.securityfocus.com/infocus/1694
- как раз для FreeBSD.
--
WBR, Konstantin chat with ==>ICQ: 109916175
Lepikhov, speak to ==>JID: lakostis@jabber.org
aka L.A. Kostis write to ==>mailto:lakostis@pisem.net.nospam
...The information is like the bank... (c) EC8OR
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2003-11-26 8:34 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-23 9:59 [Comm] PHP: Виртуальный хостинг Прокопьев Евгений
2003-11-23 10:29 ` [Comm] " Konstantin Lepikhov
2003-11-23 10:56 ` Прокопьев Евгений
2003-11-25 17:41 ` Konstantin Lepikhov
2003-11-26 6:13 ` Прокопьев Евгений
2003-11-26 7:04 ` Konstantin Lepikhov
2003-11-26 7:05 ` Konstantin Lepikhov
2003-11-26 7:32 ` Прокопьев Евгений
2003-11-26 8:34 ` Konstantin Lepikhov
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git