+1
Каждому юзеру — по отдельному пользователю, под которым будет работать его сайт и для этого же пользователя дать доступ по ssh/ftp к его домашней папке. Это дает возможность пользователю делать все что вздумается, при этом хоть немного защитить другие сайты от взломов.
О! Очень хотелось бы остановиться на этом решении. Я так понимаю, их несколько (worker и prefor), какой лучше? Будет ли оно дружить с одноядерным VPS (512mb ram)?
$ sudo apt-get install apache2-mpm-itk
затем нужно проверить как заведены пользователи, раздать права на папки и прописать для каждого сайта конструкцию
<IfModule mpm_itk_module>
AssignUserId username usergroup
По поводу памяти вопрос сложный, т.к. я совершенно не имею понятия что у вас там крутится и как.
Если будут еще вопросы — пишите в личку.
Пользователь вполне может состоять сразу в нескольких группах (и, зачастую, так оно и есть). Так что можно записать пользователя в группу www-data и дать все права на файлы не только владельцу файла, но и группе.
От того, что Вы запишете пользователя и www-data в произвольную группу толку будет не много — при создании файла / папки в качестве группы-владельца будет взята основная группа владельца.
если у вас есть root доступ, тогда удаляйте sudo rm file
Как я понимаю что у вас нет такого доступа. тогда выход есть в суппорте или удаление через панель предоставляемую хостером. Например, в cpanel есть файловый менеджер, он должен удалять файлы.
Хотя я в таких случаях ОБЯЗАТЕЛЬНО говорю хостеру что бы мой акккаунт мог удалять файлы которые делают мои сайты и считаю это правильным выходом
А нефиг пользовать ненастроенный mod_php.
Или в CGI переключайте режим php или нужных пользователей в группу www-data закиньте. Только от упоротых скриптов всё равно не спасёт в группу перекидывание.
Когда-то настраивал веб-сервер для нескольких пользователей под FreeBSD. Каждый пользователь имел свою папку. Всё, что находилось в папке и сама папка принадлежали этому пользователю, группа была www (от неё работал Apache). Для того, чтобы файлы создаваемые веб-сервером принадлежали пользователю была использована SUIDDIR (chmod 4770). Т.е. ко всем создаваемым файлам от имени www происходила подмена пользователя на того, которому принадлежала папка.
Практически всё работало, кроме одного — не загружались файлы через php. Проблема возникала из-за того, что файл грузился во временную папку и получал права 600. В результате только что загруженный файл php перенести не мог на место назначения.
Хм. Поторопился однако. Вроде SUIDDIR нет в линуксе. Или не было. А вообще вот пример того конфига, которым я занимался, но так и не довёл до конца: www.cyberguru.ru/web/web-servers/own-hosting.html
Сделайте chmod загруженных файлов 666 (не сочтите за злое колдунство :)), и удаляйте как хотите, первая цифра — права владельца на файл, вторая — права группы на файл, третья — права любого пользователя, 6 — право на чтение/запись.