Web и права доступа
Т.е., например, чтобы администратор мог через WEB создавать домены третьего уровня.
Проблема возникла следующая.
Чтобы создать домен третьего уровня, нужно произвести некоторые манипуляции с некоторыми файлами от имени администратора, но все WEB-скрипты работают от имени пользователя nobody (или как там его) у которого никаких прав естественно нету.
Давать права на изменение конфигурационного файла apache для этого пользователя мне почему-то не хочится.
Что делать?
В windусе, с правами для меня всё намного понятнее - можно настроить IIS, чтобы юзер при заходе на страницу логинился, так же, как и в винде. В результате, WEB-скрипты начинают работать от администратора (если залогинится админ) и всё кучеряво. А как быть с UNIX-ами?
Я давно где-то читал, что можно поставить на скрипт права админа и тогда, всё что он будет делать - будет от прав админа. Но в этом случае, без разницы, кто залогинится через WEB (через форму аутентификации, которую сделаю я), скрипт всё равно будет работать с правами админа, а это бэд.
А что самое интересно, это то, что решить мою задачу можно! Я сам видел такую форму (для создания доменов третьего уровня), когда пользовался услугами платного хостинга!
В windусе, с правами для меня всё намного понятнее - можно настроить IIS, чтобы юзер при заходе на страницу логинился, так же, как и в винде. В результате, WEB-скрипты начинают работать от администратора (если залогинится админ) и всё кучеряво.
можно вопрос
а как вы это сделали?
правильно ли я понял, что IIS сам проверяет кто логинился, или вы писали скрипт?
можно вопрос
а как вы это сделали?
правильно ли я понял, что IIS сам проверяет кто логинился, или вы писали скрипт?
Ничего самому писать не нужно. Просто создются пользователи, а на файлы из web-директории устанавливаются права на чтения для этих пользователей (например, на файл default.asp). Всё.
При заходе на сервер, IIS определяет есть ли у пользователя права на чтение (исполнение) данного файла и если их нет, то выводит окно аутентификации. По дефолту, сервер работает от анонимного пользователя, но это можно изменить в настройках.
А что самое интересно, это то, что решить мою задачу можно! Я сам видел такую форму (для создания доменов третьего уровня), когда пользовался услугами платного хостинга!
Самый правильный вариант такой - через Web-интерфейс создаются/изменяются домены в своей базе данных.
Потом, от рута, по крону, производится выборка из базы данных и создаются домены.
Посмотри mod_alias у Apache. Можно сделать так, чтобы домены без рута создавались.