Почему Squid не может открыть файл журнала
Проверьте каждый компонент пути и различайте обход каталогов, дописывание файла и создание нового, прежде чем расширять права.
access_log stdio:/srv/squid-logs/access.log logformat=squidДля приведённого примера stdio-журналирования в Squid 6 проверьте путь без изменений:
namei -l /srv/squid-logs/access.log| Операция | Необходимый доступ |
|---|---|
| Пройти по родительскому пути | Право поиска/выполнения для каждого каталога |
| Дописывать существующий журнал | Доступ по пути и право записи в файл |
| Создать отсутствующий журнал | Дополнительно право записи в непосредственный родительский каталог |
Сопоставьте биты прав и ACL с учётной записью процесса, который действительно пишет. Stdio выполняет запись через Squid; daemon-журналирование использует вспомогательный процесс. Переименование или замена при ротации может потребовать других прав на каталоги.
Исправьте компонент, из-за которого отказано в доступе. Для одного лишь прохода по пути не нужна запись во все вышестоящие каталоги. Если обычных прав достаточно, проверьте запреты политики безопасности службы, а не расширяйте рекурсивно доступ ко всему дереву установки или кеша.