MTE מסביר: ההבדלים בין Su, Sudo Su, Sudo -s ו- Sudo-i
על שורת הפקודה לינוקס ישנן דרכים רבות ושונות כדי לקבל הפעלה השורש בטרמינל. זה יכול ליצור בלבול, כמו רוב המשתמשים מתחילים אשר מחפשים להרוויח שורש אולי לא מכיר איך כל פקודה יכולה לקבל גישה שורש, איך הם שונים וכאשר ההבדלים האלה חשובים.
זה בגלל זה אנחנו יהיה לפרק כל פקודות שונות רבות השתמשו כדי לקבל גישה שורש במסוף. נסביר בדיוק איך הם מרוויחים שורש, מתי להשתמש בהם, וכל מה שביניהם.
su
הפקודה su
מחליפה את המשתמש הנוכחי בשימוש על ידי המערכת בקליפה. אתה יכול לעבור לכל משתמש על ידי לקיחת su
והוספת שם משתמש על ידי זה. זה יגיד למערכת לעבור (ובאופן בסיסי להתנתק) המשתמש הנוכחי אחד זה שצוין. לחלופין, הפקודה su
יכולה לקבל גישה שורש על ידי הזנת su
מבלי לציין שום דבר אחרי הפקודה.
"Su" משמש בצורה הטובה ביותר כאשר משתמש רוצה גישה ישירה לחשבון השורש במערכת. זה לא עובר sudo
או משהו כזה. במקום זאת, הסיסמה של משתמש הבסיס חייבת להיות ידועה ולהשתמש בה כדי להתחבר אליה. יתר על כן, דרכים אחרות להשגת שורש אין להם את היתרון של מקבל גישה לספריית הבסיס שורש סביבת השורש.
sudo su
פקודה זו היא בעיקרה בדיוק כמו פועל בדיוק su
בקליפה. במקום לומר למערכת "להחליף משתמשים" ישירות, אתה אומר את זה כדי להפעיל את הפקודה "su" כמו השורש. כאשר sudo su
מופעל, ".profile", ".bashrc" ו- "/ etc / profile" יתחילו, בדומה להפעלת su
(או su root
). הסיבה לכך היא שאם כל פקודה היא לרוץ עם sudo
מול זה, זה פקודה שניתנה הרשאות השורש.
אמנם אין הבדל גדול מ "su", sudo su
הוא עדיין פקודה שימושית מאוד מסיבה חשובה אחת: כאשר משתמש פועל "su" כדי לקבל גישה שורש במערכת, הם חייבים לדעת את סיסמת השורש. הדרך השורש ניתנת עם sudo su
היא על ידי בקשת הסיסמה של המשתמש הנוכחי. זה מאפשר להשיג שורש ללא הסיסמה השורש אשר מגביר את האבטחה.
sudo-i
השימוש ב- sudo -i
הוא כמעט כמו sudo su
. משתמשים יכולים לקבל שורש על ידי "sudo" ולא על ידי מעבר למשתמש הבסיס. בדומה ל- sudo su
, הדגל -i
מאפשר למשתמש לקבל סביבת שורש מבלי לדעת את סיסמת חשבון הבסיס. sudo -i
דומה מאוד לשימוש sudo su
בכך שהוא יקרא את כל הקבצים הסביבתיים (.profile, וכו ') ולהגדיר את הסביבה בתוך הקליפה עם זה.
איפה זה שונה "sudo su" זה sudo -i
היא דרך הרבה יותר נקי השגת שורש וסביבת שורש ללא אינטראקציה ישירה עם המשתמש השורש. אֵיך? עם sudo su
אתה משתמש יותר מפעם אחת פקודות setuid
root. עובדה זו עושה את זה הרבה יותר מאתגר כדי להבין מה משתנים סביבתיים יישמרו ואילו אלה ישתנו (כאשר swamping לסביבה שורש). זה לא נכון עם sudo -i
, וזה בגלל זה רוב האנשים רואים את זה כשיטה המועדפת כדי להשיג שורש מבלי להיכנס ישירות.
sudo - s
-s
עבור הפקודה "sudo" קורא את המשתנה $ SHELL של פקודות ההפעלה הנוכחיות של המשתמש. פקודה זו פועלת כאילו המשתמש מפעיל sudo /bin/bash
. Sudo -s
הוא "לא התחברות" פגז בסגנון. משמעות הדבר היא שבניגוד לפקודה כמו sudo -i
או sudo su
, המערכת לא תקרא קבצים סביבתיים כלשהם. משמעות הדבר היא שכאשר משתמש אומר את הקליפה להריץ sudo -s
, זה השורש השורש אבל לא ישנה את המשתמש או את סביבת המשתמש. הבית שלך לא יהיה הבית שורש, וכו '
פקודה זו משמשת הטובה ביותר כאשר המשתמש לא רוצה לגעת שורש בכלל רק רוצה פגז שורש לביצוע פקודות קל. פקודות אחרות דיברו על גישה השורש של מעל, אבל לגעת שורש קבצים סביבתיים, ולאפשר למשתמשים גישה מלאה יותר שורש (אשר יכול להיות בעיה אבטחה).
מסקנה: איזו פקודה עלי להשתמש?
כל פקודה יש להשתמש במקרה שלה. הדבר החשוב כאן הוא להבין מה עושה כל פקודה ומתי להשתמש בהם. כפי שהיא עומדת, sudo -i
היא הדרך המעשית ביותר, נקי כדי לקבל סביבת שורש. מצד שני, אלה באמצעות sudo -s
ימצאו שהם יכולים להשיג פגז שורש ללא היכולת לגעת בסביבת השורש, משהו שהוסיף הטבות אבטחה.
אין באמת פקודה אחת ברשימה זו כי הוא 100% את הטוב ביותר. כאשר משתמשים מקבלים יותר נוח עם שורת הפקודה, הם יצטרכו לקחת כל דרך של השורש השורש (ויש רבים) בחשבון ולשקול את היתרונות והחסרונות ולפעול בהתאם. אני מקווה כי בעזרת מאמר זה החלטות אלה יהיה קל יותר לעשות.
באיזו דרך אתה מעדיף לקבל גישה שורש בלינוקס? ספר לנו למטה!
אשראי תמונה: blog.david-jensen.com