AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Adminrechte - wann braucht man sie?
Thema durchsuchen
Ansicht
Themen-Optionen

Adminrechte - wann braucht man sie?

Ein Thema von Master-of-Magic · begonnen am 24. Sep 2007 · letzter Beitrag vom 24. Sep 2007
Antwort Antwort
Master-of-Magic

Registriert seit: 24. Jul 2006
37 Beiträge
 
Delphi 2005 Personal
 
#1

Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 16:56
Ich bin gerade dabei, einen kleinen Updater für ein Tool zu schreiben und den auch gleich Vista ready zu machen - was man da alles wissen muss ...

Der Updater legt ein Updates-Verzeichnis in den eigenen Dateien an (dort liegen auch die Konfigurationsfiles des Tools) und speichert dort die heruntergeladenen Updates ab. Danach werden die alten Files im aktuellen Ordner durch die aktuellen ersetzt. Und da dies nicht überall geht, hab ich ein Manifest eingebunden, damit der Updater Adminrechte bekommt.

Allerdings ist mir beim Testen unter XP gerade etwas aufgefallen: Unter XP funktioniert das manifest ja nicht und der Updater kriegt keine Rechte (eingeschränkter Nutzeraccount) dennoch läuft das Update problemlos.

Warum? Weil der Update-Ordner eh in den Eigenen Dateien liegt -> Schreibrechte und das Tool selbst auf dem Desktop -> auch Schreibrechte. Da das Tool nicht installiert sondern einfach ausgeführt werden kann, frage ich mich gerade: Braucht mein Updater überhaupt erhöhte Rechte?

Denn letztendlich geht es ja um das Ersetzen der alten Dateien. Da da Tool aber von eingeschränkten Usern eh nicht unter "Programme" o.ä. kopiert werden kann, erübrigen sich doch auch Adminrechte beim Update, oder?


Oder gibt es andere Situationen, wo ich doch mehr Rechte brauche?
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 17:10
wenn das programm unter C:/Programme liegt braucht es Adminrechte zum schreiben.
es ist egal wo das programm liegt, du brauchst nur adminrechte wenn du in C:\Programme schreiben willst.
Tipp: nenn dein Programm "Updater" oder so (irgendwas mit "Update" drin) dann wird unter vista sowiso Adminrechte benötigt um es auszuführen^^ allerdings wenn das dann wieder vom user umbenannt wird...
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 17:32
Hallo,

noch ein Tipp: Verwende für Updates nicht den Ordner "Eigene Dateien". Dieser Ordner ist für die Dateien des Users da und für nichts anderes. Benutze doch den Tenmp-Ordner oder erstelle Dir im LocalApp-Ordner einen eigenen Ordner. Ich persönlich schmeiße jedes Programm sofort wieder runter, das mir die Eigenen Dateien zumüllt (BDS ist da die Ausnahme, aber auch gleich ein schlechtes Beispiel, weil da auch noch ein nutzloser englischer Ordner rumliegt, den man aber nicht löschen darf).

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Master-of-Magic

Registriert seit: 24. Jul 2006
37 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 17:46
Naja, ich hab eigene Dateien bewusst gewählt. Da mein Programm keinen Installer hat, würden sich nur noch die Anwendungsdaten anbieten.

Und ohne Uninstaller halte ich es für unverschämter, irgendwo einen versteckten Ordner (->Anwendungsdaten) zuzumüllen, als einen Ordner in den eigenen Dateien zu verwenden. Weil den kann man leicht entfernen und dort werden auch alle Einstellungen gesichert - nicht nur die temporären Updates. So hat man alle Daten auf einen Blick

