Как запретить пользователям linux хостинг-сервера выставлять права 777 на файлы и каталоги?
Здравствуйте!
Собствено, вопрос:
Существует ли какой-нибудь метод запретить пользователям хостинг-сервера (на основе linux) выставлять права 777 (назначить максимум 755, например) на файлы и каталоги?
Управляю хостинг-сервером, уже два раза случалось что пользователи загружали какие-то левые скрипты и выставляли права 777 потому-что "что-то не работает", потом спам, потом IP-адрес в blacklist-ах.
Хочу защитить сервер он такого вида уязвимостей.
А разве для загрузки файлов не используется аутентифицированный пользователь?
Разрешить кому попало загружать и запускать любые файлы это самый плохой вариант.
Да, Wordpress, Codeigniter и т.д. все они имеют 777 на папке загрузки фоток например. О безопасности аккаунта в данном случае должен заботится его владелец, а не владелец сервера.
Тут вы не правы, Wordpress-у достаточно 755. Скорее всего то-же самое для других.
Потому-что php-скрипты запускаются или от имени владельца домена, или от имени пользователя веб-сервера. Это значит что права пользователя 7хх (максимум права группы х7х) влияют.
Файлы загружает скрипт, а не пользователи на прямую.
как вариант попробовать монтировать файловую систему с noexec или же можно по умолчанию сделать всем umask послабее(что-то вроде umask 000) и при этом отключить chmod на выполнение всем пользователям и оставить только для администратора
Любой шаред-хостинг запускает скрипты в режиме FastCGI от имени владельца (suPHP).
Любая CMS загружает файлы через скрипты, которые от имени владельца запускаются. Никогда файлы на сервер не загружаются через HTTP напрямик (не путайте с FTP или другими службами).
Нет ни одной ситуации при которой нужны права на запись для group или others. В любом случае достаточно 755.
Выставлять 777 для файлов и каталогов сайта это высшая степень глупости!
@Cram
suexec с правами 755 с т.з. безопасности приблизительно тоже самое, что нормальный mpm с 777.
А вот для mpm 777 все же выставлять нужно - для каталогов кешей, аплоада и т.д.
Смысл всей этой пляски именно в том, чтобы вебсервер мог писать только в те каталоги, куда ему действительно нужно. В случае с suexec/mpm-itk/проче хренью php может писать в любой каталог. Так что да, там 777 не нужно. Там веб-сервер уже может писать куда угодно и что угодно =) (ну в пределах basedir, если оно есть, само собой, и с учетом прав самого пользователя в системе).