על מנת להגן על מערכת הקבצים ב- UNIX מוגדרים לכל קובץ במערכת שלושה סוגי הרשאות גישה:
לקריאת הקובץ והעתקתו (read) - יסומן ב- r.
לכתיבה לקובץ ושינוי תוכן (write) יסומן ב- w.
להרצת הקובץ וביצועו (execute) - יסומן ב- e.
כמו כן קיימות שלוש קבוצות משתמשים:
המשתמש שיצר הקובץ - הבעלים (user).
הקבוצה אליה משתייך יוצר הקובץ (group).
שאר משתמשי המערכת (other).
פקודת ls, מאפשרת לקבל פירוט הרשאות הגישה של המשתמשים השונים עבור כל קובץ במערכת, ע"י הקלדת הפקודה:
ls -l
לדוגמא: בספריית dir, יתקבל עבור הקובץ filename, המידע הבא:
-rwxrw-rwx 1 user1 dir 86 Feb 23
התו הראשון מציין האם זוהי ספריה (d), קובץ (-), קובץ מערכת (s) או קובץ מוסתר (h).
תשעת התווים שאחריו מופיעים בקבוצות בנות שלוש תווים כל אחת המציינות את הרשאות הגישה לקובץ - לקריאה לכתיבה ולביצוע (בסדר הזה):
קבוצה ראשונה – הרשאות הגישה עבור הבעלים.
קבוצה שנייה – הרשאות הגישה עבור הקבוצה אליה מתשייך הבעלים.
קבוצה השלישית – הרשאות גישה עבור שאר משתמשי המערכת.
תווי ההרשאה האפשריים, הינם:
r |
הרשאה לקריאת הקובץ. |
w |
הרשאה לכתיבה לקובץ. |
x |
הרשאה לביצוע (הרצה) הקובץ. |
- |
אין הרשאה. |
כעת נראה כיצד ניתן לבצע שינויים בהרשאות הגישה לקובץ.
הפקודה chmod, הינה הכלי לביצוע שינוי שכזה בהרשאות קובץ או ספריית קבצים.
תחביר הפקודה:
% chmod [options] mode pathname
שדה ה- options
קיימות שתי אפשרויות לשדה זה:
ערך |
משמעות |
-R |
כאשר מציינים ספריה בשורת הפקודה, אופציה זו תקבע את הרשאות הגישה של כל הקבצים המופיעים תחת הספרייה המצוינת את התכונות המוגדרות עבור הספרייה. |
-f |
מאלצת את המערכת להחזיר תמיד ערך הצלחה, ללא הודעת שגיאה, כך שאפילו עם המערכת נתקלה בשגיאה, ואף לא שינתה הרשאות של קובץ מסוים, המשתמש לא יקבל הודעה על כך. |
שדה ה- mode
בשדה זה ניתן לציין את מצב ההרשאות הרצוי ע"י שימוש בתווי ההרשאה שפורטו לעיל או לחילופי ע"י הצבת ערכים אוקטליים.
תחביר שדה ה- mode: [who] op permission [op permission ... ]
כאשר ערך ה- who יכול להיות צירוף כלשהו של המצבים הבאים:
u |
קביעת הרשאות למשתמש יוצר הקובץ – הבעלים. |
g |
קביעת הרשאות לקבוצה אליה משתייך המשתמש. |
o |
קביעת הרשאות לשאר משתמשי המערכת. |
a |
קביעת כל ההרשאות – ברירת המחדל. |
op מקבל אופרטור המציין את מצב ההרשאה הרצוי, האם יש להפסיק ההרשאה, או להפעילה. אופרטוריים אפשריים:
+ |
מפעיל הרשאה. |
- |
מבטל הרשאה. |
= |
מפעיל ההרשאות המצוינות ומבטל את שאר ההרשאות. |
הערה: אין להשאיר רווח בין האופרטור לשדה ה- permission.
שדה ה- permission בשימוש בתווי הרשאה יקבל צירוף כלשהו של המצבים הבאים:
r |
הרשאת קריאה. נטרול האפשרות מונע קריאת הקובץ. |
w |
הרשאת כתיבה. נטרול האפשרות מונע כתיבה לקובץ. |
x |
הרשאת ביצוע. נטרול האפשרות מונע ביצוע הקובץ. |
שים לב: ניתן לציין ריבוי תווי הרשאה, כשהם מופרדים בפסיקים.
דוגמאות:
הקדלת:
chmod gu+rwx file1
ישנה את הרשאות הגישה כך שהבעלים וחברי הקבוצה אליה הוא שיך יוכלו לקרוא, לכתוב ולהריץ את הקובץ file1.
הקלדת:
chmod u-w file1
תחסום בפני הבעלים את אפשרות הכתיבה לקובץ file1.
הקלדת:
chmod uo=x file1
תאפשר לבעלים ולכל המשתמשים שאינם משתייכים לקבוצתו להריץ את הקובץ, אולם כל שאר הרשאות הגישה יחסמו.
הקלדת:
chmod -R a-rwx dir1/dir2
תחסום את הרשאות הגישה של הספרייה המצוינת בשורת הפקודה וכל הקבצים ותתי-הספריות שבה לקריאה, לכתיבה ולביצוע לכל המשתמשים במערכת.
לצפיה בסרטון פלאש (חלק 2):