Всем привет!
Подниму в очередной раз наверное самый животрепещущий вопрос по поводу виртуального хостинга клиентов (Apache+PHP+Perl) и безопасности системы и в первую очередь других клиентов.
Надо сделать так, что бы у пользователя не было возможности читать какие либо файлы в системе, кроме тех, которые расположены в его домашней директории (Ex: /hosting/user_login1), к которой он должен иметь полный доступ по FTP и HTTP
Варианты решения:
1. Jail
ПЛЮСЫ: для каждого сервера (клиента) создается своя виртуальная машина, в пределах которой он может делать что хочет, выйти за ее пределы не даст само ядро.
МИНУСЫ: неоправданно большой расход ресурсов: процессор, память, частично дисковое пространство.
2. chroot
Плюсы/Минусы - см п.1
3. Ограничение средствами безопасности самой системы (chmod,chown,setfacl)
ПЛЮСЫ: Хорошо подходит для обеспечения безопасности FTP доступа
МИНУСЫ: Не подходит для обеспечения безопасности от Perl/PHP скриптов (т.к. пользователь от которого работает web сервер должен иметь права как минимум на чтение в папки пользователей. (ex. user_login1:www 740)
4. ?
Кто продолжит список? Желательно поподробней.