'מערכת משנה עבור יישומים מבוססי UNIX' ‏(SUA) מספקת מערכת משנה התואמת ל- Portable Operating System Interface (תואמת POSIX) המפעילה רכיבי מעטפת, כלי שירות ויישומים של UNIX באופן מקורי לצד יישומים של Microsoft® Windows®‎. נושא זה מתאר כמה משיקולי העבודה עבור משתמשים הזקוקים למערכת הפעלה תואמת POSIX.

תאימות מעטפת של POSIX

מעטפת SUA Korn פועלת בהתאם לאופן הפעולה המסורתי של מעטפת Korn, שהוא זהה כמעט לחלוטין לאופן הפעולה של POSIX. אם אתה זקוק להתאמה מרבית ל- POSIX, הדרושה עבור סביבות עבודה מסוימות, עיין בהבדלים בין מעטפת Korn ל- POSIX בתיעוד ksh(1)‎ בקבצי העזרה הנמצאים בחבילת ההורדה Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications.

כדי לקבל התאמה מלאה ל- POSIX.2 ממעטפת Korn, עליך להפעיל את מעטפת Korn במצב POSIX. כדי להפעיל את מעטפת Korn במצב POSIX, בצע אחת מהפעולות הבאות:

  • פתח את המעטפת Korn עם האפשרות ‎-o posix.

  • הפעל את ערכת הפקודות ‎-o posix מתוך המעטפת.

  • הגדר את פרמטר המעטפת POSIXLY_CORRECT.

אין תמיכה עבור התאמה ל- POSIX במעטפת C. שלא כמו מעטפת Korn, למעטפת C אין אפשרויות פקודה במצב POSIX.

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

כברירת מחדל, למשתמשי Windows יש הרשאות למעבר בעץ ספריות, למרות שייתכן שאין להם הרשאות לגשת לכל אחת מהספריות בנתיב. במערכות POSIX, אין באפשרותך לגשת לספריה אלא אם יש לך הרשאה לגשת לכל אחת מהספריות בנתיב לספריה. אופן פעולה זה של POSIX מוכר בשם בדיקת מעבר. לדוגמה, אם אין לך הרשאה לגשת לספריה, אין באפשרותך לשנות את הספריה הנוכחית לאף אחת מספריות המשנה שלה, גם אם יש לך הרשאה לגשת לספריות המשנה. כברירת מחדל ב- Windows, באפשרותך לשנות את הספריה הנוכחית לכל ספריות המשנה שעבורן יש לך הרשאה.

ב- Windows, קיימת הרשאה מיוחדת הנקראת הרשאת 'העבר תיקיה/הפעל קובץ', שבאפשרותך להגדיר עבור משתמש או קבוצה. באפשרותך לקבוע את תצורת הרשאה זו כדי לאפשר או למנוע מעבר בעץ ספריות. ההרשאה 'העבר תיקיה' תיכנס לתוקף רק כאשר לקבוצה או למשתמש לא הוענקה זכות המשתמש 'עקוף בדיקת מעבר' ביישום ה- Snap-in של 'מדיניות קבוצתית'. ב- Microsoft Windows 2000, כברירת מחדל, הקבוצה Everyone מקבלת את זכות המשתמש 'עקוף בדיקת מעבר'. במערכות ההפעלה Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server 2003 ו- Windows XP, זכות זו קיימת עבור הקבוצות Administrators, Backup Operators, Everyone, Power Users, ו-Users. לקבלת התאמה מרבית עם תקנים של POSIX, הסר את זכות המשתמש 'עקוף בדיקת מעבר' מכל המשתמשים והקבוצות מלבד הקבוצה Backup Operators. כדי להתאים להרשאות שניתנו למשתמש הבסיס ביישומי UNIX רבים אחרים, הסר את זכות המשתמש 'עקוף בדיקת מעבר' מכל המשתמשים מלבד הקבוצות Administrators ו- Backup Operators.

חריגה מאופן הפעולה של בדיקת מעבר ב- Su וב- setuid

משתמשי בסיס המשתמשים בפקודה su כדי להפעיל כמשתמשים אחרים, ומשתמשים המשתמשים בתהליכי setuid (ובתהליכים הכוללים קריאות משויכות setuid) חורגים מאופן הפעולה המהווה ברירת מחדל המתואר לעיל, בכך שהם שומרים על זכויות מסוימות של מעבר בספריה.

הסרת הזכות עקוף בדיקת מעבר מחשבונות של משתמשים גורמת לאופן פעולה תואם POSIX. עם זאת, כאשר משתמש בסיס מנסה להפעיל את הפקודה su על כל משתמש אחר בלי לספק סיסמה, ההפעלה שנוצרת אינה פועלת כמתואר לעיל. תהליכים שהתחילו לאחר שמשתמש הבסיס הפעיל את הפקודה su בלי לספק סיסמה יכולים לגשת לעץ ספריה ולעבור בו, אם כי ייתכן שלא יהיו להם הרשאות גישה לכל ספריה בנתיב.

תהליכי Setuid ותהליכים הקוראים ל- setuid, seteuid, או ל- setreuid, מפגינים את אותה התנהגות. לאחר הסרת הזכות עקוף בדיקת מעבר מהחשבון של המשתמש המפעיל תהליכים אלה, התהליכים יכולים להתקדם דרך עץ בספריה, אם כי ייתכן שלא יהיו להם ההרשאות לגשת לכל ספריה בנתיב.

למידע נוסף