Squid shm_open ፍቃድ ተከልክሏል፦ የጋራ ማህደረ ትውስታ ባለቤትነትን ያረጋግጡ
የSquid የጋራ ማህደረ ትውስታ ባለቤትነት ውድቀቶችን ከPID፣ ከምዝግብ እና ከመሸጎጫ ማውጫ ፍቃድ ስህተቶች ይለዩ።
Could not read pid file እና shm_open(...): Permission denied በአንድ ያልተሳካ የSquid ጅምር ወቅት ሊታዩ ይችላሉ። እነሱ የተለያዩ ሀብቶችን ይጠቅሳሉ። የመሸጎጫ ማውጫን ባለቤትነት ማስተካከል በራሱ ከሁለቱም አንዱን አያስተካክልም።
በሊኑክስ ላይ የPOSIX የጋራ ማህደረ ትውስታ ነገር በተለምዶ በ/dev/shm ስር ይወከላል። ባለቤቱና የመዳረሻ ሁነታው አስፈላጊ ናቸው። በሌላ የሩጫ ማንነት የተተወ ነገር ቀጣዩን ሂደት ሊያሳወክ ይችላል፣ squid.conf ሊነበብ ቢችልና የሚሰማው ወደብ ነፃ ቢሆንም።
ይህ አብነት እንዴት እንደተጀመረ ይመልሱ
የተለመደውን የአገልግሎት ጅምር በመፈለሽ ጊዜ ከተጠቀመው በእጅ ጅምር ጋር ያወዳድሩ። በእጅ የተጀመረ ሂደትና የተጠቀጠቀው አገልግሎት የተለያዩ ተጠቃሚዎችን፣ ዱካዎችን ወይም የውቅር ፋይሎችን ሊጠቀሙ ይችላሉ። አንድን ነገር ጊዜው ያለፈ ከመቁጠርዎ በፊት ሌላ የSquid አብነት አሁንም እየሰራ መሆኑን ያረጋግጡ።
ከዚያ ያልተሳካውን ትክክለኛ ክዋኔ ያንብቡ። የPID ስህተት የተዋቀረውን የPID ቦታና ወላጅ ማውጫውን ይመለከታል። የምዝግብ ስህተት የምዝግብ ፋይሉን ወይም ማውጫውን ይመለከታል። የመሸጎጫ ማስጀመሪያ ስህተት ማከማቻን ይመለከታል። የshm_open ስህተት የተሰየመውን የጋራ ማህደረ ትውስታ ነገር ይመለከታል፣ እንዲሁም በሂደቱ ላይ የሚተገበረውን የደህንነት ፖሊሲ ሊያካትት ይችላል።
ለእያንዳንዱ ሀብት የሚፈለገውን የሩጫ መዳረሻ ከአሁኑ ባለቤትና ሁነታ ጋር ያወዳድሩ። የተለመዱ ፈቃዶች በቂ የሚመስሉ ከሆነ ተዛማጁን የSELinux ወይም AppArmor ውድቅ ማስረጃ ይመልከቱ። “Permission denied” ብቻውን የትኛው ንብርብር መዳረሻን እንደከለከለ አይጠቁምም።
ሁለተኛ ችግር ሳይፈጠር ባለቤትነትን ያስተካክሉ
የሩጫ አካውንቱን ከመግጠሚያው የአገልግሎት ውቅር ጋር ወጥ ያድርጉ። ሁሉንም ወደ nobody መቀየር የአጋዥ መዳረሻን ሊያጠፋና ከአገልግሎት ከሚተዳደሩ ፋይሎች ጋር አዲስ አለመጣጣም ሊያስገባ ይችላል።
በ/dev/shm ውስጥ Squid የሚመስል ነገር ሁሉን መሰረዝም ጥሩ የመጀመሪያ እርምጃ አይደለም። የተሰየመ ነገር የንቁ አብነት ሊሆን ይችላል። ማጽዳት በሚያስፈልግበት ጊዜ የተጎዳው አገልግሎት ቆሞ ሳለ በእርግጥ የተተወ ሀብት ላይ ማነጣጠር አለበት፣ ከዚያም በተለመደው የአገልግሎት ዘዴ መጀመር።
ጠቃሚው ውጤት ወጥ የሆነ የጅምርና የባለቤትነት ሞዴል ነው። ስህተቱ እስኪጠፋ ድረስ አንድ ትዕዛዝ በስርዓተ አስተዳዳሪነት ማስኬድ ቀጣዩ መደበኛ ዳግም ጅምር በተመሳሳይ ችግር ሊያስቀር ይችላል።