Removes all matching allow or deny access control list (ACL) permissions from the current file or directory.
- rule
- A System.Security.AccessControl.FileSystemAccessRule object that represents an access control list (ACL) permission to remove from a file or directory.
true if the access rule was removed; otherwise, false.
The FileSystemSecurity.RemoveAccessRule(FileSystemAccessRule) method removes either all matching AccessControlType.Deny access rules or all matching AccessControlType.Allow access rules from the current System.Security.AccessControl.FileSystemSecurity object. For example, you can use this method to remove all AccessControlType.Deny access rules for a user by passing a System.Security.AccessControl.FileSystemAccessRule object created using the AccessControlType.Deny value, the FileSystemRights.Read value, and a user account. When you do this, the FileSystemSecurity.RemoveAccessRule(FileSystemAccessRule) method removes any deny rules that specify the FileSystemRights.Read value or the FileSystemRights.Write value.
To persist new or changed access control list (ACL) information to a file, use the System.IO.File.SetAccessControl(string, FileSecurity) or System.IO.FileInfo.SetAccessControl(FileSecurity) method. To persist new or changed ACL information to a directory, use the System.IO.Directory.SetAccessControl(string, DirectorySecurity) or System.IO.FileInfo.SetAccessControl(FileSecurity) method.
To retrieve ACL information from a file, use the erload:System.IO.File.GetAccessControl or erload:System.IO.FileInfo.GetAccessControl method. To retrieve ACL information from a directory, use the erload:System.IO.Directory.GetAccessControl or erload:System.IO.DirectoryInfo.GetAccessControl method.
When you add an access rule without setting the FileSystemRights.Synchronize flag, the FileSystemRights.Synchronize flag will be automatically added to your rule. If you remove the rule later without specifying the FileSystemRights.Synchronize flag, the flag will automatically be removed.