ആർട്ടിക്കിൾ ഡയറക്ടറി
പരിഹരിക്കുക phpMyAdmin വെബ്സൈറ്റ് സെർവർ ഫയൽ സംരക്ഷിച്ചില്ല /home/abc/cwl_cwl.sql അനുമതി പ്രശ്നം
നിങ്ങൾ എപ്പോഴെങ്കിലും അത്തരമൊരു സാഹചര്യം നേരിട്ടിട്ടുണ്ടോ? നിങ്ങൾ ഉപയോഗിക്കുമ്പോൾ phpMyAdmin ഡാറ്റാബേസ് എക്സ്പോർട്ടുചെയ്യുമ്പോൾ, നിർദ്ദിഷ്ട ഡയറക്ടറിയിലേക്ക് ഫയൽ സംരക്ഷിക്കാൻ അതിന് കഴിയില്ലെന്ന് ഞാൻ കണ്ടെത്തി. ഇത് പ്രത്യേകിച്ച് ഭ്രാന്തനല്ലേ?
ഈ പ്രശ്നം യഥാർത്ഥത്തിൽ വളരെ സാധാരണമാണ്, കാരണം സാധാരണയായി സെർവറിന് ആ പാതയിലേക്ക് എഴുതാനുള്ള അനുമതികൾ ഇല്ല.
അതിനാൽ, ഇപ്പോൾ നമുക്ക് ഈ പ്രശ്നം ഒരിക്കൽ കൂടി പരിഹരിച്ച് നിങ്ങളുടെ വെബ്സൈറ്റ് സുഗമമായി പ്രവർത്തിപ്പിക്കാം.
എന്തുകൊണ്ട് phpMyAdmin വെബ്സൈറ്റ് സെർവറിന് .sql ഫയലുകൾ സംരക്ഷിക്കാൻ അനുമതിയില്ല?
ആദ്യം, ഞങ്ങൾ ഒരു അടിസ്ഥാന ആശയം മനസ്സിലാക്കേണ്ടതുണ്ട്: ഓരോ വെബ്സൈറ്റ് സെർവറിനും ചില ആക്സസ് പെർമിഷൻ ക്രമീകരണങ്ങളുണ്ട്, അത് ഏത് ഉപയോക്താക്കൾക്കോ സേവനങ്ങൾക്കോ വായിക്കാനോ എഴുതാനോ ചില പ്രവർത്തനങ്ങൾ നടത്താനോ കഴിയും.
നിങ്ങളുടെ സെർവറിന് (അപ്പാച്ചെ അല്ലെങ്കിൽ എൻജിൻഎക്സ് പോലുള്ളവ) ഒരു നിശ്ചിത ഡയറക്ടറിയിൽ എഴുതാൻ അനുമതി ഇല്ലെങ്കിൽ, സ്വാഭാവികമായും ഫയൽ സംരക്ഷിക്കാൻ അതിന് കഴിയില്ല. അതുകൊണ്ടാണ് phpMyAdmin "ഫയൽ സംരക്ഷിക്കാൻ നിങ്ങൾക്ക് അനുമതിയില്ല" എന്ന് ഇത് നിങ്ങളോട് ആവശ്യപ്പെടുന്നു.
ലളിതമായി പറഞ്ഞാൽ,phpMyAdmin ഡാറ്റാബേസ് ബാക്കപ്പ് സംരക്ഷിക്കാൻ ആഗ്രഹിക്കുന്നു /home/abc/cwl_cwl.sql ഈ പാത, എന്നാൽ സെർവറിന് അനുമതിയില്ലാത്തതിനാൽ, അതിന് ഈ ഫോൾഡർ നീക്കാൻ കഴിയില്ല.
അപ്പോൾ, കൃത്യമായി എന്താണ് പ്രശ്നം? അനുമതികൾ! അനുമതികൾ! അനുമതികൾ!
പരിഹാരം: ജോഡി പുനഃസ്ഥാപിക്കുക /home/abc/ ഡയറക്ടറി അനുമതികൾ
അനുമതികളിൽ പ്രശ്നം ഉള്ളതിനാൽ, അനുമതികൾ പരിഷ്കരിച്ചുകൊണ്ട് നമുക്ക് ആരംഭിക്കാം.
സെർവറിനെ ആക്സസ് ചെയ്യാനും ഡയറക്ടറിയിലേക്ക് എഴുതാനും അനുവദിക്കുന്നത് അനുവദിക്കുന്നു phpMyAdmin അതിൻ്റെ ജോലി സുഗമമായി ചെയ്യുന്നു.

