මුරපදය නොමැතිව සුඩෝ ක්‍රියාත්මක කරන්න?


332

මෙම ප්රශ්නයෙන් දේවානුභාවයෙන් ....

12.04 සමඟ මගේ පද්ධතිය භාවිතා කරන එකම පුද්ගලයා මමයි.
මම sudoවිධානයක් නිකුත් කරන සෑම අවස්ථාවකම ; පද්ධතිය පරිශීලක මුරපදය ඉල්ලයි (එය තමන්ගේම ආකාරයෙන් හොඳයි).
කෙසේ වෙතත් මම සිතුවෙමි; මූල ගිණුම සක්‍රිය නොකර ; සත්‍යාපනය සඳහා පරිශීලක මුරපදය ඉල්ලා නොසිටින sudo විධාන ක්‍රියාත්මක කරන්නේ කෙසේද?

සටහන: මුරපදය හරහා සත්‍යාපනය නොකර sudo විධානය ක්‍රියාත්මක කිරීමට මට අවශ්‍යය; ඒවා පර්යන්තය හරහා ක්‍රියාත්මක කළ විට පමණි.
'උබුන්ටු මෘදුකාංග මධ්‍යස්ථානය' භාවිතා කරමින් හෝ යමක්.ෂ් ගොනුව පර්යන්තයට ඇදගෙන යාමෙන් බාෂ් ස්ක්‍රිප්ට් එකක් ක්‍රියාත්මක කිරීමේදී මෙම අමතර ආරක්ෂිත තට්ටුව වෙනත් ක්‍රියාකාරකම් වලින් ඉවත් කිරීමට මට අවශ්‍ය නැත.


2
එබැවින් ඔබට අවශ්‍ය වන්නේ පර්යන්තයේ මුරපදය ඉල්ලා සිටීම මිස වෙනත් දේ සඳහා නොවේද? දෙයාකාරයෙන්ම, මම හිතන්නේ එය අධි ආරක්ෂිත
උල්ලං ach නය

මට අවශ්‍ය වන්නේ එම පද්ධතිය මුරපදය ඉල්ලන්නේ ටර්මිනලයේ සිටින විට පමණක් නොවන බවයි ... වෙනත් ඕනෑම කටයුත්තක් සඳහා පද්ධතිය මුරපදයක් ඉල්ලා සිටිය යුතුය. මෙම අවශ්‍යතාවය තාවකාලික පමණක් වන අතර නව සේවාදායකයන් ස්ථාපනය කිරීමේදී වින්‍යාසගත කිරීම සඳහා භාවිතා කළ යුතුය .. නැවුම් සේවාදායක ස්ථාපනයන් අතරතුර, සැබවින්ම සුඩෝ විධාන සමඟ වින්‍යාස කිරීමට පැය ගණනක් ගතවේ .. සෑම මිනිත්තු 15 කට වරක් මුරපදය නිකුත් කිරීම. හිසරදයයි. මට root ගිණුම භාවිතා කිරීමට අවශ්‍ය නැත.
භවේෂ් දීවාන්

ඔබ සාකච්ඡාව කියවිය යුත්තේ: askubuntu.com/questions/135428/…
david6

1
නිසැකවම ඔබට කල් ඉකුත් වීම දීර් can කළ හැකිය. එසේම, ඔබ නිතරම නැවුම් සේවාදායක සැකසුම් කරන්නේ නම් ක්‍රියාවලිය ස්වයංක්‍රීය කිරීම ගැන සිතා බැලිය යුතුය. ටයිප් කිරීම සඳහා ඔබට මුදල් ගෙවනු නොලැබේ, ගැටළු විසඳීමට සහ එය සිදු කිරීමට ඔබට ගෙවනු ලැබේ.
මෝගන්රා

Answers:


628

sudoඔබගේ මුරපදය කිසි විටෙකත් ඉල්ලා නොසිටීමට ඔබට වින්‍යාසගත කළ හැකිය .

පර්යන්ත කවුළුවක් විවෘත කර ටයිප් කරන්න:

sudo visudo

ගොනුවේ පතුලේ, පහත පේළිය එක් කරන්න:

$USER ALL=(ALL) NOPASSWD: ALL

$USERඔබේ පද්ධතියේ පරිශීලක නාමය කොහිද? Sudoers ගොනුව සුරකින්න සහ වසා දමන්න (ඔබ ඔබේ පෙරනිමි පර්යන්ත සංස්කාරකය වෙනස් කර නොමැති නම් (ඔබ සතුව තිබේදැයි ඔබ දැන ගනු ඇත), Ctl + xපිටවීමට ඔබන්න, nanoඑවිට එය සුරැකීමට ඔබෙන් විමසනු ඇත).

උබුන්ටු 19.04 වන විට, ගොනුව දැන් සමාන විය යුතුය

#
# 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:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) 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

YOUR_USERNAME_HERE ALL=(ALL) NOPASSWD: ALL

මෙයින් පසු ඔබට sudo <whatever you want>මුරපදය ඉල්ලා නොසිට ටර්මිනල් කවුළුවක් ටයිප් කළ හැකිය .

මෙය අදාළ වන්නේ sudoපර්යන්තයේ විධානය භාවිතා කිරීමට පමණි . ඔබ (උදාහරණයක් ලෙස) මෘදුකාංග මධ්‍යස්ථානයෙන් පැකේජයක් ස්ථාපනය කිරීමට උත්සාහ කළහොත් ඔබගේ මුරපදය ඔබෙන් විමසනු ඇත

gui මුරපද විමසුම


16
එය sudo visudoකෙලින්ම සංස්කරණය කිරීම වෙනුවට භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ . සුඩෝවරුන්ගේ අවසරයන් වෙනස් කිරීම ඔබව වසා දැමිය හැකිය. සමඟ සංස්කරණය කරන විට vim, :wq!කියවීමට පමණක් ඇති ලිපිගොනු ලිවීමට භාවිතා කර සංස්කාරකයෙන් ඉවත් වන්න. ඒ ආකාරයෙන් 644 අවසර අවශ්‍ය නොවේ.
ලෙකන්ස්ටයින්

10
මෙය බරපතල ආරක්ෂක අවදානමක් වන අතර, සූඩෝ අයිතිවාසිකම් ඇති ඕනෑම ගිණුමක් භාර ගන්නා ඕනෑම කෙනෙකුට සම්පූර්ණ පද්ධතියම පාලනය කළ හැකි අතර මෙම පරිගණකයට තවදුරටත් ප්‍රවේශ වීම අගුළු දැමිය හැකිය.
un නෝ පෙරෙයිරා

6
point wil93 ඔබට කාරණය මග හැරී ඇත: ඉල්ලා සිටින ස්ක්‍රිප්ටයක් sudo install crapwareමෙම අවස්ථාවේදී මුරපදයක් ඉල්ලන්නේ නැති අතර ඔබ සතුව ඇති සියල්ල අවුල් විය හැක, මා අවසන් වරට පරීක්ෂා කළ විට ස්ක්‍රිප්ට් බෙදා හැරීම සඳහා ඔබ යන්ත්‍රයක් අසල භෞතිකව සිටිය යුතු නොවේ. .. මෙය උදාහරණයක් පමණි.
un නෝ පෙරෙයිරා

13
RBrunoPereira ඔබ විශ්වාස කළ නොහැකි ස්ක්‍රිප්ට් ධාවනය කිරීමට අදහස් කරන්නේ නම් එය ආරක්ෂක අවදානමයි (සුඩෝ මුරපදයක් ඉල්ලා සිටියත්, අනිෂ්ට පිටපතක් සෑම විටම rm -rf ~සමහර දේවල් අවුල් කළ හැකිය ). සමස්තයක් ලෙස, මම «බරපතල ආරක්ෂක අවදානමක් call යැයි නොකියමි.
wil93

