VPN-ൽ SSHFS മൗണ്ട് ഉപയോക്തൃ സെഷന്റേതായിരിക്കണോ?
റൂട്ട് VPN ഹുക്കിന് ഡെസ്ക്ടോപ്പ് ഏജന്റ് കടമെടുക്കാൻ കഴിയില്ല. സൈൻ ഇൻ ചെയ്ത ഉപയോക്താവായി മൗണ്ട് ചെയ്യുക, ട്രിഗർ ഒരു കണക്ഷനിൽ പരിമിതപ്പെടുത്തുക, ബലപ്രയോഗത്തിന് മുമ്പ് അൺമൗണ്ട് ആസൂത്രണം ചെയ്യുക.
VPN വന്നതിന് ശേഷം പങ്കിട്ട ഫോൾഡർ മൗണ്ട് ചെയ്യുന്നതിൽ എളുപ്പം കൂട്ടിക്കലർത്താവുന്ന രണ്ട് ഐഡന്റിറ്റികൾ ഉൾപ്പെടുന്നു: നെറ്റ്വർക്ക് കോൺഫിഗർ ചെയ്യാൻ അനുവാദമുള്ള ഘടകവും ഫയൽ സർവറിൽ ലോഗിൻ ചെയ്യാൻ അനുവാദമുള്ള അക്കൗണ്ടും. അവ അപൂർവ്വമായി ഒന്നുതന്നെയാകുന്നു. റൂട്ടിന്റെ ഉടമസ്ഥതയിലുള്ള VPN ഹുക്ക് ഡെസ്ക്ടോപ്പ് ഉപയോക്താവിന്റെ SSHFS മൗണ്ട് തുടങ്ങാൻ മോശം സ്ഥലമാണ്, കാരണം അതിൽ ഉപയോക്താവിന്റെ ഏജന്റോ ഉദ്ദേശിച്ച മൗണ്ട് ഉടമസ്ഥതയോ ഇല്ല. ഉടമസ്ഥത ആദ്യം ശരിയാക്കിയാൽ ട്രിഗർ ലളിതമാകും.
രണ്ട് ഐഡന്റിറ്റികൾ, രണ്ട് വേറിട്ട അനുമതികൾ
VPN ക്ലയന്റിന് റൂട്ടുകളും ഇന്റർഫേസുകളും മാറ്റാൻ പ്രത്യേകാവകാശങ്ങൾ വേണം. SSHFS മൗണ്ടിന് ഫയൽ സർവർ സ്വീകരിക്കുന്ന SSH ഐഡന്റിറ്റിയും ഫയലുകൾ വായിക്കുന്ന അക്കൗണ്ടിന്റെ ഉടമസ്ഥതയിലുള്ള FUSE മൗണ്ടും വേണം. റൂട്ടായി പ്രവർത്തിക്കുന്ന ഒരു സ്ക്രിപ്റ്റ് ആദ്യ ആവശ്യകത നിറവേറ്റുകയും രണ്ടാമത്തേത് നിശബ്ദമായി തകർക്കുകയും ചെയ്യുന്നു.
റൂട്ടായി മൗണ്ട് ചെയ്യുന്നത് ഫയലുകളെ ഡെസ്ക്ടോപ്പ് സെഷന് പുറത്തും ഒരുപക്ഷേ ഉപയോക്താവിന്റെ കീ കൈവശം വയ്ക്കുന്ന ഏജന്റിലേക്ക് പ്രവേശനമില്ലാതെയും വിടുന്നു. മൗണ്ട് നിലവിലുണ്ട്, ഉപയോക്താവിന് അതിലൂടെ എഴുതാൻ കഴിയില്ല, പരാജയം സർവർ വശത്തെ അനുമതി പ്രശ്നമായി തോന്നുന്നു. ആ തെറ്റായ രോഗനിർണ്ണയം ഒരു ഉച്ചയും സ്റ്റോറേജ് ടീമിന് ഒരു ടിക്കറ്റും നഷ്ടപ്പെടുത്തുന്നു.
ഏതെങ്കിലും ഓട്ടോമേഷൻ എഴുതുന്നതിന് മുമ്പ് ഏത് അക്കൗണ്ടാണ് മൗണ്ടിന്റെ ഉടമയെന്ന് തീരുമാനിക്കുക, കാരണം ആ തിരഞ്ഞെടുപ്പാണ് ട്രിഗർ എവിടെ ജീവിക്കുന്നു, ഏത് ക്രെഡൻഷ്യലുകളിൽ എത്താം എന്ന് നിർണ്ണയിക്കുന്നത്.
ആദ്യം കൈകൊണ്ട് ഉപയോക്തൃ-ഉടമസ്ഥതയിലുള്ള മൗണ്ട് സ്ഥാപിക്കുക
ശൂന്യമായ മൗണ്ട് പോയിന്റ്, അംഗീകൃത SSH അക്കൗണ്ട്, ടണലിലൂടെ സർവറിലേക്കുള്ള പ്രവർത്തിക്കുന്ന പാത എന്നിവയുള്ള സൈൻ ഇൻ ചെയ്ത ഉപയോക്താവിൽ നിന്ന് തുടങ്ങുക. കൈകൊണ്ടുള്ള മൗണ്ട് ഏതെങ്കിലും ഓട്ടോമേഷൻ പുനർനിർമ്മിക്കേണ്ട അടിസ്ഥാനം സ്ഥാപിക്കുന്നു.
mkdir -p "$HOME/mnt/team" sshfs [email protected]:/exports/team "$HOME/mnt/team" mount | grep sshfs
പേരുകൾ ഉദാഹരണങ്ങളാണ്, അതിനാൽ നിങ്ങളുടെ സർവർ യഥാർത്ഥത്തിൽ വാഗ്ദാനം ചെയ്യുന്ന ഹോസ്റ്റും എക്സ്പോർട്ട് പാതയും മാറ്റിസ്ഥാപിക്കുക. ആദ്യ കണക്ഷനിൽ അംഗീകൃത പ്രക്രിയയിലൂടെ ഹോസ്റ്റ് കീ പരിശോധിക്കുക. VPN അക്കൗണ്ട് പാസ്വേഡ് സ്വയമേവ സ്റ്റോറേജ് അക്കൗണ്ടിന്റെ ക്രെഡൻഷ്യലല്ല എന്ന് ശ്രദ്ധിക്കുക, ഇത് പരാജയപ്പെട്ട ശ്രമങ്ങളുടെ സാധാരണ കാരണമാണ്.
ആ ഉപയോക്താവിന്റെ ഉടമസ്ഥതയിലുള്ള മൗണ്ട് പോയിന്റിനൊപ്പം സാധാരണ ഉപയോക്താവായി ഇത് പ്രവർത്തിപ്പിക്കുക. സ്വതവേ മൗണ്ട് ചെയ്യുന്ന അക്കൗണ്ട് മാത്രം ഫയലുകളിൽ എത്തുന്നു, allow_other ആ പരിധി ഓരോ പ്രാദേശിക ഉപയോക്താവിലേക്കും വിപുലീകരിക്കുന്നു. അത് ബോധപൂർവമായ പ്രവേശന വിപുലീകരണമാണ്, ഓട്ടോമേഷനുള്ള ഒരു ബദൽ വഴിയല്ല.
ട്രിഗർ അതേ സെഷൻ സന്ദർഭത്തിൽ പ്രവർത്തിക്കട്ടെ
പിന്തുണയുള്ള VPN ഇവന്റ് ഇന്റഗ്രേഷൻ ഒരു ഉപയോക്തൃ-സെഷൻ പ്രവർത്തനം പ്രവർത്തിപ്പിക്കാൻ ആവശ്യപ്പെടട്ടെ, പ്രത്യേകാവകാശമുള്ള callback-ന് ഡെസ്ക്ടോപ്പ് ക്രെഡൻഷ്യൽ കടമെടുക്കാമെന്ന് അനുമാനിക്കുന്നതിന് പകരം. ട്രിഗർ യാദൃശ്ചികമായി tun0 എന്ന് വിളിക്കപ്പെടുന്ന ഏതെങ്കിലും ഇന്റർഫേസിനല്ല, ഉദ്ദേശിച്ച കണക്ഷൻ ഐഡന്റിഫയറിലേക്ക് പരിമിതപ്പെടുത്തുക. തെറ്റായ കാര്യവുമായി പൊരുത്തപ്പെടുന്ന ഡിസ്പാച്ചർ നിയമം ഈ മൗണ്ടുമായി യാതൊരു ബന്ധവുമില്ലാത്തവ ഉൾപ്പെടെ ഓരോ നെറ്റ്വർക്ക് മാറ്റത്തിലും പ്രവർത്തിക്കുന്നു.
പ്രവർത്തനം പ്രതീക്ഷിച്ച ഹോസ്റ്റ്നാമം സ്ഥിരീകരിക്കുകയും നിലവിലുള്ള മൗണ്ട് ശ്രദ്ധിക്കുകയും ഒരു പരിമിത ശ്രമം നടത്തുകയും വേണം. ഓരോ കുറച്ച് സെക്കൻഡിലും പുതിയ SSHFS പ്രോസസ്സ് ആരംഭിക്കുന്നതോ സർവർ ഓഫായിരിക്കുമ്പോൾ ക്രെഡൻഷ്യൽ അഭ്യർത്ഥന ആവർത്തിക്കുന്നതോ ആയ പോൾ ലൂപ്പ് ഒരു ചെറിയ തടസ്സത്തെ കുടുങ്ങിയ പ്രോസസ്സുകളുടെ കൂമ്പാരമാക്കി മാറ്റുന്നു. ശ്രമം ഒരു ടൈംഔട്ടും ഒരു വീണ്ടും ശ്രമവും കൊണ്ട് പരിമിതപ്പെടുത്തുക.
nmcli -g UUID connection show --active systemctl --user list-units 'sshfs*' pgrep -a sshfs
ആദ്യ കമാൻഡ് ഡിസ്പാച്ചർ പൊരുത്തപ്പെടേണ്ട കണക്ഷൻ ഐഡന്റിഫയർ നൽകുന്നു. ബാക്കിയുള്ള രണ്ടെണ്ണം ഒരു ശ്രമം ഇതിനകം നടക്കുന്നുണ്ടോ എന്ന് കാണിക്കുന്നു, അതാണ് തനിപ്പകർപ്പുകൾ തടയുന്ന പരിശോധന.
മേൽനോട്ടമില്ലാത്ത ഒരു സേവനത്തിന് അതിന്റെ സ്വന്തം എക്സിക്യൂഷൻ സന്ദർഭത്തിൽ സ്വന്തം അംഗീകൃത ക്രെഡൻഷ്യലുകളും സ്വന്തം ഹോസ്റ്റ് പരിശോധനയും വേണം. ഒരു ഗ്രാഫിക്കൽ ഏജന്റ് അൺലോക്ക് ചെയ്തിട്ടുണ്ടെന്ന് അതിന് അനുമാനിക്കാൻ കഴിയില്ല, ഒന്ന് അൺലോക്ക് ചെയ്യാൻ ശ്രമിക്കരുത്.
ബലപ്രയോഗത്തിലുള്ള വൃത്തിയാക്കലിന് മുമ്പ് വിച്ഛേദനം ആസൂത്രണം ചെയ്യുക
ആസൂത്രിത വിച്ഛേദനത്തിന്, ഫയൽ പ്രവർത്തനങ്ങൾ പൂർത്തിയാക്കി മൗണ്ട് ചെയ്യുന്ന ഉപയോക്താവിന്റെ സ്വന്തം വർക്ക്ഫ്ലോയിൽ നിന്ന് അൺമൗണ്ട് ചെയ്യുക. പ്രോസസ്സിനെക്കാൾ മൗണ്ട് പോയിന്റ് ലക്ഷ്യമിടുക, വിജയം റിപ്പോർട്ട് ചെയ്യുന്നതിന് മുമ്പ് ഫലം സ്ഥിരീകരിക്കുക.
fusermount3 -u "$HOME/mnt/team" mountpoint "$HOME/mnt/team"
ഈ വർക്ക്ഫ്ലോ സൃഷ്ടിച്ച മൗണ്ട് മാത്രം അൺമൗണ്ട് ചെയ്യുക. അത് തിരക്കിലാണെങ്കിൽ, അത് ആപ്ലിക്കേഷന്റെ തീരുമാനമാണ്: ഹുക്കിന് വിജയം തിരികെ നൽകാൻ നിലവിലുള്ള ബലപ്രയോഗ വേർപെടുത്തൽ ഡാറ്റാ നഷ്ടം തടയുന്നതിന് പകരം മറയ്ക്കുന്നു.
അപ്രതീക്ഷിത നഷ്ടം വ്യത്യസ്തമായി പ്രവർത്തിക്കുന്നു. നെറ്റ്വർക്ക് തടസ്സം ഒരു ഫയൽസിസ്റ്റം പ്രവർത്തനത്തെ തടയാമെന്ന് SSHFS രേഖപ്പെടുത്തുന്നു, reconnect ഓപ്ഷൻ ഹാൻഡിലുകൾ പുനഃസ്ഥാപിക്കാതെ ട്രാൻസ്പോർട്ട് പുനഃസ്ഥാപിക്കുന്നു: വീണ്ടും കണക്ട് ചെയ്യുന്നതിന് മുമ്പ് തുറന്ന ഒരു ഫയൽ അടുത്ത എഴുത്തിൽ പരാജയപ്പെടാം, തടസ്സപ്പെട്ട എഴുത്ത് സംരക്ഷിക്കപ്പെടുന്നില്ല. ഒരു ഫയൽ മണിക്കൂറുകളോളം തുറന്നിടുന്ന എഡിറ്റർമാർക്ക് ഈ വ്യത്യാസം ഏറ്റവും പ്രധാനമാണ്. വീണ്ടെടുക്കൽ അനുമാനിക്കുന്നതിന് പകരം വീണ്ടും തുറക്കാനുള്ള ഘട്ടം ആസൂത്രണം ചെയ്യുക.
അതിനെ ആശ്രയിക്കുന്നതിന് മുമ്പ് ഉപേക്ഷിക്കാവുന്ന ഫയലുകൾ ഉപയോഗിച്ച് പെരുമാറ്റം പരിശോധിക്കുക. ടണൽ തിരികെ വന്നതിന് ശേഷം വീണ്ടും പ്രത്യക്ഷപ്പെടുന്ന ഡയറക്ടറി മുൻ ഹാൻഡിലുകളോ സംരക്ഷിക്കാത്ത ജോലിയോ അതിജീവിച്ചു എന്ന് തെളിയിക്കുന്നില്ല.