1. ഡയറക്ടറി അനുമതികൾ പരിഷ്ക്കരിക്കുക
ഇതാണ് ഏറ്റവും നേരിട്ടുള്ള മാർഗം. നിങ്ങൾ പരിഷ്കരിക്കേണ്ടതുണ്ട് /home/abc/ സെർവറിന് (അപ്പാച്ചെ അല്ലെങ്കിൽ എൻജിൻഎക്സ് പോലുള്ളവ) ഡയറക്ടറിയിലെ അനുമതികൾ അതിലേക്ക് എഴുതാനാകും. നിങ്ങളുടെ സെർവർ Apache ആണെന്നും അത് പ്രവർത്തിക്കുന്നുവെന്നും കരുതുക www-data ഉപയോക്താവ് (ഇതാണ് അപ്പാച്ചെയുടെ സ്ഥിരസ്ഥിതി ഉപയോക്താവ്, തീർച്ചയായും നിങ്ങൾക്ക് നിങ്ങളുടെ യഥാർത്ഥ കോൺഫിഗറേഷൻ അനുസരിച്ച് ഉപയോക്താവിനെയും ഗ്രൂപ്പിനെയും ക്രമീകരിക്കാൻ കഴിയും).
ഘട്ടം:
sudo chown www-data:www-data /home/abc/ -R
sudo chmod 755 /home/abc/ -R
വിശദീകരിക്കുക:
chown www-data:www-data /home/abc/ -R: ഈ കമാൻഡ് ചെയ്യും/home/abc/ഡയറക്ടറിയുടെയും അതിൻ്റെ ഉപഡയറക്ടറികളുടെയും ഉടമ എന്നതിലേക്ക് മാറ്റിwww-dataഉപയോക്താക്കളും ഗ്രൂപ്പുകളും.chmod 755 /home/abc/ -R: ഈ കമാൻഡ് ഡയറക്ടറി ഉടമയ്ക്ക് വായിക്കാനും എഴുതാനും നടപ്പിലാക്കാനുമുള്ള അനുമതികൾ നൽകും, അതേസമയം ഗ്രൂപ്പിനും മറ്റ് ഉപയോക്താക്കൾക്കും മാത്രമേ അനുമതികൾ വായിക്കാനും പ്രവർത്തിപ്പിക്കാനുമുള്ളൂ.
ഇവിടെ,755 വെബ്സൈറ്റ് സെർവറിന് ഫയലുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് മതിയായ അനുമതികൾ ഉണ്ടെന്ന് ഉറപ്പാക്കാൻ കഴിയുന്ന വളരെ ക്ലാസിക് അനുമതി ക്രമീകരണമാണിത്, അതേസമയം സിസ്റ്റം സുരക്ഷ പരിരക്ഷിക്കുന്നതിന് മറ്റ് ഉപയോക്താക്കൾക്ക് വളരെയധികം അനുമതികൾ നൽകുന്നില്ല.
2. ഉപയോഗിക്കുക /tmp/ ഡയറക്ടറി (റൂട്ട് ഡയറക്ടറിയിൽ നിന്ന് പുറത്തുപോകാത്ത മറ്റൊരു പരിഹാരം)
നിങ്ങൾക്ക് മാറ്റം വരുത്താൻ താൽപ്പര്യമുണ്ടെങ്കിൽ /home/abc/ നിങ്ങൾക്ക് ഡയറക്ടറി അനുമതികളെക്കുറിച്ച് ഉറപ്പില്ലെങ്കിൽ, അല്ലെങ്കിൽ യഥാർത്ഥ ഡയറക്ടറി ഘടന നിലനിർത്താൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, കൂടുതൽ സമർത്ഥമായ മറ്റൊരു മാർഗമുണ്ട്.
നിങ്ങൾക്ക് അനുവദിക്കാം phpMyAdmin ഫയൽ സംരക്ഷിക്കുക /tmp/ ഡയറക്ടറി, ഈ ഡയറക്ടറിക്ക് പൊതുവെ എല്ലാ ഉപയോക്താക്കൾക്കുമായി എഴുതാനുള്ള അനുമതികൾ തുറന്നിരിക്കുന്നു.
ഡാറ്റാബേസ് കയറ്റുമതി ചെയ്യുമ്പോൾ, നേരിട്ട് തിരഞ്ഞെടുക്കുക /tmp/ സേവ് പാത്ത് എന്ന നിലയിൽ, കമാൻഡ് ഇപ്രകാരമാണ്:
/tmp/cwl_cwl.sql
ഇത് ചെയ്യുന്നത് അനുമതി പ്രശ്നങ്ങൾ ഒഴിവാക്കുന്നു. ഫയൽ സേവ് ചെയ്യപ്പെടും /tmp/ ഡയറക്ടറി, തുടർന്ന് നിങ്ങൾക്ക് ആവശ്യമുള്ള ഡയറക്ടറിയിലേക്ക് ഇത് സ്വമേധയാ നീക്കാൻ കഴിയും, ഇത് അനുമതികൾ പരിഷ്ക്കരിക്കുന്നതിലെ പ്രശ്നം സംരക്ഷിക്കുന്നു.
3. പരിശോധിക്കുക phpMyAdmin കോൺഫിഗറേഷൻ
നിങ്ങൾ മുകളിൽ പറഞ്ഞ രീതികൾ പരീക്ഷിച്ചു നോക്കിയിട്ടും അത് പ്രവർത്തിക്കുന്നില്ലെങ്കിൽ, പ്രശ്നം ഉണ്ടാകാം phpMyAdmin സ്വന്തം കോൺഫിഗറേഷനിൽ. ചില സന്ദർഭങ്ങളിൽ,phpMyAdmin നിർദ്ദിഷ്ട ഡയറക്ടറികളിലേക്ക് ഫയലുകൾ സംരക്ഷിക്കാൻ അനുവദിക്കുന്നതിന് ഇത് കോൺഫിഗർ ചെയ്തിരിക്കാം, ഈ നിയന്ത്രണം കോൺഫിഗറേഷൻ ഫയലിൽ കാണാം.
ഘട്ടം:
നിങ്ങൾ കാണണം അല്ലെങ്കിൽ പരിഷ്കരിക്കേണ്ടതുണ്ട് phpMyAdmin കോൺഫിഗറേഷൻ ഫയൽ, പാത സാധാരണയായി:
/etc/phpmyadmin/
അല്ലെങ്കിൽ:
/usr/share/phpmyadmin/
സമാനമായ പാത്ത് നിയന്ത്രണങ്ങൾ നിലവിലുണ്ടോ എന്ന് നിങ്ങൾക്ക് പരിശോധിക്കാനും അതിനനുസരിച്ച് അവ പരിഷ്കരിക്കാനും കഴിയും. കോൺഫിഗറേഷൻ ഫയൽ എങ്ങനെ പരിഷ്ക്കരിക്കണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പില്ലെങ്കിൽ, ആദ്യം യഥാർത്ഥ ഫയൽ ബാക്കപ്പ് ചെയ്യാൻ ശുപാർശചെയ്യുന്നു, അങ്ങനെ എന്തെങ്കിലും തെറ്റ് സംഭവിച്ചാൽ അത് എളുപ്പത്തിൽ പുനഃസ്ഥാപിക്കാനാകും.
എന്തുകൊണ്ടാണ് ഈ രീതികൾ പ്രവർത്തിക്കുന്നത്?
വാസ്തവത്തിൽ, അത് ഏത് തരത്തിലുള്ള പരിഹാരമായാലും, കാമ്പ് അനുമതി പ്രശ്നത്തെ ചുറ്റിപ്പറ്റിയാണ്. വെബ് സെർവറുകൾ, പ്രത്യേകിച്ച് Apache അല്ലെങ്കിൽ Nginx പോലുള്ള സെർവറുകൾ, സിസ്റ്റം ഡയറക്ടറികൾ ആക്സസ് ചെയ്യുമ്പോൾ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം കർശനമായി നിയന്ത്രിക്കുന്നു. അനുമതികൾ ക്രമീകരിക്കുന്നതിലൂടെയോ സേവ് പാത്ത് മാറ്റുന്നതിലൂടെയോ നമുക്ക് ഈ നിയന്ത്രണങ്ങൾ എളുപ്പത്തിൽ മറികടക്കാനാകും.
ഡയറക്ടറി അനുമതികൾ പരിഷ്ക്കരിക്കുന്നതിലൂടെ സെർവറിന് എഴുതാൻ കഴിയാത്ത പ്രശ്നം അടിസ്ഥാനപരമായി പരിഹരിക്കാനാകും, എന്നാൽ ചിലപ്പോൾ സുരക്ഷാ കാരണങ്ങളാൽ, കോർ ഫോൾഡറുകളുടെ അനുമതികൾ പരിഷ്ക്കരിക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കില്ല. ഈ സമയത്ത് /tmp/ ഡയറക്ടറികൾ ഒരു മികച്ച ബദലാണ്, വഴക്കമുള്ളതും ലളിതവുമാണ്.
ഒപ്പം അന്തിമ പരിശോധനയും phpMyAdmin കൂടുതൽ സൂക്ഷ്മമായ സിസ്റ്റം-ലെവൽ പ്രശ്നങ്ങൾ ഇല്ലാതാക്കുന്നതിനാണ് കോൺഫിഗറേഷൻ. എല്ലാത്തിനുമുപരി, ചിലപ്പോൾ പ്രശ്നം നമ്മുടെ അധികാരമല്ല;സോഫ്റ്റ്വെയർസ്വന്തം കോൺഫിഗറേഷൻ പരിമിതികൾ.
എൻ്റെ അഭിപ്രായം
അനുമതികളുടെ പ്രശ്നത്തെ സംബന്ധിച്ചിടത്തോളം, ഇത് യഥാർത്ഥത്തിൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൻ്റെയും വെബ്സൈറ്റ് സെർവറിൻ്റെയും സഹകരണ പ്രവർത്തനത്തിൽ അനിവാര്യമായ ഒരു സങ്കീർണ്ണതയാണ്. ഓരോ ഉപയോക്താവിനും പ്രോഗ്രാമിനും പ്രവേശിച്ച് കാര്യങ്ങൾ ചെയ്യണമെങ്കിൽ അവരുടെ ഐഡി കാണിച്ച് അനുമതി നേടേണ്ടതുണ്ട്. ഈ "അനുമതി" അപര്യാപ്തമാകുമ്പോൾ, പ്രശ്നങ്ങൾ ഉണ്ടാകുന്നു.
ഉയർന്ന തലത്തിൽ, അനുമതി പ്രശ്നം ലളിതമായി തോന്നുന്നു, എന്നാൽ ഇത് യഥാർത്ഥത്തിൽ മുഴുവൻ സിസ്റ്റത്തിൻ്റെയും സുരക്ഷയും സ്ഥിരതയും ഉറപ്പാക്കുന്നതിനുള്ള ഒരു പ്രധാന ഭാഗമാണ്. വളരെ ഉയർന്നതോ കുറഞ്ഞതോ ആയ അനുമതികൾ സജ്ജീകരിക്കുന്നത് പ്രശ്നങ്ങൾക്ക് കാരണമായേക്കാം, അത് വളരെ കൂടുതലാണെങ്കിൽ, അത് പ്രോഗ്രാമിൻ്റെ സാധാരണ പ്രവർത്തനത്തെ ബാധിക്കും.
അതിനാൽ, പരിഹരിക്കുക phpMyAdmin അനുമതി പ്രശ്നങ്ങൾ വരുമ്പോൾ, ഞങ്ങൾ "ലക്ഷണങ്ങൾ ചികിത്സിക്കുക" മാത്രമല്ല, "മൂലകാരണത്തെ ചികിത്സിക്കുക" കൂടിയാണ് - സെർവർ കോൺഫിഗറേഷൻ സുരക്ഷിതവും കാര്യക്ഷമവുമാണെന്ന് നിങ്ങൾ ഉറപ്പാക്കേണ്ടതുണ്ട്.
സംഗ്രഹവും പ്രവർത്തന നിർദ്ദേശങ്ങളും
ചുരുക്കത്തിൽ, എപ്പോൾ phpMyAdmin ഫയൽ സംരക്ഷിക്കുന്നതിനുള്ള അനുമതി പ്രശ്നങ്ങൾ നേരിടുമ്പോൾ, നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കാൻ നിരവധി പരിഹാരങ്ങളുണ്ട്:
- ഡയറക്ടറി അനുമതികൾ പരിഷ്ക്കരിക്കുക: ഡയറക്ടറിയിൽ എഴുതാനും അടിസ്ഥാന പ്രശ്നം പരിഹരിക്കാനും സെർവറിന് അനുമതി നൽകുന്നതിനുള്ള ഏറ്റവും നേരിട്ടുള്ള മാർഗമാണിത്.
- 使用
/tmp/ഉള്ളടക്ക പട്ടിക: നിങ്ങൾക്ക് ഡയറക്ടറി അനുമതികൾ പരിഷ്ക്കരിക്കാൻ താൽപ്പര്യമില്ലെങ്കിൽ, നിങ്ങൾക്ക് താൽക്കാലികമായി ഫയൽ സംരക്ഷിക്കാൻ കഴിയും/tmp/, തുടർന്ന് സ്വമേധയാ നീക്കുക. - ഒരു പരീക്ഷ
phpMyAdminകോൺഫിഗറേഷൻ: അനുമതി ക്രമീകരണങ്ങളിൽ ഒരു പ്രശ്നവുമില്ലെങ്കിൽ, അത് ആയിരിക്കാംphpMyAdminനിങ്ങളുടെ സ്വന്തം കോൺഫിഗറേഷൻ മൂലമുണ്ടാകുന്ന പ്രശ്നങ്ങൾ, ഈ സാധ്യത ഇല്ലാതാക്കാൻ കോൺഫിഗറേഷൻ ഫയൽ പരിശോധിക്കുക.
ഓരോ പരിഹാരത്തിനും അതിൻ്റെ പ്രസക്തമായ സാഹചര്യങ്ങളുണ്ട്. ഡയറക്ടറി അനുമതികൾ പരിഷ്ക്കരിക്കാൻ ആദ്യം ശ്രമിക്കണമെന്നാണ് എൻ്റെ നിർദ്ദേശം. സുരക്ഷാ കാരണങ്ങളാൽ നിങ്ങൾക്ക് അനുമതികൾ പരിഷ്കരിക്കാൻ താൽപ്പര്യമില്ലെങ്കിൽ, നിങ്ങൾക്ക് ഉപയോഗിക്കാൻ തിരഞ്ഞെടുക്കാം /tmp/ ഉള്ളടക്ക പട്ടിക. അവസാനമായി, പ്രശ്നം ഇപ്പോഴും പരിഹരിച്ചില്ലെങ്കിൽ, പരിശോധിക്കുക phpMyAdmin കോൺഫിഗറേഷൻ ഫയൽ.
അനുമതി പ്രശ്നങ്ങൾ അവസാനിക്കില്ല, എന്നാൽ പരിഹാരങ്ങൾ വൈവിധ്യപൂർണ്ണമാണ്. ഇപ്പോൾ, നിങ്ങളുടെ സാഹചര്യത്തിനനുസരിച്ച് നിങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യമായ പരിഹാരം തിരഞ്ഞെടുത്ത് ഇപ്പോൾ നടപടിയെടുക്കാം!
ഹോപ്പ് ചെൻ വെയ്ലിയാങ് ബ്ലോഗ് ( https://www.chenweiliang.com/ ) പങ്കിട്ടു "phpMyAdmin വെബ്സൈറ്റ് സെർവറിന് .sql ഫയലുകൾ സംരക്ഷിക്കാൻ അനുമതിയില്ലാത്ത പ്രശ്നം പരിഹരിക്കുന്നത്" നിങ്ങൾക്ക് സഹായകമാകും.
ഈ ലേഖനത്തിന്റെ ലിങ്ക് പങ്കിടാൻ സ്വാഗതം:https://www.chenweiliang.com/cwl-32115.html
