Could not read pid file na shm_open(...): Permission denied zinaweza kuonekana wakati wa kuanzisha Squid kushindwa mara moja. Zinataja rasilimali tofauti. Kurekebisha umiliki wa saraka ya akiba hakutarekebisha yoyote kati ya hizo mbili peke yake.

Kwenye Linux, kitu cha kumbukumbu shirikishi cha POSIX kwa kawaida huwakilishwa chini ya /dev/shm. Mmiliki wake na hali ya ufikiaji ni muhimu. Kwa hivyo kitu kilichoachwa na utambulisho mwingine wa utekelezaji kinaweza kusababisha mchakato wa baadaye kushindwa, hata wakati squid.conf linaweza kusomwa na bandari ya kusikiliza iko huru.

Rejesha jinsi kipengele hiki kilivyoanza

Linganisha uanzishaji wa kawaida wa huduma na uanzishaji wowote wa mkono uliotumika wakati wa kutatua tatizo. Mchakato ulioanzishwa kwa mkono na huduma iliyofungashwa zinaweza kutumia watumiaji, njia au faili za usanidi tofauti. Thibitisha kama kipengele kingine cha Squid bado kinaendesha kabla ya kuchukua kitu kama kimepitwa na wakati.

Kisha soma operesheni kamili inayoshindwa. Hitilafu ya PID inahusu eneo la PID lililowekwa na saraka yake ya mzazi. Hitilafu ya kumbukumbu inahusu faili au saraka ya kumbukumbu. Hitilafu ya kuanzisha akiba inahusu hifadhi. Hitilafu ya shm_open inahusu kitu kilichotajwa cha kumbukumbu shirikishi na inaweza pia kuhusisha sera ya usalama inayotumika kwa mchakato.

Kwa kila rasilimali, linganisha ufikiaji wa utekelezaji unaohitajika na mmiliki na hali ya sasa. Ikiwa ruhusa za kawaida zinaonekana kutosha, chunguza ushahidi husika wa kukataliwa katika SELinux au AppArmor. “Permission denied” peke yake haionyeshi tabaka gani lilikataa ufikiaji.

Rekebisha umiliki bila kuunda tatizo la pili

Weka akaunti ya utekelezaji sawa na usanidi wa huduma wa usakinishaji. Kubadilisha kila kitu kwenda nobody kunaweza kuvunja ufikiaji wa programu saidizi na kuleta kutokulingana mpya na faili zinazosimamiwa na huduma.

Pia kufuta kila kitu kinachofanana na Squid ndani ya /dev/shm si hatua nzuri ya kwanza. Kitu kilichotajwa kinaweza kuwa cha kipengele kinachotumika. Usafishaji, inapohitajika, unapaswa kulenga rasilimali iliyoachwa iliyothibitishwa huku huduma iliyoathirika imesimamishwa, kisha kuanzisha kupitia utaratibu wa kawaida wa huduma.

Matokeo yenye manufaa ni mfano thabiti wa uanzishaji na umiliki. Kuendesha amri moja kama root hadi hitilafu itoweke kunaweza kuacha uanzishaji upya wa kawaida unaofuata na tatizo lilelile.

Makala zinazohusiana