Dlaczego Squid nie może otworzyć pliku dziennika
Sprawdź każdy element ścieżki i odróżnij przechodzenie przez katalogi, dopisywanie oraz tworzenie pliku, zanim poszerzysz uprawnienia.
access_log stdio:/srv/squid-logs/access.log logformat=squidDla powyższego przykładu loggera stdio w Squid 6 sprawdź ścieżkę bez wprowadzania zmian:
namei -l /srv/squid-logs/access.log| Operacja | Wymagany dostęp |
|---|---|
| Przejście ścieżką katalogów nadrzędnych | Prawo wyszukiwania/wykonania w każdym katalogu |
| Dopisanie do istniejącego dziennika | Przejście ścieżki i prawo zapisu do pliku |
| Utworzenie brakującego dziennika | Dodatkowo zapis w bezpośrednim katalogu nadrzędnym |
Porównaj bity uprawnień i ACL z tożsamością procesu, który faktycznie zapisuje dane. Stdio zapisuje przez Squida; logowanie daemon korzysta z procesu pomocniczego. Zmiana nazwy lub wymiana podczas rotacji może wymagać innych uprawnień do katalogów.
Popraw element powodujący odmowę. Do samego przechodzenia nie trzeba prawa zapisu we wszystkich katalogach nadrzędnych. Jeśli zwykłe uprawnienia wystarczają, sprawdź odmowę wynikającą z polityki bezpieczeństwa usługi, zamiast rekurencyjnie poszerzać dostęp do drzewa instalacji lub pamięci podręcznej.