VPN ബട്ടണിന് sudo വേണം: നിയമത്തിന്റെ പരിധി നിശ്ചയിക്കുക, നയം പരിശോധിക്കുക
ഡെസ്ക്ടോപ്പിലെ ബട്ടൺ പാസ്വേഡ് ഇല്ലാത്ത root ന്റെ കാരണമല്ല. നെറ്റ്വർക്ക് മാനേജർക്ക് ഇത് സ്വയം ചെയ്യാനാകുമോ എന്ന് പരിശോധിക്കുക, ഒരു കമാൻഡിന് പരിധി നിശ്ചയിക്കുക, പിന്നീട് മുഴുവൻ sudo നയവും പരിശോധിക്കുക.
VPN ബട്ടൺ അഡ്മിനിസ്ട്രേറ്റർക്ക് പ്രവർത്തിക്കുന്നു, മറ്റെല്ലാവർക്കും പരാജയപ്പെടുന്നു, അതിനാൽ ആരോ sudoers-ൽ ഒരു വരി ചേർക്കുന്നു. ആ വരി സാധാരണയായി പരിഹരിക്കേണ്ട പ്രശ്നത്തേക്കാൾ കൂടുതൽ കാലം നിലനിൽക്കുന്നു, ബട്ടണിന് ആവശ്യമുള്ളതിലധികം അനുമതി നൽകുന്നു. നയം തിരുത്തുന്നതിന് മുൻപ് പിന്തുണയുള്ള കണക്ഷൻ ഉടമയ്ക്ക് ഈ ജോലി ഇതിനകം ചെയ്യാനാകുമോ എന്ന് പരിശോധിക്കുക. താഴെയുള്ള മൂന്ന് വ്യവസ്ഥകൾ sudo ഉൾപ്പെടുന്നുണ്ടോ എന്ന് തീരുമാനിക്കുന്നു.
വ്യവസ്ഥ 1: പിന്തുണയുള്ള ഉടമയ്ക്ക് sudo ഇല്ലാതെ ഇത് ചെയ്യാനാകും
മിക്ക Linux ഡെസ്ക്ടോപ്പുകളിലും നെറ്റ്വർക്ക് മാനേജർ ഇതിനകം VPN കണക്ഷനുകളുടെ ഉടമയാണ്, അതിന്റെ അംഗീകാരം sudo യിലൂടെയല്ല, polkit ലൂടെയാണ് പോകുന്നത്. കണക്ഷൻ ഉയർത്താൻ അനുമതിയുള്ള ഉപയോക്താവിന് ഒരു root നിയമവും ഇല്ലാതെ കമാൻഡ് ലൈനിൽ നിന്ന് ഇത് ചെയ്യാനാകും. ബട്ടണിന് പ്രത്യേകാവകാശം വേണമെന്ന് കരുതുന്നതിന് മുൻപ് മാനേജർ എന്ത് അനുവദിക്കുന്നു എന്ന് പരിശോധിക്കുക. ഉത്തരം അതെയാണെങ്കിൽ, sudoers മാറ്റം ഇല്ലാത്ത ഒരു പ്രശ്നം പരിഹരിക്കുകയാണ്.
nmcli connection show
nmcli connection up "Work VPN"
മാനേജർ വിസമ്മതിച്ചാൽ കാരണം വായിക്കുക: കാണാത്ത polkit നിയമം, മറ്റൊരു ഉപയോക്താവിന്റെ ഉടമസ്ഥതയിലുള്ള കണക്ഷൻ അല്ലെങ്കിൽ ഉപയോക്താവിന് വായിക്കാനാകാത്ത സ്ഥലത്ത് സൂക്ഷിച്ച പ്രൊഫൈൽ. ഇവയിൽ ഓരോന്നിനും sudo നിയമത്തേക്കാൾ ഇടുങ്ങിയ പിന്തുണയുള്ള പരിഹാരമുണ്ട്. പ്രത്യേകാവകാശം ഉയർത്തുന്നത് അവസാന മാർഗമാണ്, ആദ്യത്തേതല്ല.
വ്യവസ്ഥ 2: നിയമം ഒരു എക്സിക്യൂട്ടബിളും അതിന്റെ ആർഗ്യുമെന്റുകളും പേരിടുന്നു
sudo യഥാർത്ഥത്തിൽ ആവശ്യമെങ്കിൽ, നിയമം കൃത്യമായ കമാൻഡും സാധ്യമെങ്കിൽ അത് ഉപയോഗിക്കാവുന്ന ആർഗ്യുമെന്റുകളും പേരിടണം. ഒരു റാപ്പർ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കാൻ ഉപയോക്താവിനെ അനുവദിക്കുന്ന നിയമം ആ സ്ക്രിപ്റ്റിന്റെ അനുമതികളോളം മാത്രമേ സുരക്ഷിതമാകൂ, കാരണം root എന്ത് പ്രവർത്തിപ്പിക്കും എന്ന് ഉപയോക്താവിന് തിരുത്താനാകും. കമാൻഡിന് ശേഷം വൈൽഡ്കാർഡ് ഉള്ള നിയമം അതേ പ്രശ്നത്തിന്റെ ചെറിയ രൂപമാണ്.
sudo -l -U alice
ls -l /usr/local/sbin/vpn-up
കമാൻഡ് ശൃംഖലയിലെ ഓരോ പാതയും പരിശോധിക്കുക: ബൈനറി, അത് വിളിക്കുന്ന സ്ക്രിപ്റ്റ്, അത് വായിക്കുന്ന കോൺഫിഗറേഷൻ ഫയൽ, അവയ്ക്കിടയിലുള്ള ഏത് ഡയറക്ടറിയും. ഇവയിൽ ഏതെങ്കിലും ഉപയോക്താവിന് എഴുതാനാകുമെങ്കിൽ, പരിമിതപ്പെടുത്തിയ നിയമം പ്രായോഗികമായി അപരിമിതമായ root ആണ്. ആർഗ്യുമെന്റുകളും പ്രധാനമാണ്, കാരണം കോൺഫിഗ് പാത സ്വീകരിക്കുന്ന കമാൻഡിനെ ഉപയോക്താവ് നിയന്ത്രിക്കുന്ന ഫയലിലേക്ക് തിരിച്ചുവിടാം. നിയമം ബട്ടണിനല്ല, പ്രവർത്തനത്തിന് എഴുതുക.
കമാൻഡിന് പ്രവർത്തിക്കാൻ ഉപയോക്താവ് നിയന്ത്രിക്കുന്ന ഫയൽ വേണമെങ്കിൽ നിർത്തുക. അപ്പോൾ രൂപകൽപ്പന തെറ്റാണ്, ഏത് sudoers സിന്റാക്സും അതിനെ സുരക്ഷിതമാക്കില്ല.
വ്യവസ്ഥ 3: മുഴുവൻ നയവും പാഴ്സ് ചെയ്യുന്നു, നിങ്ങളുടെ വരി മാത്രമല്ല
ഫയൽ ലോക്ക് ചെയ്ത് സിന്റാക്സ് പരിശോധിക്കുന്ന എഡിറ്റർ ഉപയോഗിച്ച് പരിശോധിക്കുക, കഷണമല്ല, കൂട്ടിച്ചേർത്ത നയം പരിശോധിക്കുക. സ്വയം പാഴ്സ് ചെയ്യുന്ന ഫയലിനും ഉൾപ്പെടുത്തൽ ക്രമം തകർക്കാം, പെരുമാറ്റം മാറ്റുന്ന രീതിയിൽ നിയമം ആവർത്തിക്കാം.visudo കൈപ്പുസ്തകം ഇവിടെ ഉപയോഗിക്കുന്ന ലോക്കിംഗ് എഡിറ്ററും പരിശോധന-മാത്രം മോഡും രേഖപ്പെടുത്തുന്നു.
sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher
പരിശോധന പരാജയപ്പെടുമ്പോൾ ഫയലും വരിയും റിപ്പോർട്ട് ചെയ്യുന്നു, ആ റിപ്പോർട്ടാണ് ഉപയോഗപ്രദമായ ഭാഗം. അറിയപ്പെടുന്ന പിശക് ബലമായി സേവ് ചെയ്യുന്നതിന് പകരം എഡിറ്റർ വഴി ഉദ്ദേശിച്ച മാറ്റം നന്നാക്കുക, കാരണം തകർന്ന നയം എല്ലാ അഡ്മിനിസ്ട്രേറ്റർമാരെയും ഒരുമിച്ച് പുറത്താക്കാം. ഉൾപ്പെടുത്തൽ ഡയറക്ടറിയിലെ ഫയലുകൾക്കും കൈപ്പുസ്തകം ആവശ്യപ്പെടുന്ന ഉടമസ്ഥതയും മോഡും വേണം, അല്ലാത്തപക്ഷം അവ അവഗണിക്കപ്പെടും അല്ലെങ്കിൽ നിരസിക്കപ്പെടും. സിന്റാക്സ് ആദ്യത്തെ കവാടം മാത്രമാണ്: അത് കടന്നതിന് ശേഷം നിയമം വീണ്ടും വായിച്ച് അത് യഥാർത്ഥത്തിൽ എന്ത് അനുവദിക്കുന്നു എന്ന് ചോദിക്കുക.
മാറ്റം പ്രവർത്തിക്കാനുള്ള ഏക മാർഗം സിന്റാക്സ് പരിശോധന ഓഫ് ചെയ്യുകയാണെങ്കിൽ നിർത്തുക. അത് നയമല്ല, റീബൂട്ടിനായി കാത്തിരിക്കുന്ന തടസ്സമാണ്.
വീണ്ടെടുക്കൽ: ഇപ്പോഴും പ്രവർത്തിക്കുന്ന ഒരു സെഷൻ നിലനിർത്തുക
സേവ് ചെയ്യുന്നതിന് മുൻപ് അധികാരമുള്ള ഒരു അഡ്മിനിസ്ട്രേറ്റീവ് സെഷൻ ഇതിനകം തുറന്നിട്ടുണ്ടെന്നും യന്ത്രത്തിലേക്ക് രണ്ടാമതൊരു വഴി ഉണ്ടെന്നും ഉറപ്പാക്കുക. sudoers പിശക് അത് നന്നാക്കാനുള്ള കഴിവ് നിങ്ങൾക്ക് നഷ്ടപ്പെടുത്താം, ഡെസ്ക്ടോപ്പിലെ ബട്ടൺ ആ അപായത്തിന് അർഹമല്ല. sudo ഇതിനകം തകർന്നിട്ടുണ്ടെങ്കിൽ സ്വന്തമായി ഉണ്ടാക്കുന്നതിന് പകരം സിസ്റ്റത്തിന്റെ രേഖപ്പെടുത്തിയ വീണ്ടെടുക്കൽ വഴി ഉപയോഗിക്കുക.
sudo -n true
id
pkexec പോലുള്ള ബദലുകൾ അവയുടെ സ്ഥാപനത്തെയും നയത്തെയും ആശ്രയിക്കുന്നു, അതിനാൽ അവ ഉറപ്പുള്ള രണ്ടാമത്തെ root പ്രോംപ്റ്റല്ല. പ്രാദേശിക അംഗീകാരം VPN രഹസ്യം നൽകുന്നതിൽ നിന്നും വേർതിരിച്ച് സൂക്ഷിക്കുക: sudo നിയമത്തിന് ഇല്ലാത്ത ഒരു സീക്രട്ട് ഏജന്റ് തുറക്കാനാകില്ല, ഗേറ്റ്വേയുടെ MFA യും അത് പാലിക്കില്ല. തിരുത്തലിന് ശേഷം സാധാരണ അക്കൗണ്ട് ഉദ്ദേശിച്ച പ്രവർത്തനം മാത്രം ചെയ്യുന്നത് പരീക്ഷിക്കുക, പിന്നീട് മാനേജറുടെ സാധാരണ നിയന്ത്രണങ്ങൾ ഉപയോഗിക്കുക.
ഏത് വ്യവസ്ഥ sudo യെ ന്യായീകരിച്ചു, നിയമം എന്ത് പേരിടുന്നു, മുഴുവൻ നയവും പാഴ്സ് ചെയ്യുന്നു, ഇല്ലെങ്കിൽ നിങ്ങൾ എങ്ങനെ വീണ്ടെടുക്കും എന്ന് പറയാനാകുമ്പോൾ തീരുമാനം അവസാനിക്കുന്നു. അഡ്മിനിസ്ട്രേറ്റീവ് പ്രവേശനം നഷ്ടപ്പെടുത്തുന്ന പ്രത്യേകാവകാശ ലോഞ്ചർ മോശം കച്ചവടമാണ്, സാധാരണയായി അത് ഒഴിവാക്കാനാകും.