സുഡോ ഉപയോക്താക്കൾക്കുള്ള 'സു' ആക്സസ് എങ്ങനെ പ്രവർത്തനരഹിതമാക്കാം


മറ്റൊരു ഉപയോക്താവായും ഗ്രൂപ്പായും ഒരു കമാൻഡ് പ്രവർത്തിപ്പിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു പ്രത്യേക ലിനക്സ് കമാൻഡ് ആണ് su കമാൻഡ്. റൂട്ട് അക്കൗണ്ടിലേക്കോ (ആർഗ്യുമെന്റുകളില്ലാതെ പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ) അല്ലെങ്കിൽ മറ്റൊരു നിർദ്ദിഷ്ട ഉപയോക്തൃ അക്കൗണ്ടിലേക്കോ മാറാനും ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.

സ്ഥിരസ്ഥിതിയായി എല്ലാ ഉപയോക്താക്കൾക്കും su കമാൻഡ് ആക്സസ് ചെയ്യാൻ അനുവാദമുണ്ട്. എന്നാൽ ഒരു സിസ്റ്റം അഡ്uമിനിസ്uട്രേറ്റർ എന്ന നിലയിൽ, ചുവടെ വിശദീകരിച്ചിരിക്കുന്നതുപോലെ sudoers ഫയൽ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു ഉപയോക്താവിനോ അല്ലെങ്കിൽ ഉപയോക്താക്കൾക്കോ വേണ്ടി su ആക്uസസ് അപ്രാപ്uതമാക്കാം.

ഒരു ഉപയോക്താവിന്റെ സുഡോ പ്രത്യേകാവകാശങ്ങൾ നിർണ്ണയിക്കുന്ന സുഡോ സെക്യൂരിറ്റി പോളിസി പ്ലഗിൻ sudoers ഫയൽ ഡ്രൈവ് ചെയ്യുന്നു. sudo കമാൻഡ് ഉപയോക്താക്കളെ മറ്റൊരു ഉപയോക്താവിന്റെ സുരക്ഷാ പ്രത്യേകാവകാശങ്ങളോടെ പ്രോഗ്രാമുകൾ പ്രവർത്തിപ്പിക്കാൻ അനുവദിക്കുന്നു (സ്വതവേ, റൂട്ട് ഉപയോക്താവായി).

മറ്റൊരു ഉപയോക്തൃ അക്കൗണ്ടിലേക്ക് മാറുന്നതിന്, ഒരു ഉപയോക്താവിന് അവരുടെ നിലവിലെ ലോഗിൻ സെഷനിൽ നിന്ന് കാണിച്ചിരിക്കുന്നതുപോലെ su കമാൻഡ് പ്രവർത്തിപ്പിക്കാൻ കഴിയും. ഈ ഉദാഹരണത്തിൽ, aaronk എന്ന ഉപയോക്താവ് ടെസ്റ്റ് യൂസർ അക്കൗണ്ടിലേക്ക് മാറുകയാണ്. ടെസ്റ്റ് യൂസർ അക്കൗണ്ടിന്റെ പാസ്uവേഡ് നൽകാൻ aaronk എന്ന ഉപയോക്താവിനോട് ആവശ്യപ്പെടും:

$ su testuser

റൂട്ട് അക്കൗണ്ടിലേക്ക് മാറുന്നതിന്, ഒരു ഉപയോക്താവിന് റൂട്ട് പാസ്uവേഡ് ഉണ്ടായിരിക്കണം അല്ലെങ്കിൽ sudo കമാൻഡ് അഭ്യർത്ഥിക്കുന്നതിനുള്ള പ്രത്യേകാവകാശങ്ങൾ ഉണ്ടായിരിക്കണം. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, sudoers ഫയലിൽ ഉപയോക്താവ് ഉണ്ടായിരിക്കണം. ഈ ഉദാഹരണത്തിൽ, aaronk എന്ന ഉപയോക്താവ് (ഒരു സുഡോ ഉപയോക്താവ്) റൂട്ട് അക്കൗണ്ടിലേക്ക് മാറുന്നു.

സുഡോ അഭ്യർത്ഥിച്ചതിന് ശേഷം, aaronk എന്ന ഉപയോക്താവിനോട് അവന്റെ അല്ലെങ്കിൽ അവളുടെ പാസ്uവേഡ് നൽകാൻ ആവശ്യപ്പെടുന്നു, അത് സാധുതയുള്ളതാണെങ്കിൽ, ഉപയോക്താവിന് ഒരു ഇന്ററാക്ടീവ് ഷെല്ലിലേക്ക് റൂട്ട് ആയി ആക്uസസ്സ് അനുവദിക്കും:

