ACL中沒有提到任何人的默認權限爲「無法訪問」(一種Empty DACL授權沒有訪問)。因此,請阻止文件夾從其父級繼承安全性,並僅將權限分配給UserA。
(當然,這並不能阻止管理員取得所有權,然後授予權限爲自己,沒有什麼可以阻止)
例如創建一個目錄,名爲C:\FruitBat
,這只是給用戶DOMAIN\User1
訪問:
System.Security.AccessControl.DirectorySecurity dacl = new System.Security.AccessControl.DirectorySecurity();
dacl.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(@"DOMAIN\User1",
System.Security.AccessControl.FileSystemRights.FullControl,
System.Security.AccessControl.InheritanceFlags.ContainerInherit |
System.Security.AccessControl.InheritanceFlags.ObjectInherit,
System.Security.AccessControl.PropagationFlags.None ,
System.Security.AccessControl.AccessControlType.Allow));
System.IO.Directory.CreateDirectory(@"C:\FruitBat", dacl);
所以我想設置權限在E:\。在這裏我們不會繼承任何東西。當我創建新的用戶帳戶時,該用戶帳戶正在訪問此文件夾。這不應該發生。無論如何拒絕訪問e:\。 我應該僅授予「創建驅動器e:\」(我使用SolFS創建新驅動器)的用戶權限。 謝謝。 –
@Sujith Kp - 你可以在E:上創建一個'DirectoryInfo'對象,創建一個'dacl',就像我上面的例子那樣,然後你['SetAccessControl'](http://msdn.microsoft.com/en- us/library/system.io.directoryinfo.setaccesscontrol.aspx) –
thanx,你動搖我! –