‘ഇത് പിന്നണിയിൽ പ്രവർത്തിപ്പിക്കുക’ എന്ന വാക്യത്തിൽ രണ്ട് ചോദ്യങ്ങൾ ഒളിഞ്ഞിരിക്കുന്നു. ഒന്നാമത്തേത് ഈ ഉപയോക്താവിന് പ്രത്യേക അവകാശമുള്ള പ്രോസസ്സ് തുടങ്ങാനാകുമോ എന്നതാണ്; രണ്ടാമത്തേത് ആരും ടെർമിനലിൽ ടൈപ്പ് ചെയ്യാതെ സെഷൻ തുടരാനാകുമോ എന്നതാണ്. ഷെല്ലിന്റെ ആംപേഴ്സാൻഡ് രണ്ടിനും ഉത്തരം നൽകുന്നില്ല, കൂടാതെ sudo പാസ്വേഡ് ഒരു വേരിയബിളിൽ സൂക്ഷിക്കുന്ന സ്ക്രിപ്റ്റ് ഒന്നാമത്തേതിന് മോശമായി ഉത്തരം നൽകി രണ്ടാമത്തേതിനെ തൊടാതെ വിടുന്നു. അവയെ വേർതിരിക്കുക, എന്നാൽ ഓപ്ഷനുകൾ താരതമ്യം ചെയ്യാൻ എളുപ്പമാകും.

മൂന്ന് സ്ഥാനാർത്ഥികളെ ഉടമസ്ഥതയുടെ അടിസ്ഥാനത്തിൽ താരതമ്യം ചെയ്യുക, സൗകര്യത്തിന്റെ അടിസ്ഥാനത്തിൽ അല്ല.

ടെർമിനൽ വിടാനുള്ള മൂന്ന് വഴികൾ, മൂന്ന് വ്യത്യസ്ത ഉടമകൾ

ഒരു കമാന്റിന് ആംപേഴ്സാൻഡ് ചേർക്കുന്നത് അത് പിന്നണി ജോലിയായി പ്രവർത്തിപ്പിക്കാൻ ഷെല്ലിനോട് ആവശ്യപ്പെടുന്നു, ജോലി ഇപ്പോഴും ആ ഷെല്ലിന്റേതാണ്. പ്രോഗ്രാം തുടങ്ങുന്നതിന് മുമ്പുതന്നെ sudo ചോദിച്ചേക്കാം, കൂടാതെ OpenVPN പിന്നീട് കീ പാസ്ഫ്രേസിനോ ലോഗിനോ ചോദിച്ചേക്കാം. ഇൻപുട്ട് പ്രതീക്ഷിക്കുന്ന കമാന്റ് പിന്നണിയിൽ വയ്ക്കുന്നത് ആരും നോക്കാത്ത ടെർമിനലിനായി കാത്തിരിക്കുന്ന പ്രോസസ്സ് സൃഷ്ടിക്കുന്നു. ടെർമിനൽ സ്വതന്ത്രമാകുന്നു; ഇടപെടൽ അല്ല.

അതാണ് ഏറ്റവും വിലകുറഞ്ഞ ഓപ്ഷനും ഏറ്റവും ആശയക്കുഴപ്പത്തോടെ പരാജയപ്പെടുന്നതും, കാരണം പ്രോംപ്റ്റ് ഓപ്പറേറ്റർ ഇതിനകം വിട്ടുപോയ സ്ഥലത്ത് പ്രത്യക്ഷപ്പെടുന്നു.

sudo -b ഒരു ക്രെഡൻഷ്യൽ ഹാൻഡ്ലറല്ല

sudo -b sudoയുടെ സ്വന്തം വീക്ഷണത്തിൽ നിന്ന് കമാന്റ് പിന്നണിയിൽ പ്രവർത്തിപ്പിക്കുന്നു, അത് കാണാത്ത സവിശേഷതയായി തോന്നാം, പക്ഷേ അല്ല. sudo മാനുവൽ അനുസരിച്ച്, ഇന്ററാക്ടീവ് കമാന്റുകൾ ആ മോഡിൽ സാധാരണയായി മോശമായി പെരുമാറുന്നു, കൂടാതെ ഷെൽ ജോബ് നിയന്ത്രണത്തിന് അത് സൃഷ്ടിക്കുന്ന പ്രോസസ്സുകൾ കൈകാര്യം ചെയ്യാനാകില്ല. ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകാനുള്ള വഴി നൽകാതെ അത് പ്രോസസ്സ് നീക്കുന്നു. അതിൽ ഒന്നും സ്വകാര്യ കീ പാസ്ഫ്രേസോ ഗേറ്റ്വേ ലോഗിനോ നൽകുന്നില്ല.

കണക്ഷന് ഇടപെടൽ ആവശ്യമുണ്ടെങ്കിൽ, പരിഹാരം പിന്തുണയുള്ള ഇന്ററാക്ടീവ് അല്ലാത്ത പ്രമാണീകരണ ക്രമീകരണമാണ്, അതേ പ്രോംപ്റ്റ് തുടങ്ങാനുള്ള മറ്റൊരു വഴിയല്ല.

--daemon പ്രോഗ്രാം മാറ്റുന്നു, ലോഗിൻ അല്ല

