Nu se pot schimba proprietarul și grupul Nginx error_log și access_log
Vreau să schimb proprietarul și grupul error_log și access_log al lui nginx imediat de la nginx (nu folosind manual chgrp și chown). Păstrând nginx să ruleze ca root, astfel încât să poată asculta pe porturile 80, 443 și așa mai departe.....
Serverul rulează Ubuntu 20.04, nginx/1.18.0 (Ubuntu)
Se pare că indiferent de locație:
/var/www/error_log
/var/www/access_log
/var/www/sub.domain.com/error_log
/var/www/sub.domain.com/access_log
/var/www/sub2.domain.com/error_log
/var/www/sub2.domain.com/access_log
...
Toate sunt deținute de rădăcină:rădăcină
ignorând setările descrise în utilizator directivă.
Ieșire din ls -l
:
-rw-r--r-- 1 root root 0 14 septembrie 09:07 access_log
-rw-r--r-- 1 root root 0 14 septembrie 08:43 error_log
Puține conținuturi (trunchiate) ale /etc/group
:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog
tty:x:5:syslog
disc:x:6:
lp:x:7:
www-data:x:33:
backup:x:34:
operator:x:37:
...
webservergroup:x:1001:tirtagt,www-data,un alt utilizator aici
...
Chiar dacă am precizat utilizator directivă privind /etc/nginx/nginx.conf
:
utilizator www-data webservergroup;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;
Exemplu de bloc server:
Server {
asculta 80;
rădăcină /var/www/sub.example.com;
# Setați aici numele domeniului sau numele serverului
nume_server sub.example.com;
# error_log
notificare error_log /var/www/sub.example.com/error_log;
access_log /var/www/sub.example.com/access_log;
# Declarați o prioritate dacă nu există nicio cale sau fișiere specificate.
index index.html index.htm index.php;
# Prinde toate locațiile
Locație / {
# Treceți-l la podul PHP FastCGI
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# Rulați DynamicPHPRuter pentru orice și lăsați-l să-și facă treaba.
fastcgi_param SCRIPT_FILENAME $document_root/srouter.php;
}
}
Comportamentul așteptat ar fi că error_log
și access_log
este creat ca www-data ca proprietar și webservergroup ca grup, ceva de genul acesta când rulăm ls -l
:
-rw-rw-r-- 1 www-data webservergroup 0 14 septembrie 09:07 access_log
-rw-rw-r-- 1 www-data webservergroup 0 14 septembrie 08:43 error_log