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

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



On Thu, Aug 20, 2009 at 07:12:32AM +0800, Денис wrote:
> 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?

Гораздо проще (и надежднее, и меньше риск проснуться без /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-а и т.д.
> 
> Кроме ПХП есть ещё другие языки. я хотел дать пользователям всё что
> есть, и питон и перл и разный прочий руби - пускай пользуются, мне не жалко.

Python и Perl работают прекрасно через mod_suexec (разумееться, надо
#!/usr/bin/blah в начале скриптов, но большинство программистов на
"истинных" "скрипт"-языков уже знают, что это надо, и всегда ставлют),
так что я попросту забыл о них - никогда не возникали проблемы :)

> > Отладка 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*.  Уже используем на нашем хостинге в течение месяцев
> > без проблем.  Не более чем через неделю я этих патчов опубликую.
> 
> Когда оно ещё в дебиан попадёт... )
> 
> Неужели окупается допиливание апача при том что такого рода хостинг
> совсем уже копейки стоит?

В нашем случе - окупается :)  YMMV.

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

Спасибо за рецензию, так может и попробую когда-то.

Всего лучшего,
Петр

-- 
Peter Pentchev	roam@ringlet.net    roam@space.bg    roam@FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
"yields falsehood, when appended to its quotation." yields falsehood, when appended to its quotation.

Attachment: pgpe8jMyBHDBL.pgp
Description: PGP signature


Reply to: