מישהו כאן התעסק עם SetNamedSecurity

Gardner

New member
מישהו כאן התעסק עם SetNamedSecurity

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

codec

New member
אני התעסקתי עם זה

אכלתי הרבה קש... תצרף את הקוד, אני אסתכל עליו.
 

codec

New member
בתור התחלה

תבדוק את הנקודה הבאה (היא קריטית): כשאתה אומר שאתה מכניס שני ערכים, אחד שך ALLOW ואחד של DENY, זה הסדר שאתה מכניס אותם? כי DENY אמורים לבוא בתחילת ה-ACL, ורק אח"כ ה-ALLOW... אם זאת לא הבעיה, תחזור אלי.
 
למעלה