5
@ Wil93 සමඟ එකඟ වන්න. විශ්වාස කළ නොහැකි ස්ක්‍රිප්ට් එකක් ධාවනය කරන විට, මුරපදය ඇතුළත් කිරීම ක්‍රියාවලිය අවලංගු කිරීමේ අවස්ථාවක් පමණක් නොවන අතර බොහෝ දෙනෙකුට එය නිෂ් less ල යැයි මම සැක කරමි. කාරණය වන්නේ පිටපත කොහෙන්ද සහ එය කරන්නේ කුමක්ද යන්න ඔබ දන්නා බැවිනි.
චැඩ්

85

sudo -i ඔබේ පද්ධතියේ (හෝ වෙනත් පද්ධතිවල) වෙනස් කිරීම් සිදු කරන අතරතුර සෑම මිනිත්තු 10 කට වරක් මුරපදයක් ටයිප් කිරීමට ඔබට අවශ්‍ය නැතිනම් යා යුතු මාර්ගය වන අතර කිසිදු පද්ධති ලිපිගොනු වෙනස් කිරීමට ඔබට අවශ්‍ය නැත.

sudoඔබ කොන්සෝලය වසා දැමූ විට හෝ යතුරු ලියනය කරන විට ඔබේ පරිශීලක මුරපදය භාවිතයෙන් එය ඔබව root වෙත මාරු exitකරයි.


2
මම මුරපදය ඇතුළත් කරන්නේ එක් වරක් පමණක් බව මෙය සත්‍යයක් වේවිද ... සහ මම පිටවන කාලය තෙක්; කාලගුණය පැය 5 යි. හෝ 15 .... කිසියම් සුඩෝ විධානයක් නිකුත් කළ විට පද්ධතිය මුරපදයෙන් සත්‍යාපනය ඉල්ලන්නේ නැත.
භවේෂ් දීවාන්

2
Type ඔබ ටයිප් කරන exitතුරු හෝ ටර්මිනල් ඉමුලේටර් කවුළුව වැසෙන තුරු Z9iT .
un නෝ පෙරෙයිරා

2
ස්තූතියි .. මෙම පිළිතුර පිළිගත්තේ එය අප පිටවන කාලය තෙක් පැය n ක් මුරපද සත්‍යාපනයකින් තොරව සුඩෝ විධාන නිකුත් කිරීමේ අරමුණ ඉටු කරන බැවිනි .. පද්ධති ගොනු වෙනස් නොකිරීම ප්ලස් වේ.
භවේෂ් දීවාන්

3
මෙය ඇත්ත වශයෙන්ම ප්‍රශ්නයට පිළිතුරු සපයන්නේ නැත, මන්දයත් එම අවස්ථාවේදී root වීමට මුරපදය ඇතුළත් කළ යුතු බැවිනි.
ඇඩම් එෆ්

2
ඔබ අථත්‍ය යන්ත්‍රයක් ආරක්ෂිත පරිසරයක ධාවනය කරන්නේ නම් සහ ඔබට වහාම යමක් කිරීමට අවශ්‍ය නම් සහ මුරපද සමඟ කටයුතු කිරීමට ඔබට අවශ්‍ය නොවේ. මෙම පිළිතුර ප්‍රශ්නයට පිළිතුරු නොදෙන අතර එය ප්‍රයෝජනවත් තොරතුරු වේ. මම ඇඩම් එෆ්
ජොනතන් කෝමාර්

42

මෙය කිරීමට පහසුම හා ආරක්ෂිතම ක්‍රමය වන්නේ රූට් සූඩෝ කල් ඉකුත්වීමයි. මම සියලු උදාහරණ ඉදිරිපත් කරමි, නමුත් මෙම ක්‍රමය වඩා ආරක්ෂිත වුවද ඔබ මෙය කරන ඕනෑම ආකාරයකින් එය ඉතා අවදානම් බව අනතුරු අඟවන්න:

