כיצד להוסיף משתמש לקובץ Sudoers ב-Mac OS X
תוכן עניינים:
ייתכן שמשתמשים מתקדמים יצטרכו להוסיף חשבון משתמש לקובץ sudoers, המאפשר לאותו משתמש להריץ פקודות מסוימות עם הרשאות שורש.
כדי לפשט מאוד את המשמעות של זה, חשבונות המשתמש החדשים הללו יוכלו לבצע פקודות מבלי לקבל שגיאות שנדחו בהרשאה או צורך להקדים פקודה מסוף עם sudo. זה עשוי להיות מועיל (או הכרחי) עבור כמה מצבים מורכבים, אבל זה מהווה סיכון אבטחה עבור אחרים, ולכן זה לא משהו שצריך לשנות כלאחר יד.
באופן כללי, לרוב המשתמשים עדיף להשתמש בחשבון אדמין, להשתמש ב-sudo על בסיס פקודה, או להפעיל את משתמש השורש. עם זאת, לשינוי ישיר של sudoers יש הרבה מצבי שימוש עבור אנשים מתקדמים עם ידע מעמיק של שורת הפקודה, ובמצבים מורכבים יותר נתמקד בהתאמת קובץ sudoers כמתואר כאן.
קובץ sudoers ממוקם ב-/etc/sudoers, אך בניגוד ל-/etc/hosts וקובצי תצורת מערכת רבים אחרים, אינך רוצה להפנות עורך טקסט כללי לקובץ כדי לשנות אותו. במקום זאת, תרצה להשתמש בפקודה ספציפית בשם 'visudo', אשר מאשרת תחביר תקין לפני שמירת המסמך.
חשוב: התאמת sudoers אינה מיועדת לרוב משתמשי Mac OS X. רק משתמשים מתקדמים שיש להם סיבה משכנעת לעשות זאת צריכים אי פעם לשנות את קובץ sudoers. אם אינך יודע מה אתה עושה ולמה אתה עושה זאת, אל תערוך את קובץ sudoers, ואל תוסיף אף משתמש לקובץ sudoers.זה עלול להוות סיכון אבטחה, או שאתה עלול לשבור משהו.
הוסף משתמש ל-Sudoers ב-Mac OS X
הוספת משתמשים ל-sudoers דורשת שימוש ב-vi, מה שיכול להיות די מבלבל אם אינכם רגילים לכך. למי שלא מכיר, נתאר את רצפי פקודות המקשים המדויקים לעריכה, הוספה ושמירה של הקובץ ב-vi, עקוב אחר ההוראות בקפידה.
- הפעל את מסוף והקלד את הפקודה הבאה:
- השתמש במקשי החצים כדי לנווט למטה לקטע "מפרט הרשאות משתמש", זה אמור להיראות כך:
- שים את הסמן בשורה הריקה הבאה מתחת לערך %admin ולאחר מכן הקש על מקש "A" כדי להוסיף טקסט, ולאחר מכן הקלד את הדברים הבאים בשורה חדשה, והחלפת 'שם משתמש' בקצרה של המשתמשים שם החשבון שאליו ברצונך להעניק הרשאה (לחץ על הכרטיסייה בין שם המשתמש ל-ALL):
- כעת לחץ על מקש "ESC" (escape) כדי להפסיק את עריכת הקובץ
- לחץ על מקש : (נקודתיים) ולאחר מכן הקלד "wq" ואחריו מקש Return כדי לשמור שינויים ולצאת vi
sudo visudo
מפרט הרשאות משתמש root ALL=(ALL) ALL %admin ALL=(ALL) ALL
שם משתמש ALL=(ALL) ALL
ככה זה אמור להיראות בערך, צילום המסך לדוגמה מציג את שם המשתמש 'osxdaily' נוסף:
אתה אמור להיות מוכן, אתה יכול לצטט את הקובץ sudoers כדי להיות בטוח שהקובץ השתנה:
cat /etc/sudoers
השתמש ב-cat עם grep כדי למצוא את שם המשתמש במהירות אם אינך רוצה לסרוק את כל הקובץ:
cat /etc/sudoers | grep שם משתמש
עכשיו לאחר ש'שם משתמש' נוסף לקובץ sudoers, אתה אמור להיות מוכן.
פתרון שגיאת "/etc/sudoers busy, try again later"
אם אתה מנסה לשנות sudoers ומקבל שגיאת 'visudo: /etc/sudoers busy, try again later', זה בדרך כלל אומר שהקובץ כבר נפתח, או על ידי משתמש אחר, או על ידי תאונה, או על ידי סגירה לא נכונה של visudo. אם אתה נמצא במחשב מרובה משתמשים, הקפד לבדוק עם משתמשים אחרים לפני שתעשה משהו נוסף, אבל בדרך כלל זה לא אמור לקרות לעתים קרובות במחשב משתמש יחיד. חשוב להבדיל בין השניים כי אם תדפוק את קובץ sudoers אתה יכול להגיע לעולם של תסכול, בעיות ובסופו של דבר שחזור של מערכת ההפעלה (או קובץ sudoers) מגיבויים, שהפתרון שלהם הוא מעבר לתחום של מאמר זה .
במחשבי Mac עם משתמש יחיד, שגיאת "sudoers busy" עשויה להתרחש לאחר יציאה מאפליקציית Terminal מבלי לצאת מ-vi, או אם ה-Terminal או Mac OS X קרסו, או אם הקובץ פתוח כעת באפליקציה אחרת מוֹשָׁב. הפתרון למקרי מכונה חד-פעמיים המתוארים הוא די פשוט, ואתה יכול לפתור את השגיאה על ידי הסרת הקובץ הזמני של sudoers המשמש כמנעול:
sudo rm /etc/sudoers.tmp
תרצה לעשות זאת רק אם אתה בטוח שמשתמש אחר (או עצמך) אינו משנה את הקובץ באופן פעיל, לא מקומי או מרחוק. מכיוון שהתאמת sudoers היא מתקדמת למדי באופן כללי, אנו מניחים שאתה יודע מה אתה עושה כאן, אבל אם אינך מצליח לאתר מה או מדוע sudoers פתוח, אתה יכול לנסות להשתמש ב-dtrace או opensnoop כדי לנטר את השימוש בקבצים.