我正在使用C#并学习安全性(System.Security.*
),我刚刚运行了这段代码。
SecurityIdentifier user = WindowsIdentity.GetCurrent().User;
FileSystemAccessRule r = new FileSystemAccessRule(user, FileSystemRights.FullControl, AccessControlType.Deny);
DirectorySecurity ds = new DirectorySecurity();
ds.AddAccessRule(r);
Directory.SetAccessControl(@"C:\", ds);
这很疯狂,是的我知道,但我想测试一下。顺便说一句,我现在要恢复AccessControl
,但无法设置。
像这样恢复AccessControl
代码:
SecurityIdentifier user = WindowsIdentity.GetCurrent().User;
FileSystemAccessRule r = new FileSystemAccessRule(user, FileSystemRights.FullControl, AccessControlType.Allow);
DirectorySecurity ds = new DirectorySecurity();
ds.AddAccessRule(r);
Directory.SetAccessControl(@"C:\", ds);
但是Directory.SetAccessControl
会抛出UnauthorizedAccessException
。
请让我知道如何恢复AccessControl。