sudo visudo

මෙය සංස්කාරකයක් විවෘත කර එය sudoers ගොනුවට යොමු කරයි - උබුන්ටු පෙරනිමිය නැනෝ වෙත, අනෙක් පද්ධති Vi භාවිතා කරයි. ඔබ දැන් ඔබේ පද්ධතියේ වැදගත්ම ලිපිගොනු වලින් එකක් සංස්කරණය කරන සුපිරි පරිශීලකයෙකි. ආතතියක් නැත!

(Vi විශේෂිත උපදෙස් (vi!) සමඟ සටහන් කර ඇත . ඔබ නැනෝ භාවිතා කරන්නේ නම් මේවා නොසලකා හරින්න.)

Defaultsපේළියේ කෙළවරට යාමට ඊතල යතුරු භාවිතා කරන්න .

(vi!) වත්මන් රේඛාවේ අවසානයේ චලනය කිරීමට A (ප්‍රාග්ධනය "a") යතුර ඔබා සංස්කරණ මාදිලිය ඇතුළත් කරන්න (පේළියේ අවසාන අක්‍ෂරයට පසුව එකතු කරන්න).

දැන් ටයිප් කරන්න:

,timestamp_timeout=X

X යනු මිනිත්තු කිහිපයකින් කල් ඉකුත් වන කල් ඉකුත්වීමයි. ඔබ 0 සඳහන් කළහොත් ඔබ සැමවිටම මුරපදය අසනු ඇත. ඔබ negative ණ අගයක් නියම කරන්නේ නම්, කල් ඉකුත් වීම කිසි විටෙකත් කල් ඉකුත් නොවේ. උදා Defaults env_reset,timestamp_timeout=5.

(vi!) විධාන ප්‍රකාරයට ආපසු යාමට Escape යතුර ඔබන්න. දැන්, ඔබගේ සංස්කරණය ගැන ඔබ සතුටු වන්නේ නම් :w Enter, ගොනුව ලිවීමට සහ :q Entervi වෙතින් පිටවීමට ටයිප් කරන්න . ඔබ වැරැද්දක් කර ඇත්නම්, සමහර විට පහසුම ක්‍රමය වන්නේ මුල සිටම නැවත කිරීම, සුරැකීමකින් තොරව පිටවීම ( Escapeවිධාන මාදිලියට ඇතුළු වීමට පහර දෙන්න ) ඉන්පසු ටයිප් කරන්න: q! Enter.

පහර Ctrl+ X, එසේ නම් Y, එසේ නම් Enterඔබේ ගොනු සහ පිටවීම නැනෝ බේරා ගැනීමට.

අමතර තොරතුරු සඳහා ඔබට sudoers සහ vi manual පිටු කියවීමට අවශ්‍ය විය හැකිය.

man sudoers
man vi

භාවිතයෙන් කල් ඉකුත් වීමේ අගය නැවත සකසන්න:

sudo -k

මෙම උපදෙස් වන්නේ sudo විධානය භාවිතා කරන විට මුරපදයක් සඳහා වන විමසුම ඉවත් කිරීමයි. මූල ප්‍රවේශය සඳහා sudo විධානය තවමත් භාවිතා කිරීමට අවශ්‍ය වනු ඇත.

Sudoers ගොනුව සංස්කරණය කරන්න

පර්යන්ත කවුළුවක් විවෘත කරන්න. ටයිප් කරන්න sudo visudo. ගොනුවේ END වෙත පහත පේළිය එක් කරන්න (අවසානයේ නොවේ නම් එය පසුකාලීන ඇතුළත් කිරීම් මගින් අහෝසි කළ හැකිය):

<username> ALL=NOPASSWD: ALL

