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 ஆக ஒரு கட்டளையை இயக்குவது அடுத்த வழக்கமான மறுதொடக்கத்தை அதே சிக்கலுடன் விட்டுச்செல்லலாம்.