我想寫一個工具,限制了搞亂文件服務器結構的能力。在這個項目中,我試圖限制用戶將文件保存在目錄中,但是阻止用戶在特定文件夾中創建子目錄。該子目錄將以另一種方式創建,至今已有效。c#如何將FileSystemRights.CreateDirectories設置爲拒絕,但FileSystemRights.AppendData允許
但我面臨的問題,ntfs權限似乎混合「創建目錄」和「追加數據」。現在,「附加數據」部分是阻止用戶將文件保存在目錄中的部分,這是不需要的。但是,如果允許,相同的權限可以創建子目錄。
在Windows資源管理器安全窗口中,兩個權限都設置爲相同的複選框,但由於枚舉FileSystemRights同時具有CreateDirectories和AppendData,所以我認爲我可以將它們設置爲appart。
directorySecurity.AddAccessRule(
new FileSystemAccessRule(sidAll, FileSystemRights.CreateDirectories, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.None, AccessControlType.Deny)
);
directorySecurity.AddAccessRule(
new FileSystemAccessRule(sidAll, FileSystemRights.AppendData, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.None, AccessControlType.Allow)
);
directoryInfo.SetAccessControl(directorySecurity);
但是,當設置一個允許和一個拒絕時,兩者都被拒絕。
任何想法或提示?