Защо 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 използва помощен процес. Преименуването или подмяната при ротация може да изисква други права върху директориите.
Поправете частта, която причинява отказа. Само за преминаване не са нужни права за запис във всички горни директории. Ако обикновените права са достатъчни, проверете отказите от политиката за сигурност на услугата, вместо рекурсивно да разширявате достъпа до дървото на инсталацията или кеша.