2016-05-13 15 views
0

Ich habe ein Python-Programm mit einigen UI geschrieben und es mit PyInstaller eingefroren. Das Programm schreibt in ein XML-Dokument im selben Verzeichnis, aber nicht alle Benutzer im Netzwerk haben Schreibberechtigungen für diese Datei. Anstatt allen Benutzern Berechtigungen zum Schreiben in diese Datei zu erteilen, gibt es eine Möglichkeit, die Berechtigungen des Programms so festzulegen, dass es dort schreiben kann? Auf diese Weise wird das Programm unabhängig davon, wer es ausführt, in die XML-Datei schreiben, aber jeder Benutzer, der ursprünglich keine Schreibberechtigung hatte, kann die Daten in der Datei nicht manuell ändern.Schreibberechtigungen für ein Programm geben

+0

Zumindest unter Windows können Sie die Berechtigungen für die Ausführung von Prozessen ändern, so dass sie als System, Admin, Benutzer, Unbekannt usw. ausgeführt werden können, aber dies sind Beispiele für Virustests. Sie können einige Beispiele in vxheaven oder sogar hier in StackOverflow finden. Meiner Meinung nach sollten Programme wie der Prozess bleiben und dem Prozess die Berechtigungen des Kontos geben und Netzwerkordner-Benutzerberechtigungen geben. Einem Prozess eine bestimmte Macht zu geben, Besitz zu ergreifen, um als bestimmter "Benutzer" zu laufen, wenn er nicht "Benutzer" ist, sollte keine gute Übung sein –

Antwort

1

A von @c_str in den Kommentaren angegeben können Sie den Prozess als ein anderer Benutzer auf Windows ausführen.

Unter Linux können Sie auch setuid und setguid verwenden, damit der Prozess die Berechtigung des Besitzers anstelle der Benutzerberechtigungen hat.

Auch wenn dies funktioniert, sind beide Methoden fraglich, wie von @c_str in den obigen Kommentaren angegeben.

Verwandte Themen