Proč Squid nemůže otevřít soubor protokolu
Než rozšíříte oprávnění, prověřte každou část cesty a rozlište průchod adresáři, připojení k souboru a vytvoření nového.
access_log stdio:/srv/squid-logs/access.log logformat=squidPro uvedený příklad stdio loggeru ve Squid 6 prověřte cestu bez provádění změn:
namei -l /srv/squid-logs/access.log| Operace | Potřebný přístup |
|---|---|
| Průchod nadřazenou cestou | Právo prohledávání/spuštění v každém adresáři |
| Připojení k existujícímu protokolu | Průchod cestou a právo zápisu do souboru |
| Vytvoření chybějícího protokolu | Navíc právo zápisu v bezprostředně nadřazeném adresáři |
Porovnejte bity oprávnění a ACL s identitou procesu, který skutečně zapisuje. Stdio zapisuje přes Squid; logování daemon používá pomocný proces. Přejmenování nebo nahrazení při rotaci může vyžadovat další práva k adresářům.
Opravte část způsobující zamítnutí. K pouhému průchodu není potřeba právo zápisu ve všech nadřazených adresářích. Pokud běžná oprávnění stačí, zkoumejte zamítnutí bezpečnostní zásadou služby místo rekurzivního rozšiřování přístupu v celém instalačním či cache stromu.