| 

.NET C# Java Javascript Exception

1
Hallo Leute,

wie stelle ich es an, dass ich aus meiner Anwendung heraus, die mit Adminrechten läuft,
einer Datei, die von der Anwendung neu erstellt wurde, allen Useren vollen Zugriff gewähre?
Momentan ist es so, dass die Datei, da sie aus einer Anwendung mit Adminrechten heraus erstellt wurde, auch nur für User mit Adminrechten beschreibbar ist, alle anderen User dürfen die Datei nicht verändern.

Das ganze läut natürlich unter Win7.

Vielen Dank für Eure Hilfe.
Carsten
27.03.2012
Carsten Ilwig 337 1 6
1
Anwendung mit Adminrechten - muss das sein?
Abgesehen davon, in welcher Sprache ist Deine Anwendung geschrieben?
Jaksa 27.03.2012
4 Antworten
3
Schau Dir das hier an: File.SetAccessControl-Methode.
27.03.2012
Jaksa 4,0k 1 8
1
Um die Rechte Deiner Anwendung nur in bestimmten Situationen anzuheben, würde ich mich mit UserAccountControl (UAC) auseinandersetzen. Hier noch ein Link und hier noch ein Beispiel.

Wenn Deine Anwendung nur bei vereinzelten Aktionen elevated privileges benötigt, solltest Du das Control (meist ein Button) mit dem Elevation-Icon anzeigen, so dass der User sieht, das diese Aktion erhöhte Rechte benötigt und evtl. dem verlinkten Beispiel folgen.
Wenn Deine Anwendung andauernd erhöhte Rechte benötigt, solltest Du überlegen, sie mit einem Manifest auszustatten und dieses zu signieren.

Florian
28.03.2012
ffordermaier 8,4k 2 9
Vielen Dank für die Hinweise, ich schau' mir das mal in Ruhe an.
Meine Anwendung benötigt auch nur für bestimmte Aktionen Adminrechte, da wäre so eine Lösung ja genau richtig.
Carsten Ilwig 28.03.2012
1
Was noch security-technisch wichtig wäre dass in der Phase in der Du mit erhöhten Rechten arbeitest kein File Open/Save Dialog einblendest. Am besten überhaupt keine User Interaktion.
Jaksa 28.03.2012
Ok, danke für den Hinweis, das werde ich berücksichtigen.
Carsten Ilwig 28.03.2012
0
In dem konkreten Fall muss es sein, da die Anwendung Programme in den Programmordner installiert und dafür benötigt sie Adminrechte,zumindest wüsste ich sonst keinen anderen Weg, wie ich Dateien dort hin bekommen würde, ohne Adminrechte.
Aber unabhängig von dem konkreten Fall, benötige ich die Möglichkeit aus dem Programm heraus die Zugriffsrechte für Anwendungsdateien zu setzen.

Die verwendete Programmiersprache ist C# mit .NET 4.0, sorry, das hatte ich vergessen zu erwähnen.

Carsten
27.03.2012
Carsten Ilwig 337 1 6
Das ist aber eher eine Aufgabe für den Installer und nicht für die Anwendung. Damit würdest Du diese Applikation niemals in einen Firmen (Enterprise) Umfeld genehmigt bekommen.
Jaksa 27.03.2012
Den habe ich am Anfang auch verwendet.
Nur leider "spinnte" der Installer immer mal wieder rum, sodass ich mich dann für eine eigene Lösung entschieden habe.
Auf manchen PCs ließ sich die Setup.Exe z.Bsp. gar nicht starten, da kam nach dem Start gleich eine Meldung, dass die Setupdatei auf diesem System nicht ausgeführt werden kann (oder so ähnlich) oder es passierte, dass beim Starten der Anwendung über die Desktopverknüpfung der Installer irgend etwas nachinstallieren wollte und nach der ursprünglichen MSI gefragt hat, diese dann aber nicht als gültiges Installationsmedium akzeptiert hat.
Carsten Ilwig 27.03.2012
0
Ja, das sieht sehr vielversprechend aus.

In dem Zusammenhang habe ich da gleich noch eine Frage, wie kann ich eigentlich abfragen,
welche User auf dem aktuellen PC alle angelegt sind, also der Wert, den ich dann als "account" übergeben muss?

Vielen Dank für Deine Hilfe.
Carsten
27.03.2012
Carsten Ilwig 337 1 6
Brauchst Du nicht. Es gibt einen Benutzer "Jeder".
Schliesslich kann es sein dass der Benutzer zum Zeitpunkt der Aktion auf dem lokalen System noch gar nicht bekannt ist.
Jaksa 27.03.2012
Ok, und da muss ich dann als account einfach nur "Jeder" übergeben?
Carsten Ilwig 27.03.2012

Stelle deine Datei-Frage jetzt!