C#修改文件夹权限

时间:2022-06-19 17:54:39

/// <summary>
///为文件夹添加users,,everyone用户组的完全控制权限
/// </summary>
/// <param></param>
static void AddSecurityControll2Folder(string dirPath)
{
    //获取文件夹信息
    DirectoryInfo dir = new DirectoryInfo(dirPath);
    //获得该文件夹的所有访问权限
    System.Security.AccessControl.DirectorySecurity dirSecurity = dir.GetAccessControl(AccessControlSections.All);
    //设定文件ACL继承
    InheritanceFlags inherits = InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit;
    //添加ereryone用户组的访问权限规则 完全控制权限
    FileSystemAccessRule everyoneFileSystemAccessRule = new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, inherits, PropagationFlags.None, AccessControlType.Allow);
    //添加Users用户组的访问权限规则 完全控制权限
    FileSystemAccessRule usersFileSystemAccessRule = new FileSystemAccessRule("Users", FileSystemRights.FullControl, inherits, PropagationFlags.None, AccessControlType.Allow);
    bool isModified = false;
    dirSecurity.ModifyAccessRule(AccessControlModification.Add, everyoneFileSystemAccessRule, out isModified);dirSecurity.ModifyAccessRule(AccessControlModification.Add, usersFileSystemAccessRule, out isModified);
    //设置访问权限
    dir.SetAccessControl(dirSecurity);
}