Announcement

Collapse
No announcement yet.

Zugriffsrechte auf eine Datei ändern

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

  • Zugriffsrechte auf eine Datei ändern

    Hallo Experten,

    mein Programm soll in eine Datei schreiben. In verschiedenen Konstellationen nacheinander eingeloggter Benutzer gibt es dabei ein Problem:

    - Administrator startet Programm
    - Programm schreibt in Datei mit Rechten des Administrators
    - Administrator loggt sich aus
    - Eingeschränkter Benutzer startet Programm
    - Programm schreibt in Datei mit Rechten des Eingeschränkten Benutzers
    - Programm wirft Exception, da die Rechte zum Ändern der Datei nicht ausreichen

    Deshalb führe ich nach dem Schreiben folgende Funktion aus[highlight="c#"]/// <summary>
    /// Changes a file's permissions so that everyone can change it
    /// </summary>
    /// <param name="strFilename">The file to change</param>
    public static void MakeChangeable(string strFilename)
    {
    try
    {
    System.IO.FileInfo fileinfo = new System.IO.FileInfo(strFilename);
    System.Security.AccessControl.FileSecurity filesecurity = new System.Security.AccessControl.FileSecurity(
    strFilename,
    System.Security.AccessControl.AccessControlSection s.All
    );

    //filesecurity.ModifyAccessRule(System.Security.Acce ssControl.AccessControlModification.Set, System.Security.AccessControl.AccessRule

    fileinfo.SetAccessControl(filesecurity);
    }
    catch
    {
    /*
    * admin can create every file
    * admin can add to every file
    * admin can change every file's permissions
    *
    * user can create every file
    * user can add to own files and those of admin with changed permissions
    * user can change permissions of own files but not of admin's ones
    */
    }
    }[/highlight]Sie soll die Zugriffsrechte auf die Datei so einstellen, dass jeder die Datei ändern darf. Ungeachtet der Tatsache, dass diese Funktion in einem früheren Projekt genau das tat, wollte ich sie jetzt wieder einsetzen und musste feststellen, dass zwar der catch-Block nicht betreten wird, der Eingeschränkte Benutzer die Datei aber keineswegs ändern darf.

    Muss anstelle des auskommentierten Teils noch etwas an filesecurity geändert werden?

    Mit freundlichem Gruß


    luker
Working...
X