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

Rah*_*han 5 .net c# security directory file

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

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

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

如果有更好的方法来实现同样的目的,请告诉我.谢谢.

编辑:在这里找到了一个很好的实现.如果有任何其他建议,请将问题保持开放一天.

Rah*_*han 6

找到了一个很好的解决方案在这里.

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);
Run Code Online (Sandbox Code Playgroud)