הגדרה של פקודת umask מותאמת אישית ב-macOS

לכל קובץ ותיקייה ב-Mac יש מערכת הרשאות. בעת יצירת קובץ או תיקייה חדשים, הפקודה umask קובעת הרשאות אלה.

השלבים המתקדמים הללו מיועדים בעיקר למנהלי מערכת ולמשתמשים אחרים שמכירים את שורת הפקודה. יש לפעול בזהירות רבה בעת שינוי הרשאות ופקודות umask. שגיאה יכולה לגרום להורדת רמת האבטחה של קבצים, תיקיות או אפליקציות ב-Mac, או למנוע מאפליקציות לפעול.

מידע על הרשאות ופקודות umask

הרשאות. לכל קובץ, תיקייה ואפליקציה המאוחסנים ב-Mac יש הגדרות הרשאה, שקובעות אילו חשבונות משתמש יכולים לקרוא, לכתוב או להפעיל את הקובץ, התיקייה או האפליקציה. הרשאות אלה כוללות הרשאות POSIX ורשימות בקרת גישה (ACL). כדי לשנות את רמת הרשאות ה-POSIX של משתמש, אפשר להתאים את ערך פקודת ה-umask שלהן.

פקודות umask. מספר בן שלוש ספרות יכול לייצג את הרשאות ה-POSIX לקובץ. ייתכן שיופיעו הרשאות המיוצגות באופן זה כאשר מסתכלים עליהן ב-Terminal. כל ספרה נעה בין 0 ל-7. בעת יצירת קובץ, ערך ה-umask מופחת מערך ברירת מחדל מסוים (בדרך כלל 666 לקבצים ו-777 לתיקיות) כדי לקבוע את ההרשאות לקובץ החדש או לתיקייה החדשה. לדוגמה, umask עם ערך ברירת מחדל של 022 מגדיר הרשאות של 644 לקבצים חדשים ו-755 לתיקיות חדשות.

אפשר להגדיר את ה-umask במספר מיקומים, וכל מיקום משפיע על אפליקציות שונות. הגדרת ה-umask באופן שגוי עלולה לגרום לאבדן גישה לקבצים או להענקת גישה למשתמשים אחרים. למידע נוסף, עיינו בסעיף MODES בדף ההדרכה chmod(1)‎.

Umask לאפליקציות של משתמשים

התחברו כמנהל מערכת, הזינו את הפקודה הבאה ב-Terminal, והחליפו את nnn בערך ה-umask, כגון 027 או 002. פקודה זו מגדירה את ה-umask של המשתמש עבור כל אפליקציה שהוא פותח, כולל אפליקציות שאליהן הוא ניגש משורת הפקודה וקבצים חדשים שאפליקציות אלה יוצרות. לאחר הזנת פקודה זו, יתכן שיהיה צורך להפעיל מחדש את ה-Mac.

sudo launchctl config user umask nnn

אם ב-Terminal מופיעה התגובה "Could not write configuration: No such file or directory" (לא ניתן לכתוב תצורה: אין קובץ או תיקייה כאלה), יש לוודא שדיסק ההפעלה כולל תיקייה בכתובת /private/var/db/com.apple.xpc.launchd/config. אם תיקיית התצורה חסרה, יש לנסות שוב לאחר הזנת הפקודה הבאה כדי ליצור אותה:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Umask לתהליכי מערכת

התחברו כמנהל מערכת, הזינו את הפקודה הבאה ב-Terminal, והחליפו את nnn בערך ה-umask, כגון 027 או 002. פקודה זו מגדירה את ה-umask של המשתמש עבור כל daemon שהוא מפעיל בהקשר של המערכת. כדאי מאד להימנע מפעולה זו, שכן היא יכולה לשנות את ההרשאות לקבצים שבהם משתמשת המערכת. הרשאות מגבילות מדי עלולות למנוע מתוכנה לפעול, והרשאות שאינן מגבילות מספיק עלולות ליצור בעיות אבטחה. לאחר הזנת פקודה זו, יתכן שיהיה צורך להפעיל מחדש את ה-Mac.

sudo launchctl config system umask nnn

אם ב-Terminal מופיעה התגובה "Could not write configuration: No such file or directory" (לא ניתן לכתוב תצורה: אין קובץ או תיקייה כאלה), יש לוודא שדיסק ההפעלה כולל תיקייה בכתובת /private/var/db/com.apple.xpc.launchd/config. אם תיקיית התצורה חסרה, יש לנסות שוב לאחר הזנת הפקודה הבאה כדי ליצור אותה:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

למידע נוסף

לקבלת מידע נוסף על אופן הגדרת ה-umask, יש להזין manlaunchctl ב-Terminal.

תאריך פרסום: