创建仅限管理员可访问的目录

时间:2012-05-09 21:15:22

标签: c# .net security file directory

我有一个以提升权限运行的管理员应用程序,我需要它将一些敏感文件存储在只有系统管理员才能访问的目录中。

它可能与以下调用有关,但我不确定如何配置它。

Directory.CreateDirectory(@"C:\SomePath", new AccessControl.DirectorySecurity() { AccessRightType = ?, AccessRuleType = ?, AuditRuleType = ?);

如果有更好的方法可以实现相同目的,请告诉我。感谢。

编辑:找到了良好的实施here。如果有任何其他建议,请将问题保留一天。

1 个答案:

答案 0 :(得分:6)

找到了一个很好的解决方案here

FileSystemAccessRule administratorRule = new FileSystemAccessRule("Administrators", FileSystemRights.FullControl, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow);

FileSystemAccessRule guestRule = new FileSystemAccessRule("Guest", FileSystemRights.CreateDirectories | FileSystemRights.CreateFiles, AccessControlType.Allow);

DirectorySecurity dirSec = new DirectorySecurity();
dirSec.AddAccessRule(administratorRule);
dirSec.AddAccessRule(guestRule);

Directory.CreateDirectory(@"C:\GuestTemp", dirSec);