--daemon ഇനീഷ്യലൈസേഷന് ശേഷം വേർപെടാൻ OpenVPNയോട് തന്നെ ആവശ്യപ്പെടുന്നു. 2.6 മാനുവൽ syslog റീഡയറക്ഷൻ ഓപ്ഷൻ പാഴ്സ് ചെയ്യുമ്പോൾത്തന്നെ സംഭവിക്കുന്നു എന്ന് പറയുന്നു, എന്നാൽ വേർപെടൽ പിന്നീട് സംഭവിക്കുന്നു, അതിനാൽ സന്ദേശങ്ങൾ പ്രതീക്ഷിച്ചതിനേക്കാൾ നേരത്തെ ടെർമിനലിൽ പ്രത്യക്ഷപ്പെടുന്നത് നിർത്തിയേക്കാം. ആ ഘട്ടത്തിന് ശേഷമുള്ള നിശബ്ദത ടണലിനെക്കുറിച്ച് ഒന്നും തെളിയിക്കുന്നില്ല. വ്യക്തമായ --log അല്ലെങ്കിൽ --log-append ചേർക്കുക, അതുവഴി ഔട്ട്പുട്ട് നിങ്ങൾക്ക് വായിക്കാനാകുന്ന ഇടത്ത് എത്തും.

ഡീമൺ മോഡ് കൺസോളും ശാശ്വതമായി നീക്കം ചെയ്യുന്നു. സംരക്ഷിത സ്വകാര്യ കീയ്ക്ക് ആ മോഡിൽ askpass ആവശ്യമാണ്, കൂടാതെ കൺസോളിൽ നൽകിയ ക്രെഡൻഷ്യലുകൾ കാഷിംഗ് ഓപ്ഷനുകളുമായി ചേരുമ്പോൾ പിന്നീടുള്ള വീണ്ടും പ്രമാണീകരണത്തിന് ചോദിക്കാൻ ഇടമില്ലാതെ വിട്ടേക്കാം. പിന്നണി തുടക്കം അതിന്റെ ആദ്യ കീ പുതുക്കൽ അതിജീവിക്കുമെന്ന് കരുതുന്നതിന് മുമ്പ് ഇൻസ്റ്റാൾ ചെയ്ത പതിപ്പിനെതിരെ പ്രമാണീകരണ മാതൃക പരിശോധിക്കുക.

sudo സ്ഥിരീകരണം എന്ത് നൽകുന്നു, എന്ത് നൽകുന്നില്ല

sudo -v കാഷ് ചെയ്ത പ്രാദേശിക ക്രെഡൻഷ്യൽ സാധൂകരിക്കുകയോ പുതുക്കുകയോ ചെയ്യുന്നു, നയം ആവശ്യപ്പെട്ടാൽ പ്രമാണീകരിക്കുന്നു. അത് OpenVPN തുടങ്ങുന്നില്ല, ഗേറ്റ്വേയുമായി പ്രമാണീകരിക്കുന്നില്ല, സ്ക്രിപ്റ്റിലെ പിന്നീടുള്ള കമാന്റ് അനുവദിക്കപ്പെടുമെന്ന് ഉറപ്പും നൽകുന്നില്ല. sudo -n വിപരീതമാണ് അർത്ഥമാക്കുന്നത്: ചോദിക്കരുത്, പരാജയപ്പെടുക. അത് പ്രാദേശിക അനുമതി പരാജയം വ്യക്തമാക്കുന്നു, അത് ഉപകാരപ്രദമാണ്, കൂടാതെ OpenVPN പിന്നീട് എന്ത് ചോദിക്കുമെന്നതിനെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല.

ഈ ഓപ്ഷനുകളിൽ ഒന്നും എല്ലാവർക്കും പാസ്വേഡില്ലാത്ത കമാന്റുകൾ നൽകാനോ അഡ്മിനിസ്ട്രേറ്റർ പാസ്വേഡ് ഒരു സ്ക്രിപ്റ്റിലേക്ക് കൈമാറാനോ കാരണമല്ല.

നിരീക്ഷിക്കാൻ കഴിയുന്ന ഉടമയ്ക്ക് മുൻഗണന നൽകുക

യന്ത്രത്തിന്റെ ഉടമസ്ഥതയിലുള്ള ടണലിന്, വിതരണം പിന്തുണയ്ക്കുന്ന സേവന ഇൻസ്റ്റൻസ് ഉപയോഗിക്കുക. അത്തരം ഉടമ തുടക്കം, നിർത്തൽ, സ്ഥിതി, ലോഗുകൾ എന്നിവ നൽകുന്നു, നിങ്ങളുടെ സെഷൻ അവസാനിച്ചാലും അത് നിലനിൽക്കുന്നു. ഷെൽ പിന്നണി പ്രവർത്തനം, ഡീമണൈസേഷൻ, റീസ്റ്റാർട്ട് ലൂപ്പ് എന്നിവ പരസ്പരം ചുറ്റും കൂട്ടിച്ചേർക്കുന്നത് ഒരു ടണലിന് മൂന്ന് ഉടമകളെ സൃഷ്ടിക്കുന്നു, ഏതാണ് പ്രവർത്തിക്കുന്നതെന്ന് വ്യക്തമായ ഉത്തരവുമില്ല.

എന്ത് തിരഞ്ഞെടുത്താലും, ടണൽ ഏത് വിഭവത്തിനായി നിലനിൽക്കുന്നുവോ അത് പരിശോധിക്കുക. വിജയകരമായ തുടക്ക അഭ്യർത്ഥന ഒരു പ്രോസസ്സ് സംഭവമാണ്, പ്രവർത്തിക്കുന്ന കണക്ഷന്റെ തെളിവല്ല.

അനുബന്ധ ലേഖനങ്ങൾ