[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: хост для простых сайтов на апаче



Peter Pentchev пишет:
> On Thu, Aug 20, 2009 at 06:33:47AM +0800, Денис wrote:
>> Иван Лох пишет:
>>> On Thu, Aug 20, 2009 at 04:13:16AM +0800, Денис wrote:
>>>> заливать свои сайты пользователи будут через WebDAV скорее всего, ну
>>>> может быть ещё через ftp. список имён-паролей тоже будет лежать у них в
>>>> директории
>>>>
>>>> Так же у пользователей должна быть возможность заливать и запускать
>>>> скрипты и прочую муру.
>>>  ^^^^^^^^
>>>> принадлежать все страницы будут пользователю типа www-data, видимо
>>>>
>>>> вопрос: как по debian way красиво разграничить этим пользователям доступ
>>>> чтобы они друг-другу скриптами странички не портили? (да саму систему от
>>>> этого тоже бы желательно защитить, если это возможно, конечно)
>>> Со скриптами IMHO, никак. Кто помешает скрипту убить _свой_ процесс или
>>> удалить _свой_ файл? 
>> Действительно, согласен, будем заводить юзеров
> 
> Юзеров можно завести заведомо и без описания их всех в /etc/passwd.
> Одно возможное решение:
> - PostgreSQL база данных

В чём её выгода супротив /etc/passwd?

> - libnss-pgsql2 чтоб "getent passwd" / getpwnam() и т.д. работали
> - libpam-pgsql чтоб юзеры могут пользовать FTP и SSH
> - отдельные user ID's для разных акаунтов (более чем один username
>   per account, может с разными home directory и shell, но один user ID)
> - все юзеры - в одной группе, скажем, hosting
> - все home directories - собственость юзера и той группы
> - все home directories - с правами 701, чтоб никто не смог щупать
>   чужих файлов
> - либо готовыми средствами, либо собственноручно создаными программами
>   создать chroot-окружение для разных акаунтов; bind mount и
>   recursive bind mount - полезние штуки; awk -F: '$1 < 1000' /etc/passwd
>   так же.
> - забыть о mod_php; завести libapache2-mod-suphp >= 0.7.1 для поддержки
>   chroot-а и т.д.

Кроме ПХП есть ещё другие языки. я хотел дать пользователям всё что
есть, и питон и перл и разный прочий руби - пускай пользуются, мне не жалко.

> 
> Отладка libnss-pgsql2 может быть несколько досадной - nscd глючил
> изрядно и в etch, и в ранных периодов testing-что-попозже-стал-lenny,
> а без nscd база сорвется за минуту (while true { getent passwd }).
> Но однажды отладил, потом проблем нету.
> 
> Отладка libpam-pgsql - попроще; нужно только чтобы догадаться, что
> для важных услуг (FTP, SSH) нужно вообще удалить common-auth и
> common-account из /etc/pam.d/*, далее просто.
> 
> Я теперь в процессе финального сглажения нескольких патчов, которые
> добавляют к Apache директиву SuexecChrootDir так чтобы mod_cgi, mod_cgid
> и libapache2-mod-fcgid ее использовали, и учут этих модулей чтобы
> подчинялись RLimit*.  Уже используем на нашем хостинге в течение месяцев
> без проблем.  Не более чем через неделю я этих патчов опубликую.

Когда оно ещё в дебиан попадёт... )

Неужели окупается допиливание апача при том что такого рода хостинг
совсем уже копейки стоит?

> 
> О WebDAV не знаю, никогда не пробовал, кроме через mod_dav_svn :)

А я попробовал - не требует настроек совсем. Просто файл с паролями как
для запароливания директорий подсовываешь ему и всё сразу работает.
Файлы ложатся от имени веб-сервера.
По моему, удобнее фтп для т.н. "простых юзеров". Поддержка в виндах
давно уже встроена и работает лучше фтп мне кажется.


Reply to: