2011-09-16 59 views
7

我想將文件設置爲所有用戶可寫入。如何將文件設置爲所有用戶可寫入?

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",這是行不通的。我如何獲得指定機器上所有用戶組的字符串?

回答

7

我假定你正在尋找的「Everyone」組所有登錄用戶屬於。使用字符串但是「所有人」將讓你成爲在非英語系統

一個更好的解決方案是通過的SecurityIdentifier WellKnownSidType.WorldSid使用它嚴重的麻煩:

SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null); 

完整的解決方案已經被描述這個答案:Add "Everyone" privilege to folder using C#.NET

4

嘗試「每個人」,這是每臺機器上,甚至在AD域定義的系統帳戶,如果任何(在這種情況下DOMAIN \適合所有人)

+0

「每個人」只適用於英文系統。 – Robert

相關問題