我想将文件设置为可供所有用户写入。
FileSecurity sec = File.GetAccessControl(fileName);
string users = ?????;
sec.AddAccessRule(new FileSystemAccessRule(
users,
FileSystemRights.Write,
AccessControlType.Allow));
File.SetAccessControl(fileName, sec);
问题是我不知道要使用哪个字符串。我尝试了users = WindowsAccountType.Normal.ToString()
,但只提供"Normal"
,但这不起作用。如何获取指定计算机上所有用户组的字符串?
答案 0 :(得分:7)
我假设您正在寻找所有登录用户所属的“Everyone”组。但是,使用字符串“Everyone”会让你在非英语系统上遇到严重问题
更好的解决方案是通过SecurityIdentifier WellKnownSidType.WorldSid使用它:
SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
这个答案中已经描述了完整的解决方案:Add "Everyone" privilege to folder using C#.NET
答案 1 :(得分:4)
尝试“Everyone”,这是在每台计算机上甚至在AD域上定义的系统帐户(如果有的话)(在这种情况下为DOMAIN \ Everyone)