Squid shm_open: Zougrëff verweigert — Besëtz vum gedeelte Späicher kontrolléieren
Trennt d'Besëtzfeeler vum Squid sengem gedeelte Späicher vun de Berechtegungsfeeler bei PID, Log an Cache-Verzeechnis.
Could not read pid file an shm_open(...): Permission denied kënne beim selwechte gescheiterten Squid-Start optrieden. Si nennen ënnerschiddlech Ressourcen. D'Besëtz vun engem Cache-Verzeechnis ze flécken fléckt fir sech selwer keng vun deenen zwou.
Ënner Linux gëtt en POSIX-Objekt fir gedeelte Späicher normalerweis ënner /dev/shm duergestallt. Seng Besëtzer a säin Zougriffsmodus si wichteg. En Objekt, dat vun enger anerer Lafzäit-Identitéit hannerlooss gouf, kann dofir e méi spéiden Prozess scheitere loossen, och wann squid.conf liesbar ass an de lauschterende Port fräi ass.
Rekonstruéiert, wéi dës Instanz ugefaangen huet
Vergläicht den normale Service-Start mat all manuellen Start, deen bei der Feelersich gebraucht gouf. E manuell gestarte Prozess an dee gepackte Service kënne verschidde Benotzer, Weeër oder Konfiguratiounsdateien notzen. Bestëmmt, ob nach eng aner Squid-Instanz leeft, ier Dir en Objekt als al behandelt.
Liest duerno déi genee fehlschléiend Operatioun. E PID-Fehler betrëfft déi konfiguréiert PID-Plaz an hiert Iwwerverzeechnis. E Logfehler betrëfft d'Logdatei oder d'Verzeechnis. E Fehler bei der Cache-Initialiséierung betrëfft de Späicher. E shm_open-Fehler betrëfft dat benannt Objekt fir gedeelte Späicher a kann och d'Sécherheetspolitik ëmfaassen, déi op de Prozess ugewannt gëtt.
Vergläicht fir all Ressource den néidegen Lafzäit-Zougrëff mat hirem aktuelle Besëtzer a Modus. Wann déi gewéinlech Berechtegungen duergesinn, kuckt d'entspriechend Oflehnungsbeweiser an SELinux oder AppArmor. Just “Permission denied” weist net, wéi eng Schicht den Zougrëff ofgelehnt huet.
Fléckt de Besëtz, ouni en zweet Problem ze schafen
Halt de Lafzäitkont mat der Servicekonfiguratioun vun der Installatioun kohärent. Alles op nobody ëmzestellen kann den Zougrëff vun Hëllefsprogrammer briechen an eng nei Onstëmmegkeet mat serviceverwalteten Dateien aféieren.
Och all Squid-änlecht Objekt an /dev/shm ze läschen ass keen gudde éischte Schrëtt. En benannt Objekt kann zu enger aktiver Instanz gehéieren. Botzen soll, wou noutwenneg, op eng bestätegt verloosse Ressource zielen, mam betraffene Service gestoppt, an duerno mat engem Start iwwer de normale Servicemechanismus.
Dat nëtzlech Resultat ass e kohärent Start- a Besëtzmodell. Een eenzelen Uerder als root lafe loossen, bis de Fehler verschwënnt, kann den nächsten routinebedéngten Neistart mat genau demselwe Problem hannerloossen.