Umask Linux Pro
תוכן עניינים:
במערכות הפעלה לינוקס ויוניקס, כל הקבצים החדשים נוצרים עם קבוצת הרשאות ברירת מחדל. תוכנית השירות
umask
מאפשרת לך להציג או להגדיר את מסכת יצירת מצב הקבצים, הקובעת את ביטולי ההרשאות לקבצים או ספריות חדשים שנוצרו.
זה משמש על ידי פקודות mkdir, touch, te ופקודות אחרות שיוצרות קבצים וספריות חדשים.
הרשאות לינוקס
לפני שנלך הלאה, נסביר בקרוב את מודל ההרשאות לינוקס.
בלינוקס כל קובץ משויך לבעלים ולקבוצה ומוקצה לו הרשאות גישה לשלוש קבוצות משתמשים שונות:
- בעל הקובץ. חברי הקבוצה.כולם.
ישנם שלושה סוגי הרשאות החלים על כל כיתה:
- הרשאת הקריאה. הרשאת הכתיבה. ביצוע ההרשאה.
מושג זה מאפשר לך לציין אילו משתמשים רשאים לקרוא את הקובץ, לכתוב לקובץ או לבצע את הקובץ.
לצפייה בהרשאות הקובץ, השתמש בפקודה
ls
:
ls -l dirname
drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type
התו הראשון מייצג את סוג הקובץ שיכול להיות קובץ רגיל (
-
), ספריה (
d
), קישור סמלי (
l
) או כל סוג אחר של קובץ מיוחד.
תשע התווים הבאים מייצגים את ההרשאות, שלוש קבוצות של שלוש תווים כל אחת. הסטים הראשונים מציגים את הרשאות הבעלים, את הרשאות הקבוצה השנייה, והסט האחרון מציג הרשאות לכל אחד אחר.
התו
r
עם הערך האוקטלי של
4
עומד לקריאה,
w
עם הערך האוקטלי של
2
לכתיבה,
x
עם הערך האוקטלי של
1
לצורך ביצוע הרשאה ו (
-
) עם הערך האוקטלי של
0
ללא הרשאות.
ישנם גם שלושה סוגים אחרים של הרשאות קבצים מיוחדות:
setuid
,
setgid
ו-
Sticky Bit
.
בדוגמה שלמעלה (
rwxr-xr-x
) פירושו כי הבעלים קרא הרשאות, כתיבה וביצוע הרשאות (
rwx
), הקבוצה ואחרים קראו
rwx
הרשאות.
אם אנו מייצגים את הרשאות הקובץ באמצעות סימון מספרי נגיע למספר
755
:
- בעלים:
rwx
=4+2+1 = 7
קבוצה:rx
=4+0+1 = 5
אחר:rx
=4+0+1 = 5
כאשר הם מיוצגים בסימון מספרי, להרשאות יכולות להיות שלוש או ארבע ספרות אוקטליות (0-7). הספרה הראשונה מייצגת את ההרשאות המיוחדות, ובמידה והיא מושמטת זה אומר שלא מוגדרות הרשאות מיוחדות בקובץ. במקרה שלנו
755
זהה לשנת
0755
. הספרה הראשונה יכולה להיות שילוב של
4
עבור
setuid
,
2
עבור
setgid
ו-
1
עבור
Sticky Bit
.
ניתן לשנות את הרשאות הקבצים באמצעות הפקודה
chmod
והבעלות באמצעות הפקודה
chown
.
הבנת umask
כברירת מחדל, במערכות לינוקס, הרשאות היצירה של ברירת המחדל הן
666
לקבצים, מה שנותן הרשאה לקריאה וכתיבה למשתמש, לקבוצה ואחרים, ול
777
לספריות, שמשמעותה קריאה, כתיבה והפעלה של הרשאה למשתמש, לקבוצה, וכן אחרים. לינוקס אינה מאפשרת ליצור קובץ עם הרשאות ביצוע.
ניתן לשנות את הרשאות היצירה של ברירת המחדל באמצעות תוכנית השירות
umask
.
umask
משפיע רק על סביבת הקליפה הנוכחית. ברוב ההפצות של לינוקס, ערך
pam_umask.so
ברירת המחדל של המערכת מוגדר בקובץ
pam_umask.so
או
/etc/profile
.
לצפייה בערך המסכה הנוכחי, פשוט הקלד
umask
ללא כל טיעונים:
umask
הפלט יכלול את ה-
022
ערך
umask
מכיל את פיסות ההרשאה שלא יוגדרו בקבצים ובספריות החדשים שנוצרו.
כפי שכבר הזכרנו, הרשאות ברירת המחדל ליצירה עבור קבצים הן
666
ועבור ספריות
777
. כדי לחשב את פיסות ההרשאה של הקבצים החדשים מחסירים את ערך האומסק מערך ברירת המחדל.
לדוגמה, כדי לחשב כיצד
uname 022
ישפיע על קבצים וספריות חדשים שנוצרו, השתמש ב:
- קבצים:
666 - 022 = 644
. הבעלים יכול לקרוא ולשנות את הקבצים. הקבוצה ואחרים יכולים לקרוא את הקבצים בלבד. ספריות:777 - 022 = 755
755. הבעלים יכול לתקליטור בספרייה ולרשימה לקרוא, לשנות, ליצור או למחוק את הקבצים בספריה. הקבוצה ואחרים יכוליםcd
בספרייה ולרשימה ולקרוא את הקבצים.
אתה יכול גם להציג את ערך המסכה בסימון סמלי באמצעות האפשרות
-S
:
umask -S
u=rwx, g=rx, o=rx
בשונה מהציון המספרי, ערך הסימון הסמלי מכיל את ביטי ההרשאה שיוגדרו על הקבצים והספריות החדשים שנוצרו.
הגדרת ערך המסכה
ניתן להגדיר את מסכת יצירת הקבצים באמצעות סימון אוקטלי או סמלי. כדי להפוך את השינויים לקבוע, קבע את ערך
umask
החדש בקובץ תצורה גלובלי כמו
/etc/profile
קובץ
/etc/profile
אשר ישפיע על כל המשתמשים או בקובצי התצורה של הקונכיות של המשתמש כגון
~/.profile
,
~/.zshrc
או
~/.zshrc
אשר ישפיע רק על המשתמש. לקבצי המשתמש עדיפות על הקבצים הגלובליים.
לפני שתבצע שינויים בערך
umask
וודא שהערך החדש אינו מהווה סיכון ביטחוני פוטנציאלי. יש להשתמש בערכים מגבילים פחות מ-
022
בזהירות רבה. לדוגמה,
umask 000
פירושו שכל אחד יקרא, יכתוב ויבצע הרשאה עבור כל הקבצים החדשים שנוצרו.
נניח שאנחנו רוצים להגדיר הרשאות מגבילות יותר עבור הקבצים והספריות החדשים שנוצרו, כך שאחרים לא יוכלו להעביר
cd
לספריות ולקרוא קבצים. ההרשאות שאנו רוצים הן
750
עבור ספריות ו-
640
לקבצים.
כדי לחשב את ערך
umask
פשוט מחסרים את ההרשאות הרצויות מהברירת המחדל:
ערך Umask:
777-750 = 027
ערך
umask
הרצוי המיוצג בסימון מספרי הוא
027
.
כדי להגדיר לצמיתות את הערך החדש במערכת באופן מלא, פתח את קובץ
/etc/profile
עם עורך הטקסט שלך:
sudo nano /etc/profile
ולשנות או להוסיף את השורה הבאה בתחילת הקובץ:
/ וכו '/ פרופיל
umask 027
כדי שינויים ייכנסו לתוקף, הפעל את פקודת
source
הבאה או כניסה, והיכנס:
source /etc/profile
כדי לאמת את ההגדרות החדשות ניצור קובץ
mkdir
חדשים באמצעות
mkdir
touch
:
touch newfile
drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile
דרך נוספת להגדיר את מסכת יצירת הקבצים היא באמצעות הסימון הסמלי. לדוגמא
umask u=rwx, g=rx, o=
זהה ל-
umask 027
.
סיכום
במדריך זה הסברנו על הרשאות לינוקס וכיצד להשתמש בפקודת
umask
כדי להגדיר את ביטולי ההרשאות לקבצים או ספריות חדשים שנוצרו.
לקבלת מידע נוסף, הקלד
man umask
בטרמינל שלך.
פקודת Chmod בלינוקס (הרשאות קבצים)

ב- Linux הגישה לקבצים מנוהלת באמצעות הרשאות הקבצים, התכונות והבעלות. מדריך זה מכסה כיצד להשתמש בפקודה chmod כדי לשנות את הרשאות הגישה של קבצים וספריות.
פקודת Chgrp בלינוקס (שנה קבוצה)

בלינוקס כל קובץ משויך לבעלים ולקבוצה ויש לו הרשאות הקובעות אילו משתמשים עשויים לקרוא, לכתוב או לבצע את הקובץ. הפקודה chgrpc משנה את הבעלות בקבוצה על קבצים נתונים.
פקודת Cp בלינוקס (העתקת קבצים)

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