Laden...

Rechteproblem: Logfile's, Lizenzdateien - Benutzerdaten oder Anwendungsdaten

Erstellt von inva vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.359 Views
I
inva Themenstarter:in
37 Beiträge seit 2007
vor 14 Jahren
Rechteproblem: Logfile's, Lizenzdateien - Benutzerdaten oder Anwendungsdaten

Hey liebe Community,
Aufgrund eingeschränkter Benutzerkonten und Vistakompatibilität, wollen wir die Logfiles und Lizenzdateien für unsere Software, im best case Anwendungsbezogen, im CommonAppDataPath ablegen (AllUsers\Anwendungsdaten).
Soweit so gut!

Leider kommen uns hier die Schreibrechte der unterschiedlichen Windowsbenutzer ind ie Quere. Da wir gerne Anwendungsdaten auch gern für alle Benutzer zur Verfügung stellen würden (Logfile, Lizenzdateien).
Was meiner Meinung nach auch Sinn macht, da nicht jeder Nutzer die Software neu Lizenzsieren soll!
Folgendes Szenario: Benutzer A startet die Software, logfile wird angelegt. Benutzer A meldet sich ab. Benutzer B meldet sich an und startet ebenfalls die Software, nun kann er aber nicht ins logfile schreiben, da er für diese Datei keine Schreibrechte besitzt, weil er nicht Ersteller/Eigentümer dieser Datei ist.
Bei der Lizenz existiert folgendes Problem, Admin installiert Software, bekommt 30 Tage Testlizenz. Nach den 30 Tagen wird eine unbeschränkte Lizenz bestellt und eingefügt. Wird dies durch einen normalen Benutzer getätig, kann die alte Lizenzdatei nicht überschrieben werden.

Es ärgert mich ein wenig, dass ich über die Problematik Anwendungsbezogener kaum gute und aussagekräftige Dokumentation finde. Zwar sagen alle Dokumente, Dateien sollen ins CommonAppData geschrieben werden, aber keine erwähnt, dass die Daten trotzdem mit den rechten des erstellenden Benutzers verknüpft sind. Wodurch natürlich nur er, das logfile schreiben könnte.
Dafür muss es doch eine offizielle Richtlinie geben, oder?!
Das ist doch ein normaler Fall bei Software Entwicklungen. ich wäre enttäusacht, wenn es nur über einen kleinen hack funktioniert indem man bei der Installation die Ordner im Anwendungsdatenverzeichnis schon erstellt und die Rechte explizit manuell setzen muss um allen den Zugriff zu ermöglichen.

Grüße,
inva

Aller Wahrscheinlichkeit nach wird das Weltall von einem Rudel Irrer regiert.

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo inva,

ich bin nun nicht der NTFS-Rechte-Experte, aber dass es da Probleme gibt, wundert mich ein bisschen. Die Rechte erbt eine Datei ja beim Erstellen eigentlich von dem Verzeichnis, in dem sie erstellt wird. Wenn für das Verzeichnis CommonAppDataPath, die Rechte so eingestellt sind, dass alle Benutzer lesen und schreiben können, sollte das auch für die Dateien gelten, die darin erstellt werden, egal wer die Datei erstellt. Möglicherweise sind also die Rechte für CommonAppDataPath falsch eingestellt.

herbivore

1.361 Beiträge seit 2007
vor 14 Jahren

Hi inva,

bei mir (XP) ist AllUsers\Anwendungsdaten für den normalen Benutzer (Nicht HauptBenutzer) _nicht _mit Schreibrechten ausgestattet.
(So gesehen kann ein normaler Nutzer da noch nichtmal Dateien/Ordner anlegen)

Aber wenn der Admin das Programm installiert, kann es einfach von dem neu erzeugten Unterordner in CommonAppData die Berechtigung für's Schreiben für "Benutzer" erlauben. (Diese Berechtigungen gelten dann, wie herbivore schon gesagt hat, automatisch für alle darin erstellen dateien - solange die nichts neues definieren)

NTFS-Rechte setzen kann man sehr gut mit der Klassen aus dem System.Security.AccessControl-Namespace. Du kannst auch nach "DACL" hier im Forum und bei Google suchen.
Denn Windows verwaltet die Rechte in sogenannten Discretionary Access Control Lists. (die gibts für fast jedes Objekt, nicht nur für Dateien)

beste Grüße
zommi

I
inva Themenstarter:in
37 Beiträge seit 2007
vor 14 Jahren

Hey,
Danke für die Info's!
Über die ACLs bin ich auch schon gestolpert, leider hats bisher nicht geklappt, die Ordner-Berechtigungen während der Installationsroutine zu setzen.

Ich werds mir nochmal anschauen. Aber danke für die Tipps, Info's und den Link.

Grüße,
inva

Aller Wahrscheinlichkeit nach wird das Weltall von einem Rudel Irrer regiert.