$ sudo su

ഒരു സുഡോ ഉപയോക്താവിനുള്ള സു ആക്സസ് അപ്രാപ്തമാക്കുക

ഒരു സുഡോ ഉപയോക്താവിനുള്ള su ആക്uസസ് അപ്രാപ്uതമാക്കുന്നതിന്, ഉദാഹരണത്തിന് മുകളിലുള്ള aaronk ഉപയോക്താവ്, ആദ്യം, /etc/sudoers-ൽ സ്ഥിതിചെയ്യുന്ന യഥാർത്ഥ sudoers ഫയൽ ഇനിപ്പറയുന്ന രീതിയിൽ ബാക്കപ്പ് ചെയ്യുക:

$ sudo cp /etc/sudoers /etc/sudoers.bak

തുടർന്ന് താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് sudoers ഫയൽ തുറക്കുക. sudoers ഫയൽ കൈകൊണ്ട് എഡിറ്റ് ചെയ്യാൻ ശുപാർശ ചെയ്യുന്നില്ല എന്നത് ശ്രദ്ധിക്കുക, എല്ലായ്പ്പോഴും visudo കമാൻഡ് ഉപയോഗിക്കുക:

 
$ sudo visudo

കമാൻഡ് അപരനാമങ്ങളുടെ വിഭാഗത്തിന് കീഴിൽ, ഇനിപ്പറയുന്ന അപരനാമം സൃഷ്ടിക്കുക:

Cmnd_Alias DISABLE_SU = /bin/su

ഫയലിന്റെ അവസാനം ഇനിപ്പറയുന്ന വരി ചേർക്കുക, നിങ്ങൾ ആക്സസ് അപ്രാപ്തമാക്കാൻ ആഗ്രഹിക്കുന്ന ഉപയോക്താവിനെ ഉപയോഗിച്ച് aaronk എന്ന ഉപയോക്തൃനാമം മാറ്റിസ്ഥാപിക്കുക:

aaronk ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU

ഫയൽ സംരക്ഷിച്ച് അത് അടയ്ക്കുക.

തുടർന്ന്, സജ്ജീകരണം ഇനിപ്പറയുന്ന രീതിയിൽ പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കാൻ പരിശോധിക്കുക. സിസ്റ്റം ഇതുപോലുള്ള ഒരു പിശക് സന്ദേശം നൽകണം: \ക്ഷമിക്കണം, tecmint-ൽ റൂട്ട് ആയി ‘/bin/su’ എക്സിക്യൂട്ട് ചെയ്യാൻ aaronk എന്ന ഉപയോക്താവിനെ അനുവദിച്ചിട്ടില്ല.”.

$ sudo su

ഒരു കൂട്ടം സുഡോ ഉപയോക്താക്കൾക്കുള്ള സു ആക്സസ് അപ്രാപ്തമാക്കുക

ഒരു കൂട്ടം സുഡോ ഉപയോക്താക്കൾക്കായി നിങ്ങൾക്ക് സു ആക്സസ് അപ്രാപ്തമാക്കാനും കഴിയും. ഉദാഹരണത്തിന്, ഗ്രൂപ്പ് അഡ്മിനിലെ എല്ലാ ഉപയോക്താക്കൾക്കും സു ആക്സസ് അപ്രാപ്തമാക്കുന്നതിന്, ലൈൻ പരിഷ്ക്കരിക്കുക:

%admin ALL=(ALL) ALL

ഇതിന്:

%admin ALL=(ALL) ALL, !DISABLE_SU

ഫയൽ സംരക്ഷിച്ച് അത് അടയ്ക്കുക.

അഡ്മിൻ ഗ്രൂപ്പിലേക്ക് ഒരു ഉപയോക്താവിനെ ചേർക്കുന്നതിന്, usermod കമാൻഡ് പ്രവർത്തിപ്പിക്കുക (യഥാർത്ഥ ഉപയോക്താവ് ഉപയോഗിച്ച് ഉപയോക്തൃനാമം മാറ്റിസ്ഥാപിക്കുക):

$ sudo usermod -aG  admin  username

su, sudo, sudoers എന്നിവയെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, അവരുടെ മാൻ പേജുകൾ പരിശോധിക്കുക:

$ man su
$ man sudo
$ man sudoers