如何将文件的所有者更改为Everyone
并允许Everyone
对象Full Access
?
有没有可用的 API?我必须使用 P/Invoke 吗?
我到处搜索,但找不到任何东西可以做到这一点。
事实上,有可用的 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,前面提到的文章有很多很棒的东西可以玩。
你可以使用FileInfo.GetAccessControl
和File.SetAccessControl
方法
检查 MSDN 链接中给出的示例代码File.SetAccessControl