Eri*_*rin 2 c# security file-permissions
我试图在远景计算机上设置文件夹及其所有子项的权限.我到目前为止的代码是这样的.
public static void SetPermissions(string dir)
{
DirectoryInfo info = new DirectoryInfo(dir);
DirectorySecurity ds = info.GetAccessControl();
ds.AddAccessRule(new FileSystemAccessRule(@"BUILTIN\Users",
FileSystemRights.FullControl,
InheritanceFlags.ContainerInherit,
PropagationFlags.None,
AccessControlType.Allow));
info.SetAccessControl(ds);
}
Run Code Online (Sandbox Code Playgroud)
然而,它并没有像我期望的那样工作.
即使我以管理员身份运行代码,它也不会设置权限.
我正在使用的文件夹位于C:\ ProgramData\<我的文件夹>,我可以手动更改它的权限.
任何人都想指出我正确的方向.
所以答案是双重的.首先在文件夹上设置权限之前创建一个子文件夹,然后我需要或者在权限的另一个标志上创建它,以便文件夹和文件都继承权限.
public static void SetPermissions(string dir)
{
DirectoryInfo info = new DirectoryInfo(dir);
DirectorySecurity ds = info.GetAccessControl();
ds.AddAccessRule(new FileSystemAccessRule(@"BUILTIN\Users",
FileSystemRights.FullControl,
InheritanceFlags.ObjectInherit |
InheritanceFlags.ContainerInherit,
PropagationFlags.None,
AccessControlType.Allow));
info.SetAccessControl(ds);
}
Run Code Online (Sandbox Code Playgroud)
之后,每件事似乎都有效.
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |