logo

לינוקס sudo

מבוא

הפקודה sudo Linux מייצגת סופר משתמש לעשות . בדרך כלל, הוא מיושם בתור קידומת של כמה פקודות שמותר למשתמש-על לבצע.

אם נקדים את הפקודה יחד עם פקודות אחרות, היא תבצע את הפקודה הזו עם הרשאות גבוהות. במילים אחרות, זה יאפשר למשתמש יחד עם הרשאה מתאימה לאכול פקודה כמו משתמשים אחרים כמו משתמש העל.

זה שווה לאופציה 'הפעל כמנהל' ב-Windows. אפשרות sudo מאפשרת לנו יותר ממנהל מערכת אחד. המשתמשים שיכולים להחיל את הפקודה sudo דורשים שהערך בתוך הקובץ sudoers ממוקם ב '/etc/sudoers/' .

הערה: כדי להציג או לערוך את הקובץ עלינו להחיל את הפקודה sudo. לעריכת הקובץ, מומלץ להחיל את הפקודה 'visudo'.

הפקודה sudo כברירת מחדל צריכה שמשתמשים יאמתו את עצמם יחד עם סיסמה שהיא הסיסמה של המשתמש, לא סיסמת שורש עצמה.

תחביר של פקודת sudo

התחביר של פקודת sudo מוזכר להלן:

 sudo OPTION... COMMAND 

אפשרות בפקודה sudo

כמה מהאפשרויות החשובות בפקודת sudo מוסברות להלן:

1. -ב: זה מייצג גִרְסָה . אפשרות זו מאפשרת את הפקודה sudo להדפסת מספר הגרסה ויציאה. האפשרות -V תדפיס את ברירת המחדל של הפסקת רשימת sudo שנצפתה אם המשתמש המבקש הוא כבר השורש.

לינוקס sudo

2. -ל: זה מייצג רשימה . אפשרות זו תעזור להדפיס את הפקודות השונות המותרות למשתמש על גבי המארח הנוכחי.

זה מראה שהמשתמש הנוכחי יכול להחיל כל פקודה בתור sudo.

נסה את מבנה הנתונים
לינוקס sudo

3. -h או -help: ה-h מייצג עֶזרָה באפשרות זו. אפשרות זו מאפשרת את הפקודה sudo להדפסת הודעה על השימוש והיציאה.

לינוקס sudo

4. -ב: זה מייצג לְאַמֵת . אם הפקודה sudo תעדכן את חותמת הזמן של המשתמש, האימות יבקש את הסיסמה של המשתמש במידת הצורך. זה מאריך את פסק הזמן של פקודת sudo ב-5 הדקות האחרות אבל לא מבצע פקודה. זה לא נותן שום תוצאה.

5. -ק: זה מייצג לַהֲרוֹג . אפשרות זו מבטלת את חותמת הזמן של המשתמש ל-sudo. לפיכך, בפעם הבאה שהפקודה sudo מבוצעת תידרש סיסמה. האפשרות -k אינה זקוקה לסיסמה כלשהי והיא נכללה כדי לאפשר למשתמשים לבטל את ההרשאות של פקודת sudo באמצעות .להתנתק קוֹבֶץ.

6. -ב: זה מייצג רקע כללי . אפשרות זו מודיעה לפקודת sudo לבצע את הפקודות שסופקו ברקע.

הערה: אם נחיל את האפשרות הזו, לא נוכל להחיל בקרת עבודת מעטפת לצורך מניפולציה של התהליך.

לינוקס sudo

7. -K: אפשרות זו זהה לאפשרות -k. עם זאת, זה מייצג בטוח להרוג . אפשרות זו מופעלת להסרת חותמת הזמן של המשתמש לחלוטין. זה גם לא צריך שום סיסמה.

8. -p: זה מייצג מיידי . אפשרות זו מאפשרת לנו לעקוף את הנחיית הסיסמה (ברירת מחדל) ולהחיל אחת מותאמת אישית. מותרות בריחות של כמה אחוזים, שהם כדלקמן:

  • %u פותח לשם הכניסה של המשתמש המזמין.
  • %U פותח לשם הכניסה של המשתמש
  • %h פותח לשם המארח (מקומי) ללא שם של הדומיין.
  • %H פותח לשם המארח (מקומי) עם שם הדומיין (רק כאשר שם המארח של המחשב מוסמך לחלוטין)
  • ניתן לחלק %% (שני תווים עוקבים) לתו % בודד.
לינוקס sudo

9. -n: אפשרות זו תפעיל את הפקודה מבלי לבקש את הסיסמה. זה מאוד שימושי אם ברצוננו לבצע כמה פקודות כמשימות רקע (או בתוך סקריפט המעטפת), כאשר איננו מעוניינים בפקודה sudo לשאלת הסיסמה. אפשרות זו היא קיצור של לא אינטראקטיבי.

סימון הערות שוליים

10. -ב: זה מייצג מִשׁתַמֵשׁ . אפשרות זו מאפשרת לפקודת sudo לבצע את הפקודות המתוארות מלבד השורש כמשתמש. לציון א uid במקום שם המשתמש, נוכל להשתמש ב- #uid .

11. -H: זה מייצג בית . אפשרות זו יכולה להגדיר א משתנה סביבת HOME שלנו ספריית הבית של משתמש השורש כפי שמתואר בתוך קובץ passwd. הפקודה sudo כברירת מחדל לא משנה את HOME.

12. -ש: זה מייצג את צדף . אפשרות זו מבצעת את המעטפת המתוארת דרך a משתנה סביבה SHELL כאשר הסט שלו או הקליפה הזו כמתואר בתוך passwd קוֹבֶץ.

13. -S: זה מייצג סטדין . אפשרות זו מאפשרת את פקודת sudo לקריאת הסיסמה דרך קלט רגיל ולא דרך התקן הטרמינל.

14. -: אפשרות זו ממחישה שפקודת sudo חייבת להפסיק לעבד את הארגומנטים של שורת הפקודה. זה מועיל ביותר בשילוב עם דגל -s.

15. -א: זה מייצג סוג האימות . אפשרות זו מאפשרת את פקודת sudo לשימוש בסוג האימות המתואר אם מאמת משתמש, כפי שמותר על ידי /etc/login/.config .

מנהל המערכת עשוי לתאר את רשימת השיטות של האימות הספציפי ל-sudo על ידי הכללת 'אוטו-סודו' כניסה בתוך /etc/login/.config .

לינוקס sudo

משתני סביבה ב-sudo Command

להלן כמה ממשתני הסביבה המופעלים על ידי הפקודה sudo:

כן לא. תָג תיאור
1. עוֹרֵך זהו עורך ברירת מחדל שניתן להשתמש בו בתוך מצב -e (sudoedit) כאשר VISUAL אינו קבוע.
2. בית הוא יוגדר ל-homedir של המשתמש (יעד) במצב -H או -s (או כאשר הפקודה sudo נוצרה עם האפשרות, כלומר -enable-shell-sets-home).
3. נָתִיב הוא קובע לערך השפוי כאשר האפשרות, כלומר, secure_path sudoers קבועה.
4. צדף זה יכול לשמש לקביעת המעטפת לביצוע עם האפשרות -s.
5. SUDO_COMMAND זה מוגדר לפקודה המבוצעת על ידי הפקודה sudo.
6. SUDO_PROMPT זה יכול לשמש כבקשת סיסמה (ברירת מחדל).
7. SUDO_USER זה מגדיר את הכניסה של המשתמש שמבקש את הפקודה sudo.
8. SUDO_UID זה מגדיר את ה-uid של המשתמש שמבקש את הפקודה sudo.
9. SUDO_GID זה מגדיר ל-gid של המשתמש שמבקש את הפקודה sudo.
10. SOUTH_PS1 PS1 יהיה קבוע לערך שלו אם מוגדר.
אחד עשר. מִשׁתַמֵשׁ הוא מגדיר למשתמש (שורש אלא אם מתוארת האפשרות, כלומר -u).
12. חָזוּתִי זהו עורך ברירת מחדל ומשתמש בתוך מצב -e (sudoedit).

היסטוריה של פקודת הסודו

קליף ספנסר ורוברט קוגשל כתבו את תת-המערכת בפועל בשנת 1980 ב-SUNY/באפלו במחלקה למדעי המחשב. רוברט קוגשל נשא איתו סודו לאוניברסיטת קולורדו בולדר. באופן מהותי, התכונות והקוד שונו על ידי חברי ה-IT של המכללה להנדסה ומחלקת מדעי המחשב של אוניברסיטת קולורדו בולדר והמדע היישומי עם טוד סי מילר בין השנים 1986-1993.