<username>ඔබගේ පරිශීලක නාමය සමඟ ප්‍රතිස්ථාපනය කරන්න (නොමැතිව <>). මෙය උපකල්පනය කරන්නේ උබුන්ටු ඔබේ පරිශීලක නාමයට සමාන නමක් ඇති කණ්ඩායමක් නිර්මාණය කර ඇති බවයි. ඔබට කණ්ඩායම් පරිශීලකයින් හෝ ඔබ සිටින වෙනත් ඕනෑම කණ්ඩායමක් විකල්ප ලෙස භාවිතා කළ හැකිය. ඔබ එම කණ්ඩායමේ සිටින බවට වග බලා ගන්න. පද්ධති -> පරිපාලනය -> පරිශීලකයින් සහ කණ්ඩායම් වෙත ගොස් මෙය පරීක්ෂා කළ හැකිය.

උදාහරණයක්:

michael ALL=NOPASSWD: ALL

පිටවීමට ^ X ( Ctrl+ X) ටයිප් කරන්න. ගොනුව සුරැකීමට විකල්පයක් සඳහා මෙය විමසිය යුතුය, සුරැකීමට Y ටයිප් කරන්න.

පිටව ගොස් නැවත ලොග් වන්න. මුරපදයක් ඉල්ලා නොසිට සුඩෝ විධානය ක්‍රියාත්මක කිරීමට මෙය දැන් ඔබට ඉඩ දෙයි.

මූල ගිණුම

මූල ගිණුම සක්‍රීය කිරීම

මූල ගිණුම සක්‍රීය කිරීම කලාතුරකින් අවශ්‍ය වේ. උබුන්ටු පද්ධතියක පරිපාලක ලෙස ඔබ කළ යුතු සෑම දෙයක්ම පාහේ සුඩෝ හෝ ග්ක්සුඩෝ හරහා කළ හැකිය. ඔබට සැබවින්ම අඛණ්ඩ මූල පිවිසුමක් අවශ්‍ය නම්, හොඳම විකල්පය වන්නේ පහත දැක්වෙන විධානය භාවිතා කරමින් Root පිවිසුම් කවචයක් අනුකරණය කිරීමයි:

sudo -i

කෙසේ වෙතත්, ඔබ root පිවිසුම් සක්‍රිය කළ යුතු නම් , ඔබට එය මේ ආකාරයෙන් කළ හැකිය:

sudo passwd root

ඔබගේ මූල ගිණුම නැවත අක්‍රීය කිරීම

කිසියම් හේතුවක් නිසා ඔබ ඔබේ මූල ගිණුම සක්‍රීය කර නැවත එය අක්‍රිය කිරීමට අදහස් කරන්නේ නම්, ටර්මිනලයේ පහත විධානය භාවිතා කරන්න:

sudo passwd -dl root

පද්ධති-පුළුල් කණ්ඩායම් සුඩෝ

root$ echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

ලොග්අවුට් කර නැවත ඇතුල් වන්න.

සුඩෝ කල් ඉකුත්වීම නැවත සකසන්න

ඊළඟ වතාවේ ධාවනය කිරීමෙන් සුඩෝ මුරපදය ඉල්ලා සිටින බවට ඔබට සහතික විය හැකිය:

sudo -k

මෙය එකතු කිරීමට පෙර මම මෙය පළ කළෙමි, මෙය පද්ධතියේ පුළුල් ක්‍රමයක් සඳහා වන අතර අනෙක් අය මෙහි කියවනු ලැබේ:
user209328

මෙය ප්‍රමාද වූ පිළිතුරකි, නමුත් එය ඔබට ලබා දෙන විකල්පයන් අනුව වඩාත් පුළුල් වේ.
ජෙන්මින්

