root סוף

אחת הטעויות העצומות של משתמשים מתחילים בלינוקס זה המחשבה שהם צריכים להשתמש במשתמש מסוג root בשביל כוח בכל זמן נתון, כי ב Windows זה נהוג להיות משתמש "חזק" (אתה לא רואה אותם בתור משתמשי system שהם משתמשים יותר חזקים אבל) אחרת כמעט ואי אפשר לעשות כלום במערכת אלא אם המנהל נתן לכם הרשאות, אבל בד"כ אתם המנהלים של המערכת, אז מה זה משנה …

ובכן בלינוקס אתם אולי תהיו גם המנהלים של המערכת, אבל רק כאשר אתם באמת צריכים לעשות משהו מיוחד, אז ורק אז (וכמובן בזהירות) תעלו לכם את ההרשאות ל root. ההבדל המקורי בצורת ההתנהלות בין Windows לבין שאר מערכות ההפעלה (כן דווקא Windows הוא היוצא מן הכלל), היא בכך שבשביל שתקבלו אפשרות להעלות הרשאות של המשתמש שלכם, הייתם צריכים לשלם הרבה כסף ואז לקבל מודול שעושה את זה (וגם זה יחסית רק בשנים האחרונות), כך שאם לא רציתם לעצור את כל העבודה שלכם בשביל לעשות משהו שדורש משתמש בעל הרשאות גובהות יותר, הייתם פשוט עובדים מההתחלה עם משתמש כזה (ועוד אומרים אח"כ שWindows ידידותית לשימוש).

בשאר מערכות ההפעלה (בייחוד אלו עם יכולות עבודה של ריבוי משתמשים בו זמנית במערכת -> דבר שב Windows עד היום עולה המון כסף לרישיון ומודולים שיתנו את היכולות האלו) יש אפשרות להעלות הרשאות בצורה זמנית למשתמש. ואם זה לא מספיק, בד"כ אותו משתמש יכול לתהחבר יותר מפעם אחת למערכת בו זמנית מה שמאפשר לנו יכולות עבודה טובות יותר. כאשר אנחנו זקוקים להרשאות גבוהות יותר מהמשתמש שלנו, אז אנחנו יכולים להעלות את זה נקודתית, ולא צריכים להתחבר מחדש, ולכן עצם השימוש ב root מיותר מבחינה לוגית, עוד לפני שמדברים בכלל על בעיות האבטחה.

העניין הוא שזה לא מספיק ! בלינוקס ובמרבית המערכות הפועלות כדוגמת יוניקס, או כמו יוניקס (או שהן יוניקס),  יש שיטת הרשאות מאוד פשוטה של: משתמש, קבוצה, וכל השאר.

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

למעשה אם תבינו איך שאר מערכות ההפעלה (שהן לא Windows) עובדות, אתם תראו שהחיים קלים יותר ופשוטים יותר ואין דרישה להיות משתמש על בשביל עבודה רגילה.

9 מחשבות על “root סוף

  1. Shai

    נראה כאילו הרבה זמן לא נגעת ב־Windows. לפחות חלק ממה שאתה כותב עליה כאן (מודולים בתשלום עבור ריבוי משתמשים?) הוא השמצות חסרות בסיס, דברים שהיו נכונים אולי לפני XP; להזכירך, XP יצאה ב־2001.

    הבעיה ב־Windows (כולל XP ואפילו אחריה) אגב, היתה חריפה הרבה יותר מאשר הצורך בהרשאות ניהול כדי לבצע פעולות ניהול: הרבה מאד תוכניות נכתבו בצורה מטופשת תחת ההנחה שיש להן הרשאות ניהול, ולכן לא עבדו בלעדיהן. אחת הדוגמאות הנפוצות היא של תכניות שכותבות קבצי מידע בתיקיית ההתקנה שלהן במקום בתיקייה ששייכת למשתמש. כלומר: התוכניות, יותר מאשר Windows עצמה, גרמו לצורך לעבוד כמנהל — גם כשאתה לא עושה שום פעולות ניהול.

    חוץ מזה, הסייגים וה"יכולות" קיימים גם בלינוקס (ע"ע selinux), והם קיימים כי יש להם דרישה, לא סתם כדי לסבך. נכון שלמשתמש הביתי זה בד"כ לא נחוץ, אבל הוא לא היחיד. אגב, איך היית מגיב על משפט כמו: "ביוניקס נושא ההרשאות מסובך מאד ודורש בעל מקצוע, היות ויש שם נושאים סבוכים של משתמש אמיתי ומשתמש אפקטיבי וביטי setuid ו־sticky וכל מיני קללות אחרות שאתם לא רוצים לגעת בהן, ורק מסבכות את החיים"?

    ובתור משתמש נאיבי: "מה 'חברים של האודיו'? למה במערכת הדפוקה שלך הצליל לא עובד ישר מהקופסה?"

    יש מספיק סיבות טובות להתקיף את Windows.

  2. ik_5 מאת

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

    מיקרוסופט מפרסמת ולא בצדק (אם כי זה עזר להרבה בתים בארץ ובעולם להכניס מחשב אליהם הביתה) שהמערכת הפעלה שלהם ידידותית מאוד. היא לא יודעת לעבוד נכון עם ריבוי משתמשים (גם במודלים בתשלום). היא לא יודעת להתמודד עם נושא ההרשאות נכון. אני לא יודע עד כמה אתה מכיר את נושא ההרשאות בWindows אבל הן לא דבר של מה בכך. ואני אפילו לא מזכיר את הנושא של Controller שעליו רמזתי, אלא על כך שלנהל הרשאות ברמה שלא רק קבוצה למשתמש קובעת, אלא עוד הגדרות נוספות שלא נמצאות בחלון ההרשאות ה"רגיל", אלא דורשות ידע מתקדם מאוד גם איך להגיע אליהן, וגם איך לאפשר/לבטל אותן. אני לא זוכר איך מגיעים אליהם בWindows, אבל רוב האנשים לא מודעים לזה, ואלו שלא מבינים את המשמעות של כל שורה בהגדרות האלו יעשו רק נזק ולכן חייבים איש מקצוע. זה לא השמצה, אלא פיזית המצב.
    יותר מזה, כל מערכת צריך ללמוד לעבוד איתה ואת הלך החשיבה שלך. עצם הדברים שלך מוכיח את הטענה שלי ש Windows אינה ידידותית, היות ואפילו אלו שמתכנתים בה אינם מבינים את הלך החשיבה של המערכת והסביבה שהם עובדים בה, אבל החברה שמייצרת את המערכת מעודדת עבודה שכזו, אחרת מזמן כבר היינו רואים שינוי גורף בגישה הזו.

    לגבי לינוקס וקבוצות, הנושא של הצליל היה דוגמא. במידה ואתה עובד בהפצה לשולחן העבודה אתה לא צריך לעשות את הפעולות האלו, אבל אם אתה כמוני עובד עם הפצות לשרתים וצריך גישה לdevice של הצליל (ולא בשביל לנגן פיזית צליל, אבל לנצל את היכולות שלו לעבודות אחרות של audio), אז לפעמים צריך לעשות את זה, בייחוד כשאתה כמוני, יוצר משתמש (אם לא קיים) לכל סוג עבודה בתוך השרת ולא מריץ הכל בתור root.

    בWindows הרבה דברים "ידידותיים" לא עובדים ישר מהקופסא. למשל ב XP שעדיין הגרסה הנפוצה, אתה צריך להתקין דריברים לכל התקן USB שהוא DoK שאתה מכניס למחשב, אחרת הוא לא יוכל לעבוד איתו. אז כן זו פעולה שבד"כ ב99% אוטומטית, אבל למה לעזאזל המשתמש צריך לעשות את זה ? אז נכון שמVista שיפרו את זה, אבל עדיין… ואם אתה תגיד שזה לא קורה ב XP זה בטח בגלל שהשתמשת ב DoK שונים כל כך הרבה פעמים שהוא כבר שומר את זה אצלו, אבל אם תכניס משהו שלא עבדת איתו עדיין, תהיה צריך להתקין דריבר מחדש, משהו שבלינוקס ב99% מהפעמים אתה לא תמצא את עצמך עושה עם DoK "רגיל".

    אתה באמת רוצה להיכנס לידידותיות של המערכות ? לדעתי לינוקס עוקף את Windows בזה בלי להתאמץ כאשר מדובר במשתמש ההדיוט.

  3. Shai

    אני חושב שלא החלטת למי אתה מדבר, ולכן המסר קצת לא ברור. את המשתמש ההדיוט, הביתי, לא מעניינים לא domain controllers ולא ריבוי משתמשים. המשתמש שצריך לטפל בהרשאות מורכבות ב־Windows, מקביל לזה שצריך להתעסק עם הרשאות מורכבות דרך selinux בלינוקס, וממילא הוא לא הדיוט; הוא אמור להבין מה הוא עושה.

    SP2 וגם SP3 הותקנו ב־XP כעדכוני אבטחה, ובחינם. מי שמריץ XP בלעדיהם כנראה עושה זאת בכוונה (למשל, במנותק מהאינטרנט), ויש לו בעיות הרבה יותר חמורות מאשר חוסר ב־sudo.

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

    בעניין DoK-ים: אין לי מושג על מה אתה מדבר. אני משתמש באופן קבוע בשלושה כאלה (דיסק נייד של Western Digital, הטלפון הנייד שלי נוקיה 6267, ו־DoK שקיבלתי ביום המפתחים של גוגל). מעולם לא הייתי צריך להתקין שום דרייבר, והמחשבים שאני מדבר עליהם הם שלי, לא "זונות". אם באמת היתה התקנה אוטומטית — מה אכפת לי? אני לא הייתי צריך לעשות שום דבר.

    ידידותיות היא בעיני המשתמש. אני גם חושב שלינוקס הרבה יותר ידידותית (למשל, Windows האוילה עדיין לא העתיקה את klipper אחרי כל השנים, למיטב ידיעתי אפילו לא ב־Windows 7). כל מה שאני טוען הוא שההתקפה הספציפית הזאת — על נושאי הרשאות ומשתמשים — מאחרת בעשור, ושהסיפור כאילו בלינוקס הכל הרבה יותר פשוט לא מחזיק מים.

  4. el.il

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

  5. אבים

    אני לא מבין על מה אתה מדבר. יש אפשרות גם בXP להריץ תחת הרשאת מנהל.
    אפשר גם משורת פקודה: runas. וזה בהחלט מקביל לSUDO מבחינת התנהגות.

    מעולם לא נזקקתי לריסטרט אחרי התקנת DOK וזה קורה אוטומטית.

  6. el.il

    במחשב שלי זה לא קרה, אבל במחשבים של בית הספר לדוגמה, שכל יום משחזרים אותם מהGhost זה קורה תמיד. בXP ברירת המחדל (וגם הצורה השפוייה ביותר להתנהג אם אתה לא רוצה להקליד כל הזמן סיסמה [זה לא שפוי מבחינת אבטחה, אבל בכללי להשתמש בXP זה לא שפוי מבחינת אבטחה אז לא משנה]) היא עבודה במצב מנהל.
    אחרת רוב התוכנות לא עובדות טוב.

  7. אורןה

    מודל ההרשאות הפשטני של יוניקס לוקה בהרבה חסר. מאוד יפה שהוא החזיק מעמד ארבעים שנה, אבל ברור שיש שינויים ושיפורים נדרשים, שמיקרוסופט הקדימו ועשו עוד בווינדוס 2000 או אף קודם לכן. אני לא יודע אם הם היו הראשונים (הם ידועים בגניבת פיצ'רים), אבל מתוך המערכות הנפוצות הם בהחלט מהחלוצים שהכניסו את המודלים החדשים לפרודקשן ותפוצה רחבה.

    ספציפית אני מדבר על ACLים. רק לפני שנים בודדות התאפשר לראשונה באופן נרחב ונתמך לתת לקובץ הרשאות לשתי קבוצות בו"ז.

    יש גם את ה- capabilties, אפשר לראות דברים מעניינים ב-
    /usr/include/linux/capability.h

  8. ik_5 מאת

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

    בלינוקס אתה יכול להתחבר (לצערי) ל Active Directory או כל שרת Kerbaros אחר.
    אתה יכול לנהל הרשאות באמצעות מסדי נתונים, על ידי רשתות ושרתי הרשאות ועוד.

    בנוסף יש גם הרשאות של מודולי קרנל ואחרים (כדוגמת selinux), יש לך יכולת הגדרת התנהגויות כדוגמת PAM ואחרים.

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

  9. אורןה

    עידו: אמנם יש רשימה ארוכה של בק-אנדים שאפשר להשתמש בהם לאותנטיקציה או שמירת מפות passwd/group,

    אבל לא דיברתי על שירותי אותנטיקציה ומפות משתמשים, אלא על מודל הרשאות על קבצים, ושם כידוע יש רק שתי שיטות:
    1. המודל היוניקסי הפשוט והמוגבל למקסימום קבוצה ומשתמש אחד לכל קובץ.
    2. ACLים.

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

כתיבת תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s