הרשאות משתמשים

מאת אורי עידן

עודכן לאחרונה ב- 23.04.2006

משך השיעור

45 דקות

מטרת השיעור

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

משתמשים (זמן לסוף השיעור 00:45)

לינוקס היא מערכת הפעלה התומכת בריבוי משתמשים ומשימות, כלומר מספר רב של משתמשים יכולים
לעשות שימוש באותו מחשב בעת ובעונה אחת. לינוק ס ידועה בתור מערכת מאובטחת, ולכן לא במיקרה,
כל משתמש במערכת מקבל "פינה" משלו שנקראת סיפריית ה- home ומסומנת כ- ~ (גל).
בספריית הבית של כל משתמש, שמורים הקבצים האישיים שלו שיכולים להיות כל דבר, מההגדרות שקובעות מה
תהיה התמונה שברקע שולחן העבודה ועד מסמכים וקבצי מדיה למיניהם. כל משתמש יכול לשנות את הקבצים שלו,
ורק את הקבצים שלו (אלא אם כן הוא בוחר אחרת). אחרת המערכת לא היתה מאובטחת כמו שהיינו רוצים.
אדם א' יכול היה לשנות או למחוק את הקבצים של אדם ב'.
אבל כמו שב"שר הטבעות" הייתה טבעת אחת ששלטה בכולן, כך גם כאן, אלא שכאן היא בדמות משתמש מיוחד
שנקרא "משתמש השורש" (root). צריך "משתמש השורש" כי מפעם לפעם יש צורך לבצע שינויים שנוגעים לכל המשתמשים,
כמו לדוגמא, התקנת תוכנה או חומרה חדשים, לצורך תחזוקה של המערכת או אפילו בכדי ליצור משתמשים חדשים
- “עם כח גדול, באה אחריות גדולה”.
שימוש בחשבון זה טומן בחובו סיכון מסוים - ניתן בעזרת הקשות שגויות ספורות למחוק את כל תכולת המחשב.
על כן, מומלץ להמנע ככל הניתן משימוש בחשבון זה ולהשתמש בו, בזהירות רבה, רק כאשר הדבר הכרחי.
לבסוף, כמנהלי מערכת לינוקס, עליכם לזכור תמיד את הכלל הראשון במדריך הטרמפיסט לגלקסיה: Don't Panic!
ראשית, נלמד כיצד להפוך את עצמנו למשתמש השורש, כדי שנוכל לבצע פעולות תחזוקה. לשם כך, נפתח, כמשתמש רגיל,
מסוף ונקליד בו את הפקודה su (קיצור ל-"Switch User" או "Super User"). כעת אנו נדרשים להקליד את סיסמת משתמש
השורש, אותה קבענו במנהל ההתקנה הראשונית.
ברגע ששינינו את המשתמש ל"משתמש השורש" סימן הסולמית (#) מחליף את סימן הדולר ($) בשורת הפקודה.
זה בד"כ מסמן ומזכיר לנו כי אנו כרגע מוכרים כ"משתמש שורש” ואל לנו לעשות פעולות שנתחרט עליהן –
כמו למשל למחוק את כל התוכן שעל הכונן הקשיח.
בעזרת su נוכל גם להפוך לכל משתמש אחר בתנאי שאנו יודעים את סיסמתו. במקום לכתוב בשורת הפקודה רק su,
נוסיף אחריו רווח ואת שם המשתמש שאנו רוצים להפוך אליו. root היא ברירת מחדל אם לא מוקלד שם משתמש ספציפי.

קבוצות והרשאות קבצים (זמן לסוף השיעור 00:35)

מה קורה אם נרצה לשתף קובץ שלנו עם שאר המשתמשים בכיתה שעובדים על אותו המחשב כך שיוכלו לשנותו?
הפתרון פשוט. באופן טבעי במערכת, כל משתמש שייך לקבוצה ולכל קובץ יש משתמש וקבוצה שמוגדרים כבעלים של הקובץ.
בד"כ הבעלים הוא המשתמש שיצר את הקובץ והקבוצה שאליה הוא משתייך. המשתמש שהוא הבעלים של הקובץ
וגם "משתמש השורש” בעל יכולות-העל, יכולים לשנות את ההרשאות של הקובץ, ולציין מה מותר למשתמשים לעשות עם הקובץ.

תרגיל

פתיחת מסוף וכתיבת:

ls
ls היא פקודה המציגה את הקבצים והספריות הקיימים בספריה הנוכחית שאנו נמצאים בה.
כעת כיתבו:
ls -l
ה “l-” אומר ל- ls שתציג מידע נוסף על הקבצים והספריות, כמו אילו הרשאות מוגדרות לכל קובץ, למי הוא שייך ולאיזו הקבוצה.
העמודה הראשונה מתארת את ההרשאות של הקובץ, כאשר האות הראשונה בהרשאות מתארת את סוג הקובץ: "-"
מסמן קובץ רגיל, "d" מסמן מדריך. שלוש האותיות הבאות מסמנות את הרשאות הקריאה (r), כתיבה (w) והרצה (x)
של המשתמש שהוא בעל הקובץ. שלוש האותיות שאחריהן מפרטות את ההרשאות למשתמשים השייכים לקבוצה שיש לה
את הבעלות על הקובץ, ושלוש האותיות האחרונות מסמנות את ההרשאות שיש לשאר המשתמשים במערכת.

הערה

שימו לב שהרשאות הרצה לגבי מדריך מסמנות למעשה הרשאה להיכנס למדריך ולמדריכי המשנה שלו. כל אלו הם הרשאות הגישה.

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

תרגיל:

ls -a
ה- "a-” אומר ל- ls להציג את כל הקבצים, גם החבויים.
בספריית הבית רוב הקבצים החבויים קשורים להגדרות האישיות של המשתמש.

שינוי הרשאות קבצים וספריות (זמן לסוף השיעור 00:20)

ניתן לשנות את ההרשאות של קובץ או מדריך בעזרת הפקודה chmod, וניתן לשנות בעלות בעזרת הפקודה chown.
ניתן לקבוע את ברירת המחדל של ההרשאות עבור קבצים חדשים בעזרת הפקודה umask.
אנחנו נתרגל רק את הפקודה הראשונה מבין שלושת הדוגמאות, זו שמשנה את הרשאות הקבצים.

תרגיל:

קודם כל נלמד איך יוצרים קובץ ריק חדש:

touch tommy

פקודה זו יצרה קובץ חדש בשם tommy, כדי לשנות את שם הקובץ בשם אחר, נחליף את tommy בשם אחר כרצוננו.

תרגיל:

לאחר שיצרנו את הקובץ נוכל לראות את ההרשאות שלו בעזרת הפקודה:

ls -l tommy

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

תרגיל:

שינוי ההרשאות לקובץ יבוצע ע"י:

chmod u+x+r+w,g-x-r-w,a-x-r-w tommy
u מסמן את הרשאות המשתמש, g מסמן את הרשאות הקבוצה ו- a מסמן את הגדרות כל המשתמשים. + או – לפני ה- x,r וה- w
מסמנים האם לאשר או לא לאשר את ההרשאה. הרצת הפקודה שינתה את הרשאות הקובץ כך שרק המשתמש יוכל לשנות,להריץ
או לקרוא אותו.

תרגיל:

שנו את הרשאות הקובץ שיצרתם כך שכל המשתמשים יוכלו לקרוא ולכתוב עליו, אך לכם תהיה רק הרשאה
לקרוא מהקובץ ולקבוצתכם לא תהיה אף הרשאה.

סיכום (זמן לסוף השיעור 00:05)

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

  1. ls – מציגה את הקבצים בספריה הנוכחית
  2. touch – יוצרת קובץ ריק חדש
  3. chmod – משנה את ההשראות עבור קובץ או ספרייה