တစ်ကြိမ်တည်း မအောင်မြင်သော Squid စတင်မှုအတွင်း Could not read pid file နှင့် shm_open(...): Permission denied နှစ်ခုလုံး ပေါ်လာနိုင်သည်။ ၎င်းတို့သည် မတူညီသော အရင်းအမြစ်များကို ညွှန်းသည်။ ကက်ရှ်ဖိုလ်ဒါ၏ ပိုင်ဆိုင်မှုကို ပြုပြင်ခြင်းဖြင့် နှစ်ခုအနက် တစ်ခုကိုမျှ အလိုအလျောက် မပြုပြင်နိုင်ပါ။

Linux တွင် POSIX မျှဝေမန်မိုရီ အရာဝတ္ထုကို များသောအားဖြင့် /dev/shm အောက်တွင် ကိုယ်စားပြုသည်။ ၎င်း၏ ပိုင်ရှင်နှင့် ဝင်ရောက်ခွင့်မုဒ်သည် အရေးကြီးသည်။ ထို့ကြောင့် အခြားလည်ပတ်မှု အထောက်အထား တစ်ခုက ထားခဲ့သော အရာဝတ္ထုသည် squid.conf ဖတ်နိုင်ပြီး နားထောင်သည့် ပေါက်ပေါက်လွတ်နေလျှင်ပင် နောက်ထပ် လုပ်ငန်းစဉ်ကို ပျက်ကွက်စေနိုင်သည်။

ဤ instance မည်သို့ စတင်ခဲ့သည်ကို ပြန်လည်တည်ဆောက်ပါ

ပုံမှန် ဝန်ဆောင်မှု စတင်မှုကို ပြဿနာရှာဖွေစဉ် အသုံးပြုခဲ့သော ကိုယ်တိုင် စတင်မှုများနှင့် နှိုင်းယှဉ်ပါ။ ကိုယ်တိုင် စတင်ထားသော လုပ်ငန်းစဉ်နှင့် ထုပ်ပိုးထားသော ဝန်ဆောင်မှုသည် မတူညီသော အသုံးပြုသူများ၊ လမ်းကြောင်းများ သို့မဟုတ် ဖွဲ့စည်းမှုဖိုင်များကို အသုံးပြုနိုင်သည်။ အရာဝတ္ထုတစ်ခုကို ဟောင်းနွမ်းသည်ဟု မသတ်မှတ်မီ အခြား Squid instance လည်ပတ်နေသေးသလား ဆုံးဖြတ်ပါ။

ထို့နောက် မအောင်မြင်သော တိကျသည့် လုပ်ဆောင်ချက်ကို ဖတ်ပါ။ PID အမှားသည် သတ်မှတ်ထားသော PID တည်နေရာနှင့် ၎င်း၏ မိခင်ဖိုလ်ဒါနှင့် သက်ဆိုင်သည်။ လော့ဂ်အမှားသည် လော့ဂ်ဖိုင် သို့မဟုတ် ဖိုလ်ဒါနှင့် သက်ဆိုင်သည်။ ကက်ရှ် စတင်မှု အမှားသည် သိုလှောင်မှုနှင့် သက်ဆိုင်သည်။ shm_open အမှားသည် အမည်ပေးထားသော မျှဝေမန်မိုရီ အရာဝတ္ထုနှင့် သက်ဆိုင်ပြီး လုပ်ငန်းစဉ်အပေါ် ကျင့်သုံးသော လုံခြုံရေးမူဝါဒကိုလည်း ပါဝင်နိုင်သည်။

အရင်းအမြစ်တစ်ခုစီအတွက် လိုအပ်သော လည်ပတ်မှုဝင်ရောက်ခွင့်ကို ၎င်း၏ လက်ရှိပိုင်ရှင်နှင့် မုဒ်နှင့် နှိုင်းယှဉ်ပါ။ သာမန်ခွင့်ပြုချက်များ လုံလောက်ဟု ထင်လျှင် သက်ဆိုင်ရာ SELinux သို့မဟုတ် AppArmor ငြင်းပယ်မှု အထောက်အထားများကို စစ်ဆေးပါ။ “Permission denied” တစ်ခုတည်းဖြင့် မည်သည့်အလွှာက ဝင်ရောက်ခွင့်ကို ငြင်းပယ်ခဲ့သည်ကို မဖော်ပြပါ။

ဒုတိယပြဿနာ မဖန်တီးဘဲ ပိုင်ဆိုင်မှုကို ပြုပြင်ပါ

လည်ပတ်မှုအကောင့်ကို တပ်ဆင်မှု၏ ဝန်ဆောင်မှုဖွဲ့စည်းမှုနှင့် ကိုက်ညီအောင် ထားပါ။ အားလုံးကို nobody သို့ ပြောင်းခြင်းသည် အကူအညီပေးသည့် ဝင်ရောက်ခွင့်ကို ချိုးဖျက်နိုင်ပြီး ဝန်ဆောင်မှု စီမံသည့် ဖိုင်များနှင့် ကိုက်ညီမှုမရှိမှု အသစ် ဖြစ်ပေါ်နိုင်သည်။

/dev/shm အတွင်းရှိ Squid နှင့် တူသော အရာဝတ္ထုတိုင်းကို ဖျက်ပစ်ခြင်းသည်လည်း ကောင်းသော ပထမခြေလှမ်း မဟုတ်ပါ။ အမည်ပေးထားသော အရာဝတ္ထုသည် လုပ်ဆောင်နေသော instance ၏ ဖြစ်နိုင်သည်။ လိုအပ်ပါက ရှင်းလင်းခြင်းသည် ထိခိုက်ခံရသော ဝန်ဆောင်မှုကို ရပ်ထားစဉ် အတည်ပြုထားသော စွန့်ပစ်ထားသည့် အရင်းအမြစ်ကို ပစ်မှတ်ထားသင့်ပြီး ထို့နောက် ပုံမှန် ဝန်ဆောင်မှု ယန္တရားဖြင့် စတင်သင့်သည်။

အသုံးဝင်သော ရလဒ်သည် ကိုက်ညီသော စတင်မှုနှင့် ပိုင်ဆိုင်မှု ပုံစံဖြစ်သည်။ အမှား ပျောက်သည်အထိ root အဖြစ် အမိန့်တစ်ခုကို လည်ပတ်ထားခြင်းသည် နောက်ထပ် ပုံမှန် ပြန်စတင်မှုကို တူညီသော ပြဿနာဖြင့် ထားခဲ့နိုင်သည်။

ဆက်စပ်ဆောင်းပါးများ