באופן ציבורי, הגרסה האחרונה מנוהלת מאז 1994 על ידי Todd .C Miller (מפתח OpenBSD) והיא משותפת מאז 1999 עם הרישיון בסגנון ISC.

תומס קלבורן איפיין אי-ודאות שכזו כמוה בנובמבר 2009 בתגובה לדבר שלמיקרוסופט הייתה פריבילגיה סודו. באופן צר, הטענות הוסגרו ל-GUI ספציפי במקום גישת הסודו.

in.next java

עיצוב הפקודה sudo

משתמשים יכולים לספק את הסיסמה שלהם ל-sudo בעת הצורך במקום משתמש-על, בניגוד לפקודת su. זה מאפשר למשתמשים נגישים לממש הרשאות מוסמכות מבלי לעסוק בסודיות של הסיסמה של החשבון האחר.

  • כאשר קובץ התצורה מאפשר למשתמש גישה, לאחר האימות המערכת מבקשת את הפקודה הנטענת.
  • הפקודה sudo שמרה על זכויות הפנייה של המשתמש בזמן חסד (בדרך כלל 5 דקות) לכל פסאודו-טרמינל והיא מאפשרת למשתמש לבצע פקודות עוקבות שונות כמשתמש הנטען ללא צורך לתת שוב סיסמה כלשהי.
  • פקודת sudo עשויה להיות מוגדרת לרישום כל פקודה המופעלת כתכונת ביקורת ואבטחה.
  • באותו זמן, משתמש יורה על הפעלת פקודת sudo מבלי להיות רשום בתוך קובץ התצורה, איור חריג מוצג לאותו משתמש שמספר שהצילום הוקלט.
  • ערך יישמר בתוך המערכת ומשתמש השורש יקבל הודעה בדואר.

תצורה של פקודת sudo

ה /etc/sudoers הקובץ כולל את קבוצות המשתמשים או את רשימת המשתמשים עם הרשאה להפעיל קבוצה של פקודות תוך שהוא מכיל את הזכויות של משתמש שורש או משתמש אחר ברשימה. ייתכן שהתוכנית מוגדרת כך שתזדקק לסיסמה.

מיון בחירה java

השפעת פקודת הסודו

בכמה הפצות מערכת, פקודת sudo החליפה את השימוש (ברירת המחדל) בכניסה אחרת של משתמש העל עבור פעולות ניהול שונות, והכי חשוב בכמה הפצות macOS של אפל וגם של לינוקס.

זה מונע כמה ניצולים וגם מאפשר רישום מוגן יותר של פקודות המנהל.

RBAC

ניתן להשתמש בפקודת sudo למעבר בין סוגים שונים של תפקידים בתוך בקרת הגישה מבוססת התפקידים בשיתוף פעולה עם SELinux.

תוכניות וכלים דומים

ה-visudo הוא כלי עזר של שורת הפקודה המאפשר לערוך את קובץ התצורה של sudo בצורה בטוחה לכשל. הוא מבצע בדיקות תחביר ושפיות וגם מונע יותר מעריכה אחת בו זמנית יחד עם מנעולים.

תוכנית runas מאפשרת את אותם ביצועים ב-Microsoft Windows; עם זאת, הוא לא יכול להעביר שורות פקודה ארוכות נוכחיות לילד, משתני סביבה או ספריות.

זה לא תומך בהגבהה כללית בזמן שהוא עוזר להוציא להורג את הילד כמו כל משתמש אחר. עבור Windows, סודו וסו אמיתיים שיכולים להעביר כל אחד מפרטי המצב האלה ולהתחיל את הילד כמשתמש אחר או מוגבה מתווספים עם מעטפת המילטון C .

ה-GUI זמין עבור sudo ( gksudo במיוחד), אבל זה הוצא משימוש בדביאן וגם לא עוד באובונטו. סוגים שונים אחרים של ממשקי משתמש אינם מתוכננים ישירות ב-sudo, אלא מאפשרים את אותה העלאת הרשאות (זמנית) עבור מטרות ניהוליות כמו שירותי הרשאה של Mac OS X, בקרת חשבון משתמש בתוך Microsoft Windows , ו pkexec בתוך מערכות ההפעלה דמויות יוניקס .

