Announcement

Collapse
No announcement yet.

Datei Zugriffsrechte und UAC (Windows 7)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datei Zugriffsrechte und UAC (Windows 7)

    Hallo Leute

    Ich bin der Franz, ganz neu hier, und habe eine Frage, für die ich keinen besser passenden Bereicht gefunden habe.
    Diesen Bereich habe ich deshalb gewählt, weil ich an dem Problem, wie an fast allen anderen Problemen auch, mit Visual C++ arbeite.

    Die Frage kurz formuliert: Wie kann ich beim Anlegen einer Datei festlegen, dass diese auch von jedem anderen User geschrieben, gelöscht oder umbenannt werden darf?

    Konkretes Problem:

    UAC (unter Windows 7) ist abgeschaltet. Verschiedene Programme legen unter User XY verschiedene Dateien an. User XY hat Administratorrechte.

    Jetzt wird UAC aktiviert.

    Die Programme möchten ihre vorher angelegten Dateien (natürlich wieder unter User XY) löschen, umbenennen, neu anlegen, ...
    Aber leider haben sie keine Berechtigung dazu!

    Warum ist soweit klar.
    User XY hat die Dateien mittels Administrator-Token angelegt und möchte sie jetzt (nach Aktivieren der UAC) mit dem eingeschränkten Token bearbeiten.
    Das Ganze passiert unter ProgramData\Subdir1\Subdir2\....

    Ich kann jetzt hergehen und beim Aktivieren der UAC bei sämtlichen betroffenen Dateien die Zugriffsrechte händisch ändern - leider nicht ich sondern der arme Servicetechniker.

    Aber da muss es doch irgendetwas geben, womit ich beim oder nach dem Anlegen der Datei gleich die Rechte so setzen kann, dass (von mir aus) jeder die Datei bearbeiten darf.

    Angelegt werden die Dateien hauptsächlich mittels CFile aber auch durch WritePrivateProfileString() (.ini-Files)

    Ich wäre sehr dankbar wenn mir jemand den entscheidenden Tip geben könnte.

    Gruß
    Franz

  • #2
    Mal ein Anfang

    http://stackoverflow.com/questions/5...cross-platform
    Christian

    Comment


    • #3
      Danke, aber das wars noch nicht ganz.

      Ich denke, ich hab jetzt das richtige gefunden

      http://msdn.microsoft.com/de-de/libr...esecurity.aspx

      PS. noch ein paar interessante Zeilen dazu ...

      FileSecurity fileSecurity = new FileSecurity();

      fileSecurity.AddAccessRule(new FileSystemAccessRule(new SecurityIdentifier(WellKnownSidType.WorldSid, null), FileSystemRights.FullControl, AccessControlType.Allow));

      PPS. oder auch WellKnownSidType.BuiltinUsersSid

      using System.IO;
      using System.Security.AccessControl;
      using System.Security.Principal;

      Gruß
      Franz
      Zuletzt editiert von sd582; 28.06.2011, 11:09.

      Comment

      Working...
      X