1

如何将文件的所有者更改为Everyone并允许Everyone对象Full Access

有没有可用的 API?我必须使用 P/Invoke 吗?

我到处搜索,但找不到任何东西可以做到这一点。

4

2 回答 2

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,前面提到的文章有很多很棒的东西可以玩。

于 2013-07-20T15:23:57.567 回答
0

你可以使用FileInfo.GetAccessControlFile.SetAccessControl方法

检查 MSDN 链接中给出的示例代码File.SetAccessControl

于 2013-07-20T15:17:48.220 回答