מאז גירסת 5.8 של OpenBSD (אוקטובר 2015), לִתְרוֹם זמין. צוין להחליף את פקודת sudo בתוך מערכת הבסיס של OpenBSD.

שלו לעומת סודו

אם אנחנו רגילים להגדרה קלאסית יותר של לינוקס, אז אנחנו רגילים להחיל את הפקודה su להשגת הרשאות שורש. אנחנו יכולים להנפיק את הפקודה su גם לכניסה יעילה בתור השורש (הבית של השורש הופך לבית שלנו).

שנה את שם תיקיית לינוקס

באמצעות הפצות מסוג זה נוכל להיכנס גם כמשתמש מסלול. אבל, זה לא רעיון טוב להתחבר כמשתמש שורש. אם אנו מיישמים הפצה שתלויה בפקודת su ומאפשרת כניסה של משתמש שורש, אז התחבר כמשתמש הרגיל שלנו ופקודת su למשתמש השורש.

סביר להניח שנשים לב שאיננו יכולים להיכנס כמשתמש השורש באמצעות הפצות מבוססות sudo. למעשה, בהפצות מסוימות כמו אובונטו, החשבון של משתמש השורש הושבת.

אנחנו לא יכולים להיכנס כמשתמש שורש ולהשתמש בפקודה su כדי להפוך למשתמש שורש. אנחנו יכולים לעשות זה להוציא פקודות אלה באמצעות פקודת sudo להשגת הרשאות ניהול.

שימוש בפקודת sudo

ישנן שתי דרכים שונות להפעיל יישומי ניהול עם לינוקס. או שנוכל לשנות את משתמש העל או משתמש השורש באמצעות הפקודה su או שנוכל להפיק תועלת מפקודת sudo.

כאשר אנו מנצלים את הזמן שלנו בטרמינל, sudo היא אחת הפקודות החשובות שבהן נשתמש לעתים קרובות למדי. שימוש בפקודת sudo במקום להתחבר כמשתמש השורש מוגן יותר מכיוון שאנו יכולים להעניק רק כמה הרשאות ניהול למשתמש בודד ללא ידיעתו על סיסמת השורש.

איך אנחנו מיישמים את זה תלוי באיזו הפצה אנחנו משתמשים. כמה הפצות מאפשרות למשתמש השורש (כמו OpenSUSE, Red Hat , או פדורה ), בעוד כמה לא (אוהבים דביאן ו אובונטו ).

השימוש בפקודה sudo הוא פשוט בצורה הבסיסית מאוד. לדוגמה, עלינו להפעיל את ה-dpkg עבור התקנת תוכנה. אם רק נריץ את dpkg -i software.deb הפקודה בתור המשתמש הרגיל נקבל הודעת שגיאה שלמשתמש אין הרשאות להפעיל את הפקודה.

זו הסיבה שמשתמשים סטנדרטיים כברירת מחדל אינם יכולים להתקין יישומים שונים על גבי מחשב לינוקס. אם ברצוננו להתקין אפליקציה כלשהי על מכונת לינוקס, עלינו להיות בעלי הרשאות של משתמש-על.

במקום זאת נריץ את sudo dpkg -i software.deb הפקודה כדי שנוכל לבצע את ההתקנה בהצלחה.

התקנת פקודת sudo

החבילה של הפקודה sudo מותקנת מראש על רוב ההפצות של לינוקס. כדי לאשר שהחבילה מותקנת במערכת שלנו, יש לבצע את השלבים הבאים:

  • קודם כל, פתח את הטרמינל שלנו.
  • הקלד sudo ולחץ על כפתור ה-Enter.
  • אם חבילת sudo מותקנת במערכת שלנו, היא תציג הודעה קצרה.
  • אחרת, נודיע על ידי הודעה, כלומר, פקודת sudo לא נמצאה.
  • אם החבילה לא מותקנת, נוכל להתקין את החבילה הזו בקלות על ידי החלת מנהל החבילות של הפצת יתר.

התקן את Sudo על Fedora ו- CentOS

 $ yum install sudo 

התקן את סודו בדביאן ובאובונטו

 $ apt install sudo 

לינוקס sudo

פקודה לעדכון sudo

לינוקס sudo