public void AlphaFS___CreateWithFileSecurity() { Console.WriteLine("File.Create()"); string pathExpected = Path.GetTempPath("AlphaFS CreateWithFileSecurityExpected"); string pathActual = Path.GetTempPath("AlphaFS CreateWithFileSecurityActual"); File.Delete(pathExpected); File.Delete(pathActual); FileSecurity expectedFileSecurity = new FileSecurity(); expectedFileSecurity.AddAccessRule(new FileSystemAccessRule(new SecurityIdentifier(WellKnownSidType.WorldSid, null), FileSystemRights.FullControl, AccessControlType.Allow)); expectedFileSecurity.AddAuditRule(new FileSystemAuditRule(new SecurityIdentifier(WellKnownSidType.WorldSid, null), FileSystemRights.Read, AuditFlags.Success)); using (new Alphaleonis.Win32.Security.PrivilegeEnabler(Alphaleonis.Win32.Security.Privilege.Security)) { using (FileStream s1 = System.IO.File.Create(pathExpected, 4096, FileOptions.None, expectedFileSecurity)) using (FileStream s2 = File.Create(pathActual, 4096, FileOptions.None, expectedFileSecurity)) { } } string expectedFileSecuritySddl = System.IO.File.GetAccessControl(pathExpected).GetSecurityDescriptorSddlForm(AccessControlSections.All); string actualFileSecuritySddl = System.IO.File.GetAccessControl(pathActual).GetSecurityDescriptorSddlForm(AccessControlSections.All); Assert.AreEqual(expectedFileSecuritySddl, actualFileSecuritySddl); File.Delete(pathExpected, true); File.Delete(pathActual, true); }