Вопрос: Как делиться журналом nginx без sudo для другого пользователя?


У меня есть 2 пользователя на моем сервере. Один с sudo доступа к другому без. Как я могу получить доступ к журналам nginx

/var/log/nginx/error.log

Другому пользователю без sudo разрешение на использование cat /var/log/nginx/error.log ? Могу ли я создать что-то вроде символической ссылки для входа в каталог / home / username?

Поэтому мой вопрос: как может пользователь без sudo проверка разрешений nginx?


7
2017-11-10 14:06


Источник


sudo доступ к чему? Это не ясно из вашего вопроса. Я знаю, что некоторые люди делают «доступ к суду» означающим «корневой доступ», но это не является технически точным. Пожалуйста, попробуйте. - dawud
да, вы могли бы использовать sudo чтобы дать ему разрешения на самом деле, в зависимости от того, как вы хотите его настроить. - gparent
Вы можете использовать ACL. например setfacl -m 'user:someuser:r' /var/log/nginx/error.log, Я не уверен, как это работает с logrotate. sudo доступ к cat / tail / etc, журнал, вероятно, лучший вариант в любом случае. ` - Greg Bowser
@GregBowser IMHO, использование ACL без понимания ACL является рецептом проблемы. - Paul


Ответы:


Например, например:

chmod 755 /var/log/nginx && chmod 644 /var/log/nginx/*.log && chmod 644 /var/log/nginx/*.gz

таким образом, каждый сможет cwd и прочитать содержимое каталога / var / log / nginx и прочитать файлы * .log.

Вы также должны проверить конфигурацию вращения журнала, чтобы разрешения больше не менялись. Для последних версий Nginx, вплоть до 1.6.2 включительно, файл /etc/logrotate.d/nginx использовал линию create 0640 www-data adm для установки разрешений при вращении журналов. Это должно быть изменено на что-то вроде create 0644 www-data adm, Следует отметить, что это решение позволяет всем пользователям на сервере читать все журналы Nginx.

Обновить: logrotate configs также необходимо обновить, чтобы включить su www-data adm чтобы утилита logadm работала, не жалуясь на неправильные разрешения для каталога.


12
2017-11-10 14:59



Конфигурация по умолчанию Nginx в /etc/logrotate.d/nginx является create 0640 www-data adm, Это в 1.6.2, но я не думаю, что линия изменилась за довольно долгое время. - Paul
Этот ответ важен, поэтому он будет универсальным и универсальным, а не ubuntu-nginx-1.6.2-20141110. - drookie
nginx config в logrotate d сбрасывал его. Исправлено, изменив его. - sdkks