如何将文件所有者更改为Everyone
并允许Everyone
对象Full Access
?
有没有可用的API?我必须使用P / Invoke吗?
我到处搜索但找不到任何可以做到的事情。
答案 0 :(得分:8)
确实,有API可用于此。您可能希望查看System.IO命名空间中的File.SetAccessControl方法。
// Read the current ACL details for the file
var fileSecurity = File.GetAccessControl(fileName);
// Create a new rule set, based on "Everyone"
var fileAccessRule = new FileSystemAccessRule(new NTAccount("", "Everyone"),
FileSystemRights.FullControl,
AccessControlType.Allow);
// Append the new rule set to the file
fileSecurity.AddAccessRule(fileAccessRule);
// And persist it to the filesystem
File.SetAccessControl(fileName, fileSecurity);
前面提到的文章有很多关于ACL的好东西。
答案 1 :(得分:0)
您可以使用FileInfo.GetAccessControl
和File.SetAccessControl
方法
检查MSDN链接中为File.SetAccessControl