Could not read pid file va shm_open(...): Permission denied bir muvaffaqiyatsiz Squid ishga tushishida birga paydo bo'lishi mumkin. Ular turli resurslarni nomlaydi. Kesh katalogi egaligini tuzatish o'z-o'zidan ikkalasini ham tuzatmaydi.

Linuxda POSIX umumiy xotira obyekti odatda /dev/shm ostida ifodalanadi. Uning egasi va kirish rejimi muhim. Shuning uchun boshqa ijro identifikatori qoldirgan obyekt squid.conf o'qiladigan va tinglash porti bo'sh bo'lsa ham keyingi jarayonni ishdan chiqarishi mumkin.

Bu nusxa qanday ishga tushganini tiklang

Xizmatning odatiy ishga tushishini muammoni hal qilishda ishlatilgan har qanday qo'lda ishga tushirish bilan solishtiring. Qo'lda ishga tushirilgan jarayon va paketlangan xizmat turli foydalanuvchilar, yo'llar yoki konfiguratsiya fayllaridan foydalanishi mumkin. Obyektni eskirgan deb hisoblashdan oldin boshqa Squid nusxasi hali ishlayotganini aniqlang.

So'ngra ishdan chiqayotgan aniq amalni o'qing. PID xatosi sozlangan PID joylashuvi va uning ota katalogiga tegishli. Jurnal xatosi jurnal fayli yoki katalogiga tegishli. Keshni ishga tushirish xatosi saqlashga tegishli. shm_open xatosi nomlangan umumiy xotira obyektiga tegishli va jarayonga qo'llaniladigan xavfsizlik siyosatini ham qamrab olishi mumkin.

Har bir resurs uchun talab qilinadigan ijro ruxsatini uning hozirgi egasi va rejimi bilan solishtiring. Oddiy ruxsatlar yetarli ko'rinsa, tegishli SELinux yoki AppArmor rad etish dalillarini ko'rib chiqing. Faqat “Permission denied” qaysi qatlam ruxsatni rad etganini ko'rsatmaydi.

Ikkinchi muammo yaratmasdan egalikni tuzating

Ijro hisobini o'rnatishning xizmat konfiguratsiyasiga mos holda saqlang. Hammani nobody ga o'tkazish yordamchi dasturlarning ruxsatini buzishi va xizmat boshqaradigan fayllar bilan yangi nomuvofiqlik keltirishi mumkin.

/dev/shm dagi Squidga o'xshash har bir obyektni o'chirish ham yaxshi birinchi qadam emas. Nomlangan obyekt faol nusxaga tegishli bo'lishi mumkin. Tozalash, zarur bo'lsa, ta'sirlangan xizmat to'xtatilgan holatda tasdiqlangan tashlab ketilgan resursga qaratilishi va keyin odatiy xizmat mexanizmi orqali ishga tushirilishi kerak.

Foydali natija izchil ishga tushirish va egalik modelidir. Xato yo'qolguncha root sifatida bitta buyruqni ishlatish keyingi odatiy qayta ishga tushirishni aynan o'sha muammo bilan qoldirishi mumkin.

O'xshash maqolalar