Squid shm_open: అనుమతి నిరాకరించబడింది — పంచుకున్న మెమరీ యాజమాన్యాన్ని తనిఖీ చేయండి
Squid యొక్క పంచుకున్న మెమరీ యాజమాన్య వైఫల్యాలను PID, లాగ్ మరియు కాష్ డైరెక్టరీ అనుమతి లోపాల నుండి వేరు చేయండి.
ఒకే విఫలమైన Squid ప్రారంభం సమయంలో Could not read pid file మరియు shm_open(...): Permission denied రెండూ కనిపించవచ్చు. అవి వేర్వేరు వనరులను సూచిస్తాయి. కాష్ డైరెక్టరీ యాజమాన్యాన్ని సరిచేయడం వాటిలో దేనినీ దానంతట అదే సరిచేయదు.
Linux లో POSIX పంచుకున్న మెమరీ వస్తువు సాధారణంగా /dev/shm కింద ప్రదర్శించబడుతుంది. దాని యజమాని మరియు యాక్సెస్ మోడ్ ముఖ్యం. కాబట్టి మరొక రన్టైమ్ గుర్తింపు వదిలిన వస్తువు, squid.conf చదవదగినదిగా మరియు వినిపించే పోర్ట్ ఖాళీగా ఉన్నప్పటికీ, తర్వాతి ప్రక్రియను విఫలం చేయవచ్చు.
ఈ ఇన్స్టాన్స్ ఎలా ప్రారంభమైందో పునర్నిర్మించండి
సేవ యొక్క సాధారణ ప్రారంభాన్ని సమస్య పరిష్కార సమయంలో ఉపయోగించిన ఏదైనా మాన్యువల్ ప్రారంభంతో పోల్చండి. మాన్యువల్గా ప్రారంభించిన ప్రక్రియ మరియు ప్యాకేజీ చేసిన సేవ వేర్వేరు వినియోగదారులు, మార్గాలు లేదా కాన్ఫిగరేషన్ ఫైళ్లను ఉపయోగించవచ్చు. ఒక వస్తువును పాతదిగా పరిగణించే ముందు మరో Squid ఇన్స్టాన్స్ ఇంకా నడుస్తోందా అని నిర్ణయించండి.
తర్వాత విఫలమవుతున్న ఖచ్చితమైన చర్యను చదవండి. PID లోపం కాన్ఫిగర్ చేసిన PID స్థానం మరియు దాని మాతృ డైరెక్టరీకి సంబంధించినది. లాగ్ లోపం లాగ్ ఫైల్ లేదా డైరెక్టరీకి సంబంధించినది. కాష్ ప్రారంభ లోపం నిల్వకు సంబంధించినది. shm_open లోపం పేరు పెట్టిన పంచుకున్న మెమరీ వస్తువుకు సంబంధించినది మరియు ప్రక్రియపై వర్తించే భద్రతా విధానాన్ని కూడా కలిగి ఉండవచ్చు.
ప్రతి వనరు కోసం అవసరమైన రన్టైమ్ యాక్సెస్ను దాని ప్రస్తుత యజమాని మరియు మోడ్తో పోల్చండి. సాధారణ అనుమతులు సరిపోతాయని అనిపిస్తే, సంబంధిత SELinux లేదా AppArmor నిరాకరణ సాక్ష్యాలను పరిశీలించండి. “Permission denied” మాత్రమే ఏ పొర యాక్సెస్ను నిరాకరించిందో తెలియజేయదు.
రెండవ సమస్యను సృష్టించకుండా యాజమాన్యాన్ని సరిచేయండి
రన్టైమ్ ఖాతాను ఇన్స్టాలేషన్ యొక్క సేవ కాన్ఫిగరేషన్కు సరిపోయేలా ఉంచండి. అన్నింటినీ nobody కు మార్చడం సహాయక ప్రోగ్రాముల యాక్సెస్ను దెబ్బతీయవచ్చు మరియు సేవ నిర్వహించే ఫైళ్లతో కొత్త అసమతుల్యతను తీసుకురావచ్చు.
/dev/shm లో Squid లాగా కనిపించే ప్రతి వస్తువును తొలగించడం కూడా మంచి మొదటి అడుగు కాదు. పేరు పెట్టిన వస్తువు చురుకైన ఇన్స్టాన్స్కు చెంది ఉండవచ్చు. అవసరమైతే శుభ్రపరచడం, ప్రభావిత సేవ ఆపివేయబడిన స్థితిలో నిర్ధారిత విడిచిపెట్టిన వనరును లక్ష్యంగా చేసుకోవాలి, ఆపై సాధారణ సేవా యంత్రాంగం ద్వారా ప్రారంభించాలి.
ఉపయోగకరమైన ఫలితం సుసంగతమైన ప్రారంభం మరియు యాజమాన్య నమూనా. లోపం అదృశ్యమయ్యే వరకు root గా ఒక ఆదేశాన్ని అమలు చేయడం తదుపరి సాధారణ పునఃప్రారంభాన్ని అదే సమస్యతో వదిలివేయవచ్చు.