Приветствую!Ситуация такая: есть WEB-сервер, на котором хостятся 2000 человек. В папки свои попадают по ФТП. Я стараюсь как можно больше сделать для безопасности их данных, но есть одна загвоздочка...
Устанавливая сервер (FTP+apache под RedHat) я упрятал его + то, что необходимо (PHP/Perl/MySQL) в chroot, а его положил на отдельный диск (параноик :)), вот так:
/mnt/
->apache
->ftp
->home
->/user1/
->/user2/При работе по ФТП человек попадает в свою папку и никуда выше поднятся не может. Из скриптов добраться до системных папок они не могут(chroot) => не могу утащить консольный root... Для Perl'а я установил прогу, которая запускает скрипты юзеров из под их UID&GID => читать скрипты друг друга они не могут. PHP настроен так, что дальше юзерской папки ничего не видит... И вот тут начинаются проблемы: так как PHP запускается из под UID-GID апача скрипты должны быть доступны на чтение ВСЕМ => ВСЕ из перловых скриптов могут прочитать скритпы всех - не радостно :(
На ум приходит два сценария: сделать так, чтобы PHP скрипты запускались из под UID/GID юзера или сделать так, чтобы PERL как и PHP не мог выбраться за рамки юзерской папки... Только вот как это сделать я даже не представляю - подскажите плиз!
>На ум приходит два сценария: сделать так, чтобы PHP скрипты запускались из
>под UID/GID юзера или сделать так, чтобы PERL как и PHP
>не мог выбраться за рамки юзерской папки... Только вот как это
>сделать я даже не представляю - подскажите плиз!1. Посмотри perchild для apache2
2. Можно запускать php как cgi, т.е. так же, как и perl
3. Для каталогов userNN установи ту группу, от которой работает апач. и чтоб в ней был только он. права на каталоги - 770. внутри каталогов - все 666 и 777.
>2. Можно запускать php как cgi, т.е. так же, как и perl
А можно об этом поподробней? Или где можно об этом почитать?
>>2. Можно запускать php как cgi, т.е. так же, как и perl
>А можно об этом поподробней? Или где можно об этом почитать?Ну, например, здесь:
http://www.opennet.me/tips/info/370.shtmlтолько сразу видно новые проблемы:
по первому способу - огромная дыра в безопастности - интерпретатор лежит в каталоге скриптов. нужно как-то закрывать.
по второму способу - надо редактировать все скрипты.