LINUX.ORG.RU
ФорумAdmin

Запустить nginx с правами ограниченного пользователя.

 


0

1

Есть учетная запись на сервере Debian, с обычными правами. Администратором установлен и запущен nginx от рута. Для моего пользователя открыты несколько портов. Создал файл nginx.conf в домашнем каталоге такого содержания:

error_log /home/dekar/error.log warn;
daemon off;
http{
    server{
        listen      10088;
        location / {
            root /home/dekar/www;
        }
}
Запускаю nginx -c /home/dekar/nginx.conf так. Получаю
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2020/03/01 15:34:39 [emerg] 24205#24205: open() "/usr/share/nginx/nginx.conf" failed (2: No such file or directory)
Как наладить сервер на 10088 порту раздающий файл index.html из /home/dekar/www ?


Системный экземпляр Nginx собран с захардкоженным абсолютным путём для error.log. Из-за того, что путь начинается с /, префиксом это починить нельзя. Nginx всегда будет пытаться открыть /var/log/nginx/error.log на запись, и с этим ничего не сделать.

Скомпилируй свою копию Nginx, запускай её.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

чрутиться не пробовал?

а вообще, будь я ограниченным пользователем, я бы не о nginx беспокоился

есть ещё варианты попросить админа выделить права на эти файлы или пересобрать nginx, убрав хардкод

luntik2012 ()
Ответ на: комментарий от luntik2012

чрутиться не пробовал?

Если можешь chroot’нуться, значит уже были права root. Какой смысл тогда chroot’иться?

i-rinat ★★★★★ ()

Решил сборкой из исходников и редактированием дефайна NGX_PREFIX в файле objs/ngx_auto_config.h. Теперь логи пишутся в домашний каталог, сервер запускается и отдает файлы. Спасибо.

DeKar ()
Ответ на: комментарий от DeKar

А мог бы почитать документацию и указать путь через ключ в configure.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.