на / вар / журнал / nginx / У меня есть доступ и журналы ошибок. Некоторые .журнал ошибки и другие .gz
Думаю, я напортачил с разрешениями. Некоторые файлы созданы корень / корень, другие файлы создаются пользователем, настроенным в nginx.conf, и т.д.
Для файлов, расположенных в / var / log / nginx /, правила менялись с течением времени (по крайней мере, по моему опыту). Тем не менее, без дополнительных данных мне неудобно давать окончательное предложение. Но я попытаюсь.
Сам NGINX запускается как «корневой». Процессы NGINX запускаются от имени пользователя, указанного в /etc/nginx/nginx.conf, который обычно является «www-data» (подождите, продолжайте читать)
Вы можете использовать эту команду, чтобы определить, как работает ваш NGINX:
ps -eo "%U %G %a" | grep nginx
Ваш результат должен выглядеть примерно так:
root root nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data www-data nginx: worker process
Вы не сказали, ПОЧЕМУ вы задаете этот вопрос. Гипотетически, допустим, вы запускаете OSSEC со стеком ELK. А если вы используете Ubuntu 16.04, то вторая проблема заключается в том, какие процессы могут ЧИТАТЬ файлы, а также писать. Если вы используете logrotate, вам нужно будет отредактировать файлы logrotate, а также изменить права доступа к папке журнала.
Шаг 1 - в logrotate обновите файл nginx:
nano /etc/logrotate.d/nginx
В этом файле в последних версиях nginx и ubuntu я обнаружил, что изменение строки владения, как показано ниже, позволит ему работать. Это находится в файле в / etc / logrotate / nginx, который устанавливает права доступа к файлу при ротации файла.
create 0640 nginx nginx
или альтернативно:
create 0640 www-data www-data
Хотя на практике nginx: nginx работает более последовательно и является балансом между предоставлением разрешений веб-процессу nginx для файлов журнала и установкой для них root.
Чтобы продолжить, для ваших устаревших файлов журнала (например, для чтения с помощью logstash) вы можете сбросить разрешения (при условии, что расположение файлов по умолчанию, которое, как я понимаю, большинство из нас фактически не использует).
chmod nginx:nginx /var/log/nginx/*
или (снова) альтернативно
chown www-data:www-data /var/log/nginx/*
Надеюсь, это поможет. Я обнаружил, что данные о надлежащих разрешениях для nginx в лучшем случае сбивают с толку, когда дело доходит до ведения журнала, что я приписываю эволюции их УДИВИТЕЛЬНОГО программного обеспечения. И я приветствую тех, кто знает больше, чтобы оставить отзыв о моем ответе.
насколько я понимаю с предоставленной информацией:
файлы журналов вашего сервера управляются демоном logrotate (рассматривайте его как механизм архивирования журналов)
это объясняет, почему вы видите некоторые файлы в формате .tar.gz
Бьюсь об заклад, что эти файлы принадлежат пользователю root (дополнительную информацию можно найти здесь. http://linuxcommand.org/man_pages/logrotate8.html). Это зависит от пользователя, указанного для процесса ротации журнала.
остальные файлы принадлежат nginx, у которого были права rw на них
Если это так, то все в порядке