چرا 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 از فرایند کمکی استفاده میکند. تغییر نام یا جایگزینی هنگام چرخش لاگ ممکن است به دسترسیهای دیگری روی پوشهها نیاز داشته باشد.
جزئی را اصلاح کنید که باعث رد دسترسی شده است. برای صرفاً عبورکردن، مجوز نوشتن روی همهٔ پوشههای بالادست لازم نیست. اگر مجوزهای معمول کافیاند، رد دسترسی در سیاست امنیتی سرویس را بررسی کنید، نه اینکه دسترسی درخت نصب یا کش را بهصورت بازگشتی گسترش دهید.