Pourquoi Squid ne peut pas ouvrir son fichier journal
Examinez chaque élément du chemin, puis distinguez traversée, ajout à un fichier existant et création avant d’élargir les droits.
access_log stdio:/srv/squid-logs/access.log logformat=squidPour cet exemple de journalisation stdio sous Squid 6, examinez le chemin sans le modifier :
namei -l /srv/squid-logs/access.log| Opération | Droits requis |
|---|---|
| Traverser le chemin parent | Droit de recherche/exécution sur chaque répertoire |
| Ajouter au journal existant | Traversée du chemin et droit d’écriture sur le fichier |
| Créer un journal absent | Également le droit d’écriture dans le répertoire parent immédiat |
Comparez les bits de permissions et les ACL avec l’identité du processus qui écrit réellement. Stdio écrit via Squid ; la journalisation daemon utilise un processus auxiliaire. Le renommage ou le remplacement lors de la rotation peut exiger d’autres droits sur les répertoires.
Corrigez l’élément responsable du refus. Il n’est pas nécessaire d’avoir le droit d’écriture sur tous les répertoires ancêtres pour simplement les traverser. Si les permissions ordinaires suffisent, recherchez un refus lié à la politique de sécurité du service plutôt que d’élargir récursivement les droits de l’arborescence d’installation ou du cache.