1
හ්ම්, උබුන්ටු 18.04 මත මෙය හොඳින් ක්‍රියාත්මක වන අතර උබුන්ටු 18.04 හි ද එසේ ම කරන විට “පරිශීලක නාමය සුඩෝ ගොනුවේ නොමැත ...” ගැටලුව සමඟ මට රැළි ඇති විය. දැන්, මේ නිසා බොහෝ pple ලිනක්ස් වලට වෛර කරයි - cuz එය කලාතුරකින් “හේතු” වේ: D යූ එකම තත්වයට පත්වුවහොත්
පීටර්

EDITOR පරිසර විචල්‍යයට භාවිතා කළ සංස්කාරකය සැකසිය හැකිය ... උදා: නැනෝ වලින් sudo env EDITOR=/bin/nano visudoවිශ්වාසදායක ලෙස සංස්කරණය sudoersකිරීම. (සංස්කාරකය සැකසීමට යාවත්කාලීන-විකල්ප භාවිතා කළ හැකිය)
ගර්ට් වැන් ඩෙන් බර්ග්

38

තනි (හෝ කණ්ඩායම්) අවසර ලබා දීමට වඩාත් කැමති ක්‍රමය වන්නේ ගොනු යටතේ එකතු කිරීමයි /etc/sudoers.d

මෙය පෙරනිමි ප්‍රතිපත්තියෙන් දේශීය වෙනස්කම් වෙන් කරන අතර බෙදාහැරීමේ sudoers ගොනුව වෙනස් වුවහොත් කාලය ඉතිරි වේ.

දැනට පුරනය වී ඇති පරිශීලක aa sudoer බවට පත් කිරීමට සහ මුරපදයක් ඉල්ලා නොසිටීමට sudo, භාවිතා කරන්න

echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$USER

මෙය ගොනුවක් සාදනු ඇත /etc/sudoers.d/$USER( $USERඔබ එම විධානය ක්‍රියාත්මක කරන විට මෙන් ඔබ ලොග් වූ පරිශීලකයාගේ පරිශීලක නාමය කොහේද ), එමඟින් අවසර ලබා දෙන්නේ කුමන පරිශීලකයින්ටද යන්න පැහැදිලි කරයි.

ඔබට වෙනත් පරිශීලකයෙකු සඳහා එය කිරීමට අවශ්‍ය නම් $USER, ඉහත විධානයෙහි අවස්ථා දෙකම වෙනත් පරිශීලක නාමයක් සමඟ ප්‍රතිස්ථාපනය කරන්න .

echo "otheruser ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/otheruser

ඒ හා සමානව, බහු විධානයන් කළමනාකරණය කිරීම සඳහා එක් ගොනුවක් භාවිතා කළ හැකිය:

echo "username ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers.d/local

බලන්න /etc/sudoers.d/READMEසහ man sudoersවැඩි විස්තර සඳහා.


1
මම root වුවද echo විධානය අසාර්ථක විය. නමුත්, මම ගොනු එකතු කර එය සෘජුවම සංස්කරණය මෙම නවතම උබුන්ටු මත වැඩ (මෙම sudoers කිරීම සඳහා පරිශීලක එකතු සෘජුවම නෑ බැවින්ද!)
බිල්ලට

2
නිවැරදි ක්‍රමය එය teeවිධානයෙන් කිරීමයි.
woto

2
මෙය ක්‍රියාත්මක වන වඩා හොඳ ක්‍රමයකි : sudo sh -c 'echo "$(logname) ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/$(logname)', ඉන්පසුsudo chmod 440 /etc/sudoers.d/$(logname)
පැරඩ්‍රොයිඩ්

1
දී sudo ... >fileෂෙල් හරවා යැවීමේ මුල් ෂෙල් ක්රියාත්මක වන අතර, එය පමණක් root shell වැඩ විය.
කොන්ස්ටන්ටින් පෙලෙපලින්

1
අවසරයකින් තොරව තේ ක්‍රමය:echo "username ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/username
කාර්සන් අයිපී

7