Es war halt nur die Frage wegen den Adminrechten ... aber da dominikkv das mit dem Update im Namen erwähnt hat (das Ding heißt "Updater.exe" ) hat sich die Sache wohl auch erledigt.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 17:50
Zitat:
Denn letztendlich geht es ja um das Ersetzen der alten Dateien. Da da Tool aber von eingeschränkten Usern eh nicht unter "Programme" o.ä. kopiert werden kann, erübrigen sich doch auch Adminrechte beim Update, oder?
@Master-of-Magic: Deine Logic ist nicht ganz richtig. Zwar kann der normale Nutzer nicht unter ProgramFiles schreiben aber das heißt nicht das der Normale nutzer dann das Programm nicht nutzt oder es dort nicht installiert ist. (sonst könnte der normale Nutzer ja kein Programm nutzen welches installiert werden muss und sich entsprechend einträgt).

Der normale Ablauf ist so das der Administrator ein Programm installiert und es unter dem Programme-Ordner ablegt. Dann setzt er die Rechte entsprechend (wenn nicht schon vorhanden) so das alle Nutzer das Programm ausführen dürfen.

Dementsprechend führen zwar alle dein Programm aus aber in den aktuellen Ordner darf man nur mit entsprechenden Rechten schreiben.

Du müsstest also sicher stellen (wenn deine Theorie greift) das dein Programm sich nur updated wenn es von dem gestartet wird der es installiert hat.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Master-of-Magic

Registriert seit: 24. Jul 2006
37 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 18:05
[quote="SirThornberry"]
Zitat:
Der normale Ablauf ist so das der Administrator ein Programm installiert und es unter dem Programme-Ordner ablegt. Dann setzt er die Rechte entsprechend (wenn nicht schon vorhanden) so das alle Nutzer das Programm ausführen dürfen.
So gesehen hast du recht. Bei dem Programm gibt es zwar wie gesagt keine Installation, aber zumindest könnte es jemand mit Adminrechten unter Programme verschieben und dann als eingeschränkter Nutzer dort ausführen ...

Dann lass ich das Manifest mal drin ...
Kann mir jemand 'nen Tipp geben, wie ich unter XP Adminrechte verlangen kann? Also nur für den Updater versteht sich ...
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#7

Re: Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 18:06
Zitat von xaromz:
noch ein Tipp: Verwende für Updates nicht den Ordner "Eigene Dateien". Dieser Ordner ist für die Dateien des Users da und für nichts anderes.
Dein Wort in Gottes Ohr. Sag das mal den Leuten von Adobe. Der Dumme Update-Ordner vom Reader (oder warens sogar zwei ) ist da partout nicht wegzubekommen

  Mit Zitat antworten Zitat
Dezipaitor

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

Re: Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 19:04
Zitat von dominikkv:
wenn das programm unter C:/Programme liegt braucht es Adminrechte zum schreiben.
es ist egal wo das programm liegt, du brauchst nur adminrechte wenn du in C:\Programme schreiben willst.
Tipp: nenn dein Programm "Updater" oder so (irgendwas mit "Update" drin) dann wird unter vista sowiso Adminrechte benötigt um es auszuführen^^ allerdings wenn das dann wieder vom user umbenannt wird...
Das stimmt so nicht ganz.
Administratorrechte sind nicht erforderlich. Man benötigt jedoch ein erhöhtes Integritätslevel, welches man leider nicht über den Explorer einstellen kann, sondern nur über die Kommandozeile. Administratoren haben eben das höchste Level.
Ich verstehe nur einfach nicht, warum man Administrator sein muss, um in der Programmverzeichnis zu schreiben. Es könnte doch so schön einen "kleinen Admin" geben. So verhindert man, dass Programme auch noch ins Windowsverzeichnis schreiben können.

Programme, die den Namen "install", "setup" usw. enthalten, werden von der UAC als Setupprogramme erkannt, die ann einen UAC Dialog bekommen.
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 SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 19:44
@Dezipaitor: Das ist so weil es einige nicht kapieren wollten das man nicht als Admin arbeitet. Und weil die Leute es nicht lassen hat man entschlossen das Admins auch erst Adminrechte haben wenn sie es explizit angeben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: Adminrechte - wann braucht man sie?

  Alt 24. Sep 2007, 23:23
Mal nebenbei gefragt : hat sich jeder der hier beteiligten schon mal mit Vista ausführlich beschäftigt ? Falls ja : wer ?
Gruß
Hansa
  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 00:02 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