AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Zugriffsrechte in AppData (Vista)
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsrechte in AppData (Vista)

Ein Thema von breakthesilence · begonnen am 16. Okt 2008 · letzter Beitrag vom 20. Okt 2008
Antwort Antwort
breakthesilence

Registriert seit: 16. Okt 2008
4 Beiträge
 
Turbo Delphi für Win32
 
#1

Zugriffsrechte in AppData (Vista)

  Alt 16. Okt 2008, 21:30
Hallo,

ich habe ein Programm entwickelt dass in Zeiten der paradisischen XP-Zustande einfach alle Benutzer-Dateien im Programme-Verzeichnis abgelegt hat, doch mit der Umstellung auf Vista musste diesem Treiben natürlich ein Ende gesetzt werden und alle Dateien kamen kurzum in einen neuen Ordner in AppData. War auch (wegen den Kompatibilitätsdateien) zunächst kein Problem, doch jetzt haben wir voll auf Vistakompatibilität umgestellt und eine Manifestdatei integriert, mit dem Ergebnis, das auf einmal alle Nicht-Admin-User keinen Schreibzugriff mehr auf die Datenbankdatei im AppData-Verzeichnis haben.
Folglich wäre es sinnvoll, wenn das Programm unter einmaliger Anstrenung eines Admin-Accounts allen Benutzern Schreibrechte auf das Verzeichnis geben könnte. Ich habe dazu im Forum viel gesucht und auch einiges gefunden, jedoch nichts aus dem ich wirklich schlau geworden bin.

Wäre toll wenn mir jemand mal einen Ansatz dazu sagen könnte.

Viele Grüße
Johannes
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Zugriffsrechte in AppData (Vista)

  Alt 16. Okt 2008, 21:55
Zitat von breakthesilence:
ich habe ein Programm entwickelt dass in Zeiten der paradisischen XP-Zustande einfach alle Benutzer-Dateien im Programme-Verzeichnis abgelegt hat
Dieser Ansatz hat genau die gleichen Probleme ab Windows NT. Einfach nur einen Benutzer nehmen der nur in der Gruppe "Benutzer" ist und nicht mehr "Hauptbenutzer". Schon kannst du nicht ins Programmverzeichnis schreiben.

Zitat von breakthesilence:
... mit dem Ergebnis, das auf einmal alle Nicht-Admin-User keinen Schreibzugriff mehr auf die Datenbankdatei im AppData-Verzeichnis haben.
Welches AppData-Verzeichnis? Für einen bestimmten User oder bei "All Users"?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
breakthesilence

Registriert seit: 16. Okt 2008
4 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Zugriffsrechte in AppData (Vista)

  Alt 16. Okt 2008, 22:00
AppData (C:\ProgramData) von allen Benutzern, weil unter allen Benutzern die gleichen Dateien, Aktivierungsinformationen etc vorhanden sein sollen.
  Mit Zitat antworten Zitat
breakthesilence

Registriert seit: 16. Okt 2008
4 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Zugriffsrechte in AppData (Vista)

  Alt 19. Okt 2008, 21:40
Folgende Neuerungen: Ich hab herausgefunden, dass Vista in dem ProgramData Verzeichnis grundsätzlichen allen Benutzern Schreibrechte gibt, aber eine vom Admin(oder anderem Benutzer) erstellte Datei lässt sich nicht von jeden Standardbenutzer ändern. Dies ist aber gewünscht. Ich habe jetzt mal mit der NTACL-Unit herumgespielt, mit der kann ich ja immerhin Rechte für einen bestimmten User erteilen. Weiß jemand wie ich damit allen Standardenutzern Rechte gebe? Aufrufe wie FileACL.GrantAccessByName ('{Domäne}', 'Benutzer', DACL_MACRO_FILE_CHANGE, $3); oder FileACL.GrantAccessByName ('{Domäne}', 'Domänen-Benutzer', DACL_MACRO_FILE_CHANGE, $3); zeigen leider keine Wirkung (auch wenn Vista den Standardbenutzer ja als Domöne/Benutzer bezeichnet).
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#5

Re: Zugriffsrechte in AppData (Vista)

  Alt 19. Okt 2008, 23:28
Ich verstehe garnicht was du genau machen willst!? Welchen Ordner willst du genau anpassen? Das gesamte AppData?
Du willst also, dass die Gruppe "Benutzer" Vollzugriff erhält? Würde ich nicht zwar nicht empfehlen und stattdessen nur bestimmte Benutzer hinzufügen, aber so geht's auch.
Ich kann GrantAccessByName nicht empfehlen, da hier Benutzernamen und nicht SIDs verwendet werden - die sind sprachabhängig.

So geht es mit der JWSCL:


btw: Kann dein Programm mehrfach gestartet werden unter verschiedenen Benutzern?
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Zugriffsrechte in AppData (Vista)

  Alt 20. Okt 2008, 12:34
Zitat von breakthesilence:
ich habe ein Programm entwickelt dass in Zeiten der paradisischen XP-Zustande einfach alle Benutzer-Dateien im Programme-Verzeichnis abgelegt hat
Um bei deiner Wortwahl zu beliben. Auch unter XP (2000 Und NT ebenso) konnte auch nur Gott ins Programmverzeichnis schreiben Adam und Eva konnten dies nicht. Aber auch wenn Adam und Eva es gekonnt hätten, hätte es sich aus anderen ründen verboten. Windows ist ein Mehrbenutzersystem und bei dir hätte Adam die Einstellungen von Eva überschrieben. Das ist dir nur nie aufgefallen, weil du a) immer als Gott unter Windows gearbeitet hast und b) kein anderer Benutzer auf deinem Rechner das Programm verwendet hat. Hättest du es gleich richtig gemacht, hättest du jetzt unter Vista keine Probleme damit.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
breakthesilence

Registriert seit: 16. Okt 2008
4 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Zugriffsrechte in AppData (Vista)

  Alt 20. Okt 2008, 19:27
Ja ich hab ja eingesehen dass meine am Anfang gewählte Lösung nich so das Wahre ist, und ich bin ja dabei das zu ändern.
Zum Thema Überschreiben: Das muss sogar so sein, da es eine zentrale Datenbankdatei ist, auf die mehrere User Zugriff haben sollen (aber nicht gleichzeitig).
Ich will übrigens nicht allen Benutzern Vollzugriff, sondern nur allen Benutzern Schreibrechte geben.

Ich habe das mit der JWSCL jetzt mal getestet, ich kann es auch compilern und ausführen, allerdings hat nachher "Jeder" laut Explorer "Spezialrechte" für das Verzeichnis, die nicht näher ausgeführt werden. Außerdem werden die Rechte nicht auf die drinnen liegenden Dateien vererbt (was notwendig ist). Kann mir da einer weiterhelfen?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz