如何将文件设置为可供所有用户写入?

Bor*_*ris 7 c# permissions file

我想将文件设置为可供所有用户写入.

FileSecurity sec = File.GetAccessControl(fileName);

string users = ?????;
sec.AddAccessRule(new FileSystemAccessRule(
        users,
        FileSystemRights.Write, 
        AccessControlType.Allow));

File.SetAccessControl(fileName, sec);
Run Code Online (Sandbox Code Playgroud)

问题是我不知道要使用哪个字符串.我试过了users = WindowsAccountType.Normal.ToString(),但这只是给出了,但是"Normal"没有用.如何获取指定计算机上所有用户组的字符串?

Rob*_*ert 7

我假设您正在寻找所有登录用户所属的"Everyone"组.但是,使用字符串"Everyone"将使您在非英语系统上遇到严重问题

更好的解决方案是通过SecurityIdentifier WellKnownSidType.WorldSid使用它:

SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
Run Code Online (Sandbox Code Playgroud)

此答案中已经描述了完整的解决方案:使用C#.NET将"Everyone"权限添加到文件夹