מישהו כאן התעסק עם SetNamedSecurity
אני צריך לשנות את ההרשאות של איזה קובץ (מתקבל מהמשתמש), לאיזה משהו כללי שכזה (זה תרגיל במערכות הפעלה, לא משהו שימושי ממש). יצרתי רשימה חדשה של ACL *acl הוספתי לה שני ערכים, אחד של allow, אחד של deny, שניהם מבוססים על ה owner שהתקבל מקריאת ה GetNamedSecurityInfo בהתחלה. הרשימה נוצרה בסדר גמור (מבחינת הגדרת הגודל שלה בהתחלה, והכל), ואם אני בודק בנפרד בלולאה איזה ערכים יש בה, וכמה, זה מדפיס לי בדיוק את מה שצריך. אחר כך אני קראתי ל SetNamedSecurityInfo(file, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, acl, NULL) ומשום מה זה לא "שותל" את הרשימה שבניתי ב DACL של הקובץ. הוא מחזיר שגיאה 1008, שאומרת שאיזה token שהשתמשתי בו לא מוגדר טוב, אבל אני לא יודע למה הוא מתכוון, כי כל המשתנים שם מוגדרים כהלכה, וגם הקבועים שם נכונים. טוב, כנראה שמשהו לא נכון, אם זה לא עובד. אני אודה למי שעבד עם זה פעם, ויודע אולי לתת לי טיפ בקשר לזה.
אני צריך לשנות את ההרשאות של איזה קובץ (מתקבל מהמשתמש), לאיזה משהו כללי שכזה (זה תרגיל במערכות הפעלה, לא משהו שימושי ממש). יצרתי רשימה חדשה של ACL *acl הוספתי לה שני ערכים, אחד של allow, אחד של deny, שניהם מבוססים על ה owner שהתקבל מקריאת ה GetNamedSecurityInfo בהתחלה. הרשימה נוצרה בסדר גמור (מבחינת הגדרת הגודל שלה בהתחלה, והכל), ואם אני בודק בנפרד בלולאה איזה ערכים יש בה, וכמה, זה מדפיס לי בדיוק את מה שצריך. אחר כך אני קראתי ל SetNamedSecurityInfo(file, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, acl, NULL) ומשום מה זה לא "שותל" את הרשימה שבניתי ב DACL של הקובץ. הוא מחזיר שגיאה 1008, שאומרת שאיזה token שהשתמשתי בו לא מוגדר טוב, אבל אני לא יודע למה הוא מתכוון, כי כל המשתנים שם מוגדרים כהלכה, וגם הקבועים שם נכונים. טוב, כנראה שמשהו לא נכון, אם זה לא עובד. אני אודה למי שעבד עם זה פעם, ויודע אולי לתת לי טיפ בקשר לזה.