Я уже ранее описывал как запретить пользователям лазить друг к другу в директории.
https://www.opennet.ru/openforum/vsluhforumID8/604.html---------------------
Поднимаешь apache, perl и другие необходимые хостерам программы в chroot.
Делаешь /chroot и в качетсве homedir у юзеров приписываешь /chroot/home.
Периодически копируешь mail-spool из chroot в реальный спул (для того чтобы из скриптов могли почту рассылать) и синхринизируешь /etc/passwd (без паролей) в chroot окружение (для работы suexec). ftpd запускаешь не из под chroot, но с настройкой (например в vsftpd) или патчем затавляющийм сразу делать chroot в хоме юзера, чтобы юзер не видел ничего лишнего.
>примило даст на чтение всё что надо юзверю не "pupkin"-у....
Ставь оунером юзера, а группу web севрера (или web добавь в группу пользователя) - чтобы статику отдавать мог. Скрипты чужих юзеров туда доступ не получат так как скрипты запускаются через suexec, т.е. под UID текущего пользователя.
drwx--x--- 4 pupkin web 4096 Дек 23 2001 pupkin
> Угу! и при этом каждому юзверю всё равно будет доступна на чтение
> /home/pupkin/docs/index.php так как у него група web.
Юзер не в группе WEB, в группе WEB твой apache. Соответсвтенно все, что запускается под UID/GID юзера доступ к чужим директориям никак получить не может, apache же будет прекрасно отдавать статику от всех юзеров. Это касается cgi-скриптов запущенных из-под suexec и .php файлов обработанных mod_php с включенным safe_mode (но php скрипты продолжают запускаться из под юзера апапча!!! если найдут очередную возможность пролома safe_mode в php пользователь сможет залезть под uid web-сервера к соседям).
>Единственный выхот на мой взгляд - это пускать всё (даже php) под
>uid&gid конкретного юзверя, а вот как это сделать?????
suexec для CGI-скриптов + safe_mode в mod_php (или еще лучше php не в виде модуля, а как php.cgi использолвать с suexec).
PS. Про безопасность JSP в Resin иди Tomcat сам бы с удовольствием почитал, только собираюсь их ставить для клиентов. Необходимость запуска отдельных виртуальных Java VM на каждого клиента отпугавает, использовать же одну VM для нескольких клиентов страшновато.