Zitat von
Dezipaitor:
Dein Programm schreibt als Administrator die Datei in "Gemeinsame Dokumente" und gibt diese Datei für alle frei. Chen listet diese Problempunkte auf, die daraus resultieren:
- Jeder kann diese Datei beschreiben und somit das Programm eines anderen Benutzers zum Absturz bringen.
- Viren einschleusen, denn jeder kann die Datei umbenennen, z.b. in "Dein geforderter Bericht, John.pdf.exe"
- NTFS Alternate Data Streams benutzen, um zusätzliche Daten zu speichern.
- Admindateien sind nicht an die Speicherplatzbeschränkung gebunden. D.h. jeder Benutzer kann beliebig vielen Speicher verbrauchen und das System zu Stillstand bringen.
Du siehst, dass du im Begriff bist ein Sicherheitslücke zu entwickeln!
Dann habe ich wohl die Rechtevergabe falsch verstanden. Nach allem, was ich weiß, sollte die Datei nicht als Administratordatei angelegt werden.
Ich starte das Programm als
AsInvoker, also das niedrigste verfügbare Rechtelevel. Nach dem was ich weiß, ist das unabhängig vom Login-Status als Administrator.
Wieso sind dann Dateien, die das Programm schreibt, mit einem Mal wieder Admin-Dateien?
Deshalb steht das hier auch in
API: ich muss irgendwie rausbekommen, mit welchen Rechten tatsächlich geschrieben wird. Da es unter Vista (ohne das Löschen des DACL!) geht, scheint bei XP etwas schief zu gehen...
Grüße vom verwirrten Messie