class ACLtest
{
public void ACL(string myFilePath) { try {
using(FileStream fs = new FileStream(myFilePath,FileMode.Open,FileAccess.ReadWrite)){
FileSecurity fileSec = fs.GetAccessControl();
FileSystemAccessRule fileRule;
AuthorizationRuleCollection arc = fileSec.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
fileRule = (FileSystemAccessRule)arc[arc.Count-1];
foreach (FileSystemAccessRule r in fileSec.GetAccessRules(true,true,typeof(NTAccount)))
{
Console.WriteLine("{0}:{1}:{2}",r.AccessControlType ==AccessControlType.Allow?"provides":"denies",r.FileSystemRights,r.IdentityReference.ToString());
}
//fileSec.RemoveAccessRule(fileRule);
fileSec.RemoveAccessRuleAll(fileRule); File.SetAccessControl(myFilePath,fileSec);
Console.WriteLine("---------------------");
foreach (FileSystemAccessRule r in fileSec.GetAccessRules(true,true,typeof(NTAccount)))
{
Console.WriteLine("{0}:{1}:{2}",r.AccessControlType ==AccessControlType.Allow?"provides":"denies",r.FileSystemRights,r.IdentityReference.ToString());
}
} }catch(Exception ex){
Console.WriteLine(ex.Message);
}
}
}
帮忙看看,为什么权限删不掉,谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货