Die Berechtigung für die Gruppe „Benutzer“ wurde erfolgreich per Code geändert, die Änderung wird jedoch nicht auf der Registerkarte „Sicherheit“ für die Gruppe „Benutzer“ angezeigt.

Die Berechtigung für die Gruppe „Benutzer“ wurde erfolgreich per Code geändert, die Änderung wird jedoch nicht auf der Registerkarte „Sicherheit“ für die Gruppe „Benutzer“ angezeigt.

Ich habe C#-Code (am Ende), der:

  1. Erstellt eine Datei
  2. Druckt die aktuelle ACL
  3. Gibt der integrierten Benutzergruppe Schreibrechte für die zuvor erstellte Datei.
  4. Druckt die aktuell geänderte ACL

Die Schreibberechtigungen wurden erfolgreich per Code zugewiesen, wie Sie in der Konsolenausgabe sehen können.

Bildbeschreibung hier eingeben

Meine Frage ist:Warum wird diese Berechtigungsänderung für die Gruppe „Benutzer“ nicht auf der Registerkarte „Sicherheit“ der Datei angezeigt?

Bildbeschreibung hier eingeben

C#-Code:

var file = "sectest.txt";
File.WriteAllText(file, "File security test.");
var sid = new SecurityIdentifier(WellKnownSidType.BuiltinUsersSid, null);

string strBuiltInUsersAccount = sid.Translate(typeof(NTAccount)).ToString();
  
FileSecurity fileSecurity = new FileSecurity(file,
AccessControlSections.Owner |
AccessControlSections.Group |
AccessControlSections.Access);

Console.WriteLine("AFTER CREATE:");

ShowSecurity(fileSecurity); // BUILTIN\Users group doesn't have Write permission

// short: give "builtin\users" write permissions
var fsAccessRule = new FileSystemAccessRule(strBuiltInUsersAccount,
                                            FileSystemRights.Write,
                                            AccessControlType.Allow);

fileSecurity.ModifyAccessRule(AccessControlModification.Add, fsAccessRule, out bool modified);

Console.WriteLine();

Console.WriteLine("AFTER MODIFY:");
ShowSecurity(fileSecurity); // BUILTIN\Users has Write permission

Antwort1

Dadurch wird nur die einzige Zugriffsregel im ACE geändert. Sie müsste dann in der Datei gespeichert werden. Siehe File.SetAccessControl(filePath, fileSecurity)

https://learn.microsoft.com/en-us/dotnet/api/system.security.accesscontrol.filesecurity?view=net-7.0

verwandte Informationen