ඇත්ත වශයෙන්ම ඔබට කිරීමට අවශ්‍ය දේ නිර්දේශ නොකරයි. ටික වේලාවකට පසු, ඇතුල් sudoවීම ස්වයංක්‍රීය වුව ද එහි ප්‍රයෝජනය අඩු වේ.

තවත් ප්‍රවේශයක් නම්, ඔබේ sudoers ගොනුව එලෙසම තැබීම සහ ඔබේ සර්වර සියයකට සියගණනක් සංකීර්ණ දෙයක් කරමින් සිටියදී ඇතුළු වන්න sudo bash. එමඟින් ඔබ පිටවන තුරු root ලෙස සත්‍යාපනය වන කවචයක් ලබා දෙනු ඇත.


12
sudo -sහෝ sudo -iබොහෝ විට වඩා හොඳ අදහස් දෙකම විය හැකිය sudo bash, මන්ද ඔවුන් පරිසරය යහපත් හා දේවල් බව සහතික කරයි.
ඩැරල්

3
“බුද්ධිමත් හා දේවල්” සාමාන්‍යයෙන් “වඩා හොඳ අදහස්” වල නැත, යමෙකුට තාක්ෂණික පැහැදිලි කිරීමක් කළ හැකිද? (සංස්කරණය කරන්න: මෙන්න අදාළ ප්‍රශ්නයක් askubuntu.com/questions/376199/… )
Nuzzolilo

2
විධානය නිසියාකාරව ක්‍රියාත්මක වීම සඳහා sudoවිධාන ගණනාවක් (විශේෂයෙන් සිතීම sudo pip ...) අවශ්‍ය වේ sudo -H(HOME සකසන්න). වෙනත් අවස්ථාවල දී, sudo -E(කල් තබා ගැනීම) අවශ්‍ය විය හැකිය. ධාවනය sudo bashබොහෝ විට ක්‍රියාත්මක වනු ඇත, නමුත් සියල්ලටම වඩා නොවේ, එය එසේ නොවන විට, එයට හේතුව පැහැදිලි නැත.
මයිකල්

1
sudo su යනු භූමිකාවන් මාරු කර sys පරිපාලකයෙකු ලෙස ක්‍රියා කිරීම ආරම්භ කිරීමේ සම්ප්‍රදායික ක්‍රමයයි.
user1656671

7

වත්මන් පරිශීලකයා සඳහා සුඩෝ විමසුම් ඉවත් කිරීමට හොඳ ලයිනර් එකක්

sudo bash -c 'echo "$(logname) ALL=(ALL:ALL) NOPASSWD: ALL" | (EDITOR="tee -a" visudo)'

2
මම හිතන්නේ ඔබට කළ හැක්කේ : echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo env EDITOR="tee -a" visudo, visudoඅවශ්‍ය වන්නේ sudoසියල්ලට පසුව පමණි (සහ envපෙරනිමි වින්‍යාසය තුළ පවා අවශ්‍ය නොවනු ඇත, IIRC).
මුරු

මෙහි වැරදියට සිදුවිය හැකි බොහෝ දේ ඇත (සියලු පරිශීලක දෝෂ, ඇත්ත වශයෙන්ම), මගේ ඉතා නිහතමානී මතය අනුව, සූඩෝ ගොනුව කෙලින්ම සංස්කරණය කිරීම වඩාත් සුදුසුය ( sudo visudo), ප්‍රති result ලය පරීක්ෂා කරන අතරතුර (සංස්කාරකය තවමත් විවෘතව තිබියදී), මෙම "එක්-ලයිනර්" උත්සාහ කිරීමට පෙළඹවිය හැකි නව පරිශීලකයින් සඳහා.
මයිකල්

ප්රතිචාර සඳහා ස්තූතියි! මගේ වාෂ්පශීලී පරීක්ෂණ වීඑම් වල සුඩෝ මුරපද විමසුම ඉවත් කිරීමට මම ඉක්මනින්ම උත්සාහ කළෙමි. වැඩිදියුණු කිරීම් යෝජනා කිරීමට නිදහස් වන්න :)
එරික් ලෑන්ඩ්‍රි

sudo chmod 440 /etc/sudoers.d/$(logname)එම නාමාවලියෙහි README හි සඳහන් කර ඇති පරිදි ගොනු අවසර නිවැරදි කිරීමට ඔබට තවමත් අවශ්‍යය .
පැරඩ්‍රොයිඩ්

4

සිට සුපිරි පරිශීලක හොඳ පිළිතුරක් එන:

STDIN වෙතින් මුරපදය කියවන -S ස්විචය භාවිතා කරන්න:

echo <password> | sudo -S <command>

<password>ඔබගේ මුරපදය සමඟ ප්‍රතිස්ථාපනය කරන්න.


6
මෙය යෝජනා නොකෙරේ, මන්ද මුරපදය ෂෙල් ඉතිහාස ගොනුවේ පැහැදිලි ස්වරූපයේ පවතී. ඒ වෙනුවට වෙනත් විසඳුම් යොදන්න.
HappyCactus

2
AppHappyCactus ඉතිහාසයේ නොපෙන්වන පරිදි ඔබට වරක් අවකාශය ඉදිරිපිට තැබිය echoහැකිද?
WinEunuuchs2Unix

2
ඔව්, මෙය පැහැදිලි ලිපිගොනු මුරපදය ඉතිහාස ගොනුවට නිරාවරණය කිරීමෙන් වළක්වනු ඇත. නමුත් එය එකතු කිරීමට ඔබට සැමවිටම මතකද? :-)
HappyCactus

2
AppHappyCactus මම ප්‍රමුඛ අවකාශයක් අහම්බෙන් එකතු කර ඉතිහාසය නැවත සිහිපත් කළ නොහැකි විට කෝපයට පත් වෙමි :) කෙසේ වෙතත් සුපිරි පරිශීලකයාට උඩු යටිකුරු 129 ක් ඇත, එබැවින් මෙහි පිටවීම හොඳ පිළිතුරක් යැයි මම සිතමි. මිනිසුන් අපගේ අදහස් කියවා අවදානම් සහ අවදානම් මඟ හැරීමේ පියවර දැන ගනු ඇත.
WinEunuuchs2Unix

3
මෙම HISTCONTROLවිචල්ය අඩංගු කිරීමට අවශ්ය ignorespace"" උපසර්ගය විට එය ගලවා ගැනීමට නොහැකි ය. මෙය උබුන්ටු වල පෙරනිමිය ලෙස පෙනේ, නමුත් එය වෙනස් කළ හැකිය ... මුරපදය තවමත් psප්‍රතිදානයේ පෙන්විය හැකිය ... සුදෝර වල NOPASSWD (සමහර විධානයන්ට පමණක් සීමා වී ඇත) ආරක්ෂිත බව පෙනේ ...
ගර්ට් වැන් ඩෙන් බර්ග්

3

එක් ලයිනර්

sudo sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g'


3

මෙය එක් පේළියේ විසඳුමක් වන අතර එය පහත දැක්වෙන පරිදි ගොනු අවසරයන් වෙනස් කරයි /etc/sudoer.d/README:

sudo sh -c 'echo "$(logname) ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/$(logname)' && sudo chmod 440 /etc/sudoers.d/$(logname)

1
  • @Upteryx අදහස පුළුල් කිරීම.

  • සීඅයිසීඩී නල මාර්ගයක භාවිතා කිරීම සඳහා මූල නොවන, මුරපද රහිත පරිශීලකයෙකු ආධ්‍යාත්මික ඩෝකර් රූපයක ක්‍රියාත්මක කර ඇත්තේ මේ ආකාරයට ය:

RUN \
    groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
    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 "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
    echo "Customized the sudoers file for passwordless access to the foo user!" && \
    echo "foo user:";  su - foo -c id
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.