Apache rejestruje uprawnienia innych użytkowników do odczytu [zamknięte]

23

Mamy kilku programistów, którzy utrzymują system i chcę, aby łatwo odczytali pliki dziennika w / var / log / httpd bez potrzeby dostępu do konta root. Ustawiam uprawnienia do odczytu dla „innych” użytkowników, ale kiedy uruchamiam tail w plikach dziennika, dostaję odmowę dostępu:

[root@ourserver httpd]# chmod -R go+r /var/log/httpd
[root@ourserver httpd]# ls -la
drwxr--r--  13 root root 4096 Oct 25 03:31 .
drwxr-xr-x.  6 root root 4096 Oct 20 03:24 ..
drwxr-xr-x   2 root root 4096 Oct 20 03:24 oursite.com
drwxr-xr-x   2 root root 4096 Oct 20 03:24 oursite2.com
-rw-r--r--   1 root root    0 May  7 03:46 access_log
-rw-r--r--   1 root root 3446 Oct 24 22:05 error_log

[me@ourserver ~]$ tail -f /var/log/httpd/oursite.com/error.log
tail: cannot open `/var/log/httpd/oursite/error.log' for reading: Permission denied

Może brakuje mi czegoś na temat działania uprawnień, ale nie znajduję na to łatwych odpowiedzi.

użytkownik2344668
źródło
2
Przeszukałem kilka artykułów, próbując znaleźć rozwiązanie tego problemu na podstawie błędu (w tym dokumentację Apache); to jedyny powód, dla którego tutaj opublikowałem. Nie wiem, dlaczego to zostało odrzucone. Czy muszę publikować, które witryny badałem? Na podstawie odpowiedzi wyglądało to tak, jakby w Linuksie było coś, czego do końca nie rozumiałem, ale tego konkretnego atrybutu nie wymieniono w artykułach, które czytam.
user2344668,
1
[me@ourserver ~]$ tail -f /var/log/httpd/oursite.com/error.log<--- Więc na czym są uprawnienia /var/log/httpd/oursite.com/error.log- byłoby to BARDZO WAŻNE . (Zwróć również uwagę na odpowiedź Jozuego poniżej )
voretaq7,
7
@ voretaq7 i inni - To niedorzeczne, że takie pytanie jest odrzucane i zamykane. - Powiedzmy wprost: powinieneś znać odpowiedź , aby poprawnie zadać pytanie? Widzę. Jako programista C ++ i PHP, który musi zapewniać dostęp do tych dzienników innym niż root, przypuszczam, że ... powinienem się wstydzić za to, że nie wiem, jak to umożliwić? Pójdę teraz zawiesić głowę w kącie. Właściwie to mówi, że pytanie nie dotyczy profesjonalnej administracji systemem. Rozumiem - więc jako programista PHP zarządzający systemem mojego klienta jestem ... fałszywy. Dzięki!
Dan Nissenbaum
3
Stackoverflow i przyjaciele są do dupy. Rujnujący go naziści zamykają i odrzucają.
Lothar
2
To wydaje się być dość surowym głosowaniem, imo. Jeśli jest to OT dla ServerFault, gdzie ludzie powinni znaleźć odpowiedź? W każdym razie odpowiedź udzielona przed jej zamknięciem jest nadal pomocna dzięki Google.
Evan Donovan,

Odpowiedzi:

26

Katalogi (takie jak / var / log / httpd) wymagają zarówno uprawnień do odczytu, jak i wykonywania, aby można je było przechodzić. Więc kiedy dodasz „r” do katalogu, pozwala on tylko światu zobaczyć zawartość, ale nie wchodzić do niego i kontynuować w innych katalogach.

Próbować chmod -R go+rX /var/log/httpd

Joshua Miller
źródło
2
Tylko jedna uwaga tutaj w poleceniu, że nie potrzebujesz przełącznika -R, ponieważ aktualizujesz katalog, a nie pliki. Po prostu podziel się tym ... Polecenie chmod go+rX /var/log/httpd
brzmi