Puncte:0

Problemă numai cu permisiunile de citire a directorului Httpd

drapel us

În scenariul meu, am nevoie de directorul „httpd” din „/var/log/” pentru a putea fi citit de utilizatorii din grupul „devs” (Amazon Linux 2). Ar putea cineva să mă ghideze cum să realizez acest lucru?

Avem câțiva dezvoltatori care întrețin sistemul și vreau ca aceștia să citească cu ușurință fișierele jurnal din /var/log/httpd fără a avea nevoie de acces root.

poate ajuta asta??

chmod -R go+r /var/log/httpd

sau chmod -R go+rX /var/log/httpd

sau trebuie sa merg cu:

chmod 644 /var/log/httpd

chgrp -R apache /var/log/httpd
chmod 02750 /var/log/httpd
chmod 0640 /var/log/httpd/*
creați 0640 root apache

ls

[root@ip-10-0-10-165 httpd]# ls -la
total 48
drwx------ 19 root devs 4096 Apr 3 03:42 .
drwxr-xr-x 11 root devs 4096 Apr 8 07:45 ..
-rw-r--r-- 1 root root 0 Feb 15 14:55 access_log
drwxr-xr-x 2 root devs 41 1 mar 20:44 u1-dev.qwerty.com
-rw-r--r-- 1 rădăcină rădăcină 1648 3 aprilie 03:42 error_log
-rw-r--r-- 1 root root 883 Mar 13 03:41 error_log-20220313
drwxr-xr-x 2 root devs 41 1 mar 20:44 u4-dev.qwerty.com
drwxr-xr-x 2 root root 41 1 mar 20:44 langs.qwerty.com
drwxr-xr-x 2 root devs 41 1 mar 20:44 u8-dev3.qwerty.com
-rw-r--r-- 1 root root 0 Feb 15 14:55 ssl_access_log
-rw-r--r-- 1 rădăcină rădăcină 314 3 aprilie 03:42 ssl_error_log
-rw-r--r-- 1 rădăcină rădăcină 157 6 mar 03:50 ssl_error_log-20220313
-rw-r--r-- 1 rădăcină rădăcină 0 15 februarie 14:55 ssl_request_log
drwxr-xr-x 2 apache apache 253 Apr 3 03:42 www.qwerty.com
drwxr-xr-x 2 root devs 41 1 mar 20:44 u13-dev.qwerty.com
[root@ip-10-0-20-173 httpd]#

Cum se modifică setul de permisiuni? care este cea mai bună abordare aici?

Puncte:1
drapel ru

Puteți utiliza acl pentru acest director și puteți acorda permisiuni pentru grupul de dezvoltatori. De exemplu:

setfacl -m g:devs:rx httpd/

Puteți seta lista de acces la fișiere pentru un director. În exemplul dvs. aveți un director httpd cu permisiuni setate numai pentru utilizator/rădăcină de grup.

# ls -la| grep httpd
drwx------ 2 root root 4096 Apr 8 10:11 httpd

Puteți verifica dacă acest director nu are o listă acl:

getfacl httpd/
# fișier: httpd/
# proprietar: root
# grup: rădăcină
utilizator::rwx
grup::---
alte::---

Am stabilit permisiuni pentru grupul de dezvoltatori cu permisiuni de citire și executare:

setfacl -m g:devs:rx httpd/

După setarea permisiunilor, va arăta astfel:

getfacl httpd/
# fișier: httpd/
# proprietar: root
# grup: rădăcină
utilizator::rwx
grup::---
grup:devs:r-x
masca::r-x
alte::---

Observați semnul suplimentar (+) despre orice acl existent pe comanda ls.

# ls -la| grep httpd
drwxr-x---+ 2 root root 4096 Apr 8 10:11 httpd

Ar putea fi o idee bună să repetați comanda setfacl cu comutatorul -b pentru a seta permisiunile implicite. De obicei fac asta.

-d, --implicit
           Toate operațiunile se aplică ACL implicit. Intrările ACL obișnuite din setul de intrare sunt promovate la intrări ACL implicite. Intrările ACL implicite din setul de intrare sunt eliminate. (Se emite un avertisment
           dacă se întâmplă asta).

Salutari

samtech avatar
drapel us
doar pentru o mai bună înțelegere, puteți descrie puțin cu un exemplu?
KuchnMar avatar
drapel ru
Am extins răspunsul de mai sus.
samtech avatar
drapel us
KuchnMar , setfacl -m g:devs:rx /var/log/httpd , va acorda grupului meu „devs” să ofere permisiunea dorită fără drept de acces la root? [root@ip-10-0-10-165 httpd]# getfacl /var/log/httpd getfacl: Eliminarea „/” de început din numele căilor absolute # fișier: var/log/httpd # proprietar: root # grup: dezvoltatori utilizator::rwx grup::--- alte::--- "
Puncte:0
drapel cm

În funcție de modul în care ați etichetat întrebarea, utilizați un mediu în stil Redhat. Presupunând că utilizați instalarea Stock Apache httpd, probabil că, în culise, vă ocupați de logrotate. Ieșit din cutie, logrotate se execută zilnic din /etc/cron.daily. Acesta vă va muta fișierele jurnal curente din drum, va crea altele noi și va reporni httpd astfel încât va începe să utilizeze fișierele jurnal goale nou create.

Verifica /etc/logrotate.d/httpd. De exemplu, versiunea stoc arată:

/var/log/httpd/*log {
    lipsingok
    notificare gol
    scripturi partajate
    delaycompress
    postrotate
        /bin/systemctl reîncărcare httpd.service > /dev/null 2>/dev/null || Adevărat
    script final
}

Dacă adăugați o linie ca aceasta între paranteze, logrotate va roti în mod corespunzător și va re-crea fișierele dvs. jurnal cu membrii de proprietar și grup corect:

    creați 0640 root devs

Acest lucru indică logrotate să creeze noile fișiere jurnal cu rădăcină ca proprietar, dezvoltatori ca grup, cu permisiuni de proprietar citire/scriere și citire de grup.

Apoi, puteți seta directorul de jurnal httpd cu permisiuni și drepturi de proprietate, astfel:

chown root:devs /var/log/httpd
chmod 0750 /var/log/httpd

Pentru prima zi, este posibil să doriți, de asemenea, să setați manual permisiunile pentru fișierele jurnal și logrotate va prelua în următoarele zile:

chown root:devs /var/log/httpd/*log
chmod 0640 /var/log/httpd/*log

Vă puteți delecta cu ACL-urile, așa cum a demonstrat @KuchnMar de mai sus, dar această soluție menține lucrurile simple și compatibile cu diferite tipuri *nix și sisteme de fișiere.

Acest lucru poate fi similar pe o gazdă în stil Debian, dar fișierul dvs. de configurare logrotate poate fi apelat apache2 in schimb.

Mai multe informații pot fi găsite aici:

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.