Puncte:0

Nu se pot schimba proprietarul și grupul Nginx error_log și access_log

drapel br

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
Puncte:0
drapel br

Nu am gasit alta cale, deocamdata....

L-am lăsat pe Nginx să creeze fișierul care va fi deținut de rădăcină, și apoi faceți manual chgrp și chown utilizatorului meu țintă după ce fișierul a fost creat.

Pentru mine, folosesc grup de servere web ca grupul de fișiere, pe care rulează și nginx, astfel încât fișierul jurnal poate fi citit și scris.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.