Я использовал комбинацию suPHP с suExec, чтобы попытаться защитить пользователей и ограничить выход PHP / Perl за пределы их разрешенного пространства (то есть: папки user / tmp).
Прошло некоторое время с тех пор, как я в последний раз выполнял такую настройку, я бы сказал, несколько лет, до сегодняшнего дня я не нуждался в ней, и с тех пор появились некоторые новые модули.
Я хотел бы знать, какие модули в настоящее время доступны для этой задачи, которые стоит использовать, или мои настройки все еще действительны и стоит использовать?
Я также заметил, что некоторые компании настраивают свой ftp-сервер так, чтобы он не отображал файлы, начинающиеся с точки. Есть ли какая-то конкретная причина, по которой они этого хотят? Я имею в виду, что во многих случаях пользователи хотели бы иметь возможность загружать / редактировать / повторно загружать свой файл .htaccess, хотя можно загрузить указанный файл, вы не сможете загрузить его в этом конкретном случае.
PS: Я понимаю, что CHMOD играет большую роль во всем этом, но также необходимо заставить Apache запускаться от имени данного пользователя.
Я хотел бы знать, какие модули в настоящее время доступны для этой задачи, которые стоит использовать, или мои настройки все еще действительны и стоит использовать?
Модулей много (вы даже перечислили их кучу в одном из комментариев: for instance fastCGI, suPHP, suExec, mod_ruid2, etc.
). У каждого из них есть свои сильные и слабые стороны. Только ты можешь предотвращать лесные пожары решить, какой модуль соответствует ваш специфические потребности - оцените доступные варианты в соответствии с вашими требованиями и сделайте выбор, наиболее соответствующий вашим потребностям.
Я также заметил, что некоторые компании настраивают свой ftp-сервер так, чтобы он не отображал файлы, начинающиеся с точки. Есть ли какая-то конкретная причина, по которой они этого хотят?
Потому что именно так Unix работает более 40 лет (имена файлов начинаются с .
считаются "скрытыми" и по умолчанию не отображаются в списках каталогов для устранения беспорядка).
(Альтернативный ответ: «Потому что этого хочет локальный администратор».)
вы не сможете скачать [
.htaccess
файл] в данном конкретном случае.
Неправильно.
Соглашение о точечных файлах влияет только на то, отображается по умолчанию.
Точечные файлы (или все, что считается «скрытым» ОС хоста) по-прежнему можно получить напрямую по имени и отображать в списке каталогов, указав -a
возможность ls
.
Чтобы быть предельно ясным: имя файла с ведущими .
это косметический соображения, а не безопасность один.
О каких модулях вы говорите?
Если бы это был только PHP или Perl, решение было бы намного проще. Запуск скриптов через CGI имеет огромные накладные расходы на производительность, а IIRC делает кеширование кода операции непрактичным. Используя только PHP, вы можете просто установить base_opendir и отключить расширения, которые могут его обойти.
Однако php-fpm позволяет пулам интерпретаторов php запускаться от имени разных пользователей (каждый пул прослушивает другой порт), поэтому, если количество пользователей управляемо, это может быть лучшим решением для сценариев PHP.