සුඩෝර්ස් ගොනුව, පරිශීලකයා සඳහා NOPASSWD සක්‍රීය කරන්න, සියලු විධාන


165

පෙරවදන

මෙය සුදෝර්ස් ගොනුව හා පොදුවේ සුඩෝ විධානය සම්බන්ධ තරමක් සංකීර්ණ ප්‍රශ්නයකි.

සටහන: උබුන්ටු ඩෙස්ක්ටොප් 13.04 ධාවනය වන විශේෂිත යන්ත්‍රයක් මත මම මෙම වෙනස්කම් සිදු කර ඇති අතර එය ඉගෙනීමේ අරමුණු සඳහා පමණක් භාවිතා කරමි. NOPASSWD sudo සක්‍රීය කිරීම විශාල ආරක්ෂක අවදානමක් බව මට වැටහී ඇත.

ප්‍රශ්නය

මුලදී, සුඩෝර්ස් ගොනුවට (/ etc / sudoers) මගේ එකම වෙනස වූයේ එක් පේළියකි, මුරපදයක් ඇතුළත් නොකර සුඩෝ සමඟ සියලු විධානයන් ක්‍රියාත්මක කිරීමට 'නිකල්සන්ජ්ෆ්' සක්‍රීය කළ යුතුව තිබූ පරිශීලක පිරිවිතරයකි ('නිකල්සන්ජ්ෆ් සමඟ ආරම්භ වන රේඛාව බලන්න '):

# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
nicholsonjf    ALL=NOPASSWD: ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

කෙසේ වෙතත්, මෙය ක්‍රියාත්මක නොවූ අතර, මම 'නිකල්සන්ජ්ෆ්' ලෙස විධානයක් ක්‍රියාත්මක කරන සෑම අවස්ථාවකම මගේ මුරපදය ඉල්ලා සිටියෙමි. මට සුඩෝ සහ පරිපාලක කණ්ඩායම් වලින් 'නිකල්සොන්ජ්' ඉවත් කළ පසු පමණක් සුඩෝ විධාන 'නිකල්සන්ජ්ෆ්' ලෙස ආරම්භ කිරීමට හැකි විය.

මෙය ක්‍රියාත්මක වූයේ මන්දැයි කිසිවෙකුට පැහැදිලි කළ හැකිද?

'නිකල්සන්ජ්ෆ්' පරිශීලකයා 'පරිපාලක' සහ 'සුඩෝ' යන කණ්ඩායම් පිරිවිතර දෙකෙන් සුඩෝ අයිතිවාසිකම් උරුම කර ගෙන ඇති නිසාද? වින්‍යාස ගොනුව?


8
සටහන: ALL = NOPASSWD: සියල්ලම ALL = (ALL) විය යුතුය NOPASSWD: සියල්ල හෝ එය ක්‍රියා නොකරයි ...
André Verwijs


Answers:


191

ඔබ එකතු කළ රේඛාව අභිබවා ගියේය. සිට man sudoers:

පරිශීලකයෙකු සඳහා බහු ඇතුළත් කිරීම් ගැලපෙන විට, ඒවා පිළිවෙලට යොදනු ලැබේ. බහුවිධ තරඟ ඇති තැන, අවසාන තරගය භාවිතා කරනු ලැබේ (එය අනිවාර්යයෙන්ම වඩාත්ම නිශ්චිත ගැලපීම නොවේ).

ඔබේ නඩුවේ nicholsonjfකණ්ඩායමේ සාමාජිකයෙකු වූ sudoනිසා ඔහුට මෙම රේඛාව අදාළ විය:

%sudo   ALL=(ALL:ALL) ALL

ඔබට ඇතුළත් කිරීම් අභිබවා යාමට අවශ්‍ය නම් /etc/sudoersනව ඇතුළත් කිරීම් ඒවායින් පසුව තබන්න.

නව ප්‍රවේශය පෙනිය යුතුය

myuser ALL=(ALL) NOPASSWD: ALL තනි පරිශීලකයෙකු සඳහා, හෝ

%sudo ALL=(ALL) NOPASSWD: ALL කණ්ඩායමක් සඳහා.


7
සම්පූර්ණ විසඳුමක් NOPASSWDසඳහා මෙම පිළිතුරෙන් යමක් දැකීමට මා කැමතිය ...
ඩැනියෙල් ඇල්ඩර්

23
මම හිතන්නේ, විසඳුම විය යුත්තේ:%sudo ALL=(ALL) NOPASSWD:ALL
ඩැනියෙල් ඇල්ඩර්

4
An ඩැනියෙල් ඇල්ඩර්: ප්‍රශ්නයේ පිරිවිතර රේඛාව nicholsonjf ALL=NOPASSWD: ALLනිවැරදි ය. මම පිළිතුරෙහි පැහැදිලි කළ පරිදි එය වැරදි ස්ථානයක විය. ------ Runasපිරිවිතර - ඔබේ නඩුවේදී (ALL)- අත්‍යවශ්‍ය නොවේ. ඔබ පිරිවිතර පළමුෙවන් නම් ඔබ වැනි විධානයන් ක්රියාත්මක කළ හැකි rootසහ ඔබ භාවිතා කළ නොහැකි -uසහ -gවිකල්ප sudo.
pabouk

බහු පරිශීලකයින්ට මුරපද රහිත ප්‍රවේශය ලබා දෙන බැවින් මෙය වඩාත් නරක ආරක්ෂක අවදානමකි. එය ඔබේ පුද්ගලික පරිගණකය නම් එය වැදගත් නොවේ - සමහර විට. මම පෞද්ගලික රේඛාව ඉදිරියට ගෙනයන්නම්.
මාර්ක් විලියම්ස්

6
නිවැරදි කිරීම වෙනුවට එකතු කිරීමක්, ඩෙබියන් / උබුන්ටු පදනම් කරගත් යමක් භාවිතා කරන්නේ නම් (සාමාන්‍යයෙන් එය යෙදිය හැකිය, එය වෙනත් තැනක නොපෙනේ) ඔබේ පරම හොඳම පුහුණුව වන්නේ /etc/sudoers.d/ හි ගොනුවකට අභිරුචි විධාන එකතු කර සුඩෝරයන් තබන්න. පැකේජ කළමනාකරු විසින්ම කළමනාකරණය කළ යුතුය.
Aquarion

127

තනි පරිශීලකයෙකු සඳහා, ඔබගේ sudoersගොනුව අවසානයේ මෙම රේඛාව එක් කරන්නsudo visudo

superuser ALL=(ALL) NOPASSWD: ALL

කණ්ඩායමක් සඳහා

%supergroup  ALL=(ALL) NOPASSWD: ALL

8
මෙම පිළිතුර කියවීමට පෙර මා කළ %sudo ALL=NOPASSWD: ALLඅතර එය ක්‍රියාත්මක වේ. විස්තාරිත බැකස්-නා ur ර් ආකෘතිය තේරුම් ගැනීමට අපහසු එකම පුද්ගලයා මමද?
වින්ස්

4
Ince වින්ස් ඔබේ විධානය භාවිතා කරන විට මට සුඩෝ sudoවරප්‍රසාද නොමැතිව පරිශීලකයෙකු ලෙස මුරපදය නොමැතිව කළ නොහැක . උදා: sudo -u root -iනමුත් sudo -u git -iක්‍රියා නොකරයි.
NeverEndingQueue

මෙය පිළිගත් ඒවාට වඩා සැලකිය යුතු තරම් ප්‍රයෝජනවත් පිළිතුරක් වන අතර, එය OP හි ප්‍රශ්නයට පිළිතුරු සපයන අතර බොහෝ විට ගූගල් සොයන බොහෝ දෙනා මෙම පිටුවට ළඟා වන්නේ නැත.
මහමුද් අල්-කුඩ්සි

1
අතර පවතින අවකාශය දමා NOPASSWD:හා ALLමගේ ස්ථාපනය hosed. එය විය යුතුයිsuperuser ALL=(ALL) NOPASSWD:ALL
මාක්

10

sudoමෙම විධානය ක්‍රියාත්මක කිරීමේදී එම පරිශීලකයා මුරපදයක් ඉල්ලා නොසිටීම:

echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dont-prompt-$USER-for-password

මෙය නමින් ගොනුවක් සාදනු ඇති /etc/sudoers.d/dont-prompt-<YOUR USERNAME>-for-sudo-passwordඅතර එයින් අදහස් වන්නේ ඔබ එම විධානය ක්‍රියාත්මක කළ පරිශීලකයාට sudoවිධානය ක්‍රියාත්මක කිරීමේදී ඔවුන්ගේ මුරපදය ඉල්ලා නොසිටින බවයි . උබුන්ටු මෘදුකාංග චිත්‍රක යෙදුමෙන් දේවල් ස්ථාපනය කිරීම වැනි වෙනත් සන්දර්භයන්හි මුරපදය ඔබෙන් විමසනු ඇත.

භාවිතා කිරීම සඳහා echoවිධානයෙහි පේළිය එක් කිරීමට වඩා මෙය සිදු කිරීමේ වාසි (අනෙක් පිළිතුරු යෝජනා කරන පරිදි)/etc/sudoerssudo visudo

  1. /etc/sudoersසමහර විට පද්ධති යාවත්කාල කිරීම් මගින් වෙනස් කරනු ලැබේ, නමුත් ලිපිගොනු /etc/sudoers.dනොමැත
  2. මෙම sudo visudoපිටපතක් / විධාන අලවමින් අමාරු අවුල් කිරීමට ෙහයින්ද ක්රමය දෝෂයක් ලක්විය හැකි, (මෙම ඉතා ප්රශ්නය මගින් සාක්ෂි ලෙස) වේ

sudo cat /etc/sudoers.d/READMEමෙම අංගයට අනුව ( 1990 දී අග භාගයේ දී/etc/sudoers.d එළිදැක්වූ ඩේබියන් 1.7.2p1-1 සිට පෙරනිමියෙන් සක්‍රීය කර ඇත (උබුන්ටු ඩෙබියන් මත පදනම් වේ ).


0

ලෙස වින්ස් ඇත අදහසක් සඳහන් , ඔබට මෙම ක්රමය භාවිත කළ හැකියි:

%sudo ALL=NOPASSWD: ALL

(මෙය එම පිළිතුරු වල දැක්වෙන රේඛාවලට වඩා වෙනස් වන අතර එය මට ගැටලුව විසඳීය.)


L එලියා මෙය අනෙක් පිළිතුරු වලට වඩා වෙනස් නොවේ. එය කරන්නේ supergroupෆෙඩිර්ගේ පිළිතුරෙහි ස්ථානගත කිරීම වෙනුවට ය sudo. ඊළඟට, කණ්ඩායම සඳහා තවත් පරිශීලකයෙකු wheel? නැතහොත් පරිශීලකයා භාවිතා කරන වෙනත් කණ්ඩායමක් තිබේද?
මුරු

1
@muru "එය සියලු තැන් දරණුව වෙනුවට වේ supergroupසමග Fedir පිළිතුරේ sudo." කුමක්ද? වෙනුවට supergroupසමග sudoසිටියදී %supergroup ALL=(ALL) NOPASSWD:ALLඅස්වැන්න %sudo ALL=(ALL) NOPASSWD:ALLනැහැ, %sudo ALL=NOPASSWD: ALL.
එලියා කගන්

එය තර්කානුකූලව වඩා නරක ය, දැන් සිට NOPASSWD ඉලක්ක පරිශීලකයා ලෙස root සඳහා පමණි. ඉතින්, එය ප්‍රශ්නයට නිවැරදිව පිළිතුරු දෙන්නේ නැත!
මුරු

@muru කෙසේ වෙතත්, තර්ක කළ නොහැකි දේsupergroup සමඟ ආදේශ කිරීමකි sudo. මෙය ස්වකීය පිළිතුර මිස ස්තූති සටහනක් හෝ වෙනත් පිළිතුරක පිටපතක් නොවේ. නමුත් ඔව්, මම එකඟ වෙමි: ඔවුන් එය අදහස් නොකරන්නේ නම් , අනෙක් පරිශීලකයන්ගේ ක්‍රම මෙන් බොහෝ පරිශීලකයින්ට මෙය හොඳ නොවනු ඇත. (නමුත්, විශේෂයෙන් ම ගැටලුව සලකා "සියලු ආඥා" නෑ පවසනවා, "සියලු ඉලක්කය පරිශීලකයන්," මම හිතන්නේ නැහැ මේ ප්රතිඵලය පවා ඉල්ලූ බව ඒ සඳහා පිළිතුරු දීමට උත්සාහ කර නැත.)
Eliah Kagan

මෙය මා වෙනුවෙන් වැඩ කළ අතර මට වෙනත් පරිශීලකයින් සමඟ බෙදා ගැනීමට අවශ්‍ය විය :) (අවශ්‍ය නම් මගේ අදහස ඉවත් කරන්න).
ඊ. කොටුව

0

මම මේ පර්යේෂණ කරන ලදී ලෙස, මම තුළ රේඛාවක් තියෙනවා කියලා /etc/sudoersගොනුව අදහසක්, නමුත් නොවන බව නියෝගයක් බහලුම යටතේ ඕනෑම ගොනුවක් හෝ ෆෝල්ඩරයක් කරවන /etc/sudoers/*අන්තර්ගතය අබිබවා යා /etc/sudoers.

බැලූ බැල්මට එය අදහස් දැක්වීමේ රේඛාවක් ලෙස පෙනෙන බැවින් මෙය රහසිගත කුඩා නියෝගයකි. එය මේ වගේ ය:

#includedir /etc/sudoers.d

උබුන්ටු: 18.04 හි මූලික රූපය සහිත සීඅයිසීඩී නල මාර්ගයක භාවිතා කිරීම සඳහා මම මූල නොවන, මුරපද රහිත පරිශීලකයෙකු කාලානුරූපී ඩොකර් රූපයක ක්‍රියාත්මක කර ඇත්තේ එලෙස ය.

RUN \
  useradd -U foo -m -s /bin/bash -p foo -G sudo && passwd -d foo && passwd -d root && \
  sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
  sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
  sed -i /etc/sudoers -re 's/^#includedir.*/## Removed the #include directive! ##"/g' && \
  echo "Customized the sudoers file for passwordless access!" && \
  echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
  echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
  echo "foo user:";  su foo -c 'whoami && id' && \
  echo "root user:"; su root -c 'whoami && id'

ඉහත කේතය සමඟ කුමක් සිදුවේද:

  • පරිශීලකයා සහ කණ්ඩායම fooනිර්මාණය කර ඇත.
  • පරිශීලකයා සහ කණ්ඩායම fooයන දෙකටම එකතු වේ .foosudo
  • නිවාස නාමාවලිය සකසා ඇත /home/foo.
  • කවචය සකසා ඇත /bin/bash.
  • මෙම sedවිධානය කිරීමට පේළිගත යාවත්කාලීන කරන්නේ /etc/sudoersඉඩ ගොනු fooහා rootවෙත passwordless ප්රවේශ භාවිතා කරන්නන් sudoපිරිසක්.
  • මෙම sedවිධානය අක්රීය #includedirඋප බහලුම් ඕනෑම ගොනු මෙම පේළිගත යාවත්කාලීන පරයා යන්න ඉඩ ඇති බව නියෝගයක්.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.