Seite 1 von 1

Welche Einschränkungen wenn User kein Admin ist?

Verfasst: 16.02.2007 18:16
von Delle
Hallo,

was für Einschränkungen hat ein User i.d.R., wenn er nicht als "Admin" auf dem System angemeldet ist? Bzw. welche Einschränkungen hat ein PB-Programm dann?

Bestimmte Sachen darf man dann nicht ändern (Registry) oder keine Daten in bestimmte Verzeichnisse (z.B. System32) schreiben oder?

Verfasst: 16.02.2007 18:28
von STARGÅTE
Dann ist es wie bei uns in der schule:
Jenachdem wie hoch die Sicherheit ist kannst du das nciht machen :

- Keine "echte" Installation
- Vllt werden die Schreibrechte auf C:\ aufgehoben
- keine eintragungen in der Regi

Aber ich muss dazu sagen, das ich auf unserer Schule, wo ich keine Adminrechte habe keine Probleme mit PB-exe habe, und zur not muss ich ein andere Scheibort für dateien wählen.

Verfasst: 16.02.2007 18:42
von Delle
Naja aber der Temp-Ordner sollte doch immer beschreibbar sein oder nicht?

Verfasst: 16.02.2007 18:45
von ts-soft
Kommt auf die Winversion an, bzw. bei Win9x, ob MultiUser aktiviert oder nicht.
Für NT - XP gilt in etwa:
Keine Eintragung in
HKEY_CLASSES_ROOT
HKEY_LOCAL_MACHINE
HKEY_CURRENT_CONFIG

Keine Schreibrechte auf System32

Keine Schreibrechte in allen CommonOrdnern (Startmenü, Appdata usw.),
nur in die des Users.

Unter Vista ist das auch noch eingeschränkt, zumindest wenn UAC aktiv ist.

Verläßliche Angaben gibts aber nicht, weil fast alles vom Admin eingeschränkt werden kann.

Für Einstellungen solltee man folgendes Nutzen:
HKEY_CURRENT_USER\Software\MeineFirma\MeineSoftware

Code: Alles auswählen

Procedure.s GetSpecialFolder(CSIDL.l)
  Protected *itemid.ITEMIDLIST
  Protected location.s = Space(#MAX_PATH)

  If SHGetSpecialFolderLocation_ (0, CSIDL, @*itemid) = #NOERROR
    If SHGetPathFromIDList_(*itemid, @location)
      If Right(location, 1) <> "\" : location + "\" : EndIf
      ProcedureReturn location
    EndIf
  EndIf
EndProcedure

Debug GetSpecialFolder(#CSIDL_APPDATA) + "MeineFirma\MeineSoftware\"
GetHomeDirectory() ist leider nicht unbedingt geeignet, weil man nicht
weiß oder der nächste Ordner "ApplicationData" oder "Anwendungsdaten" oder noch anders heisst.

GetSpecialFolder(#CSIDL_PERSONAL) für Eigene Dateien und
GetTemporaryDirectory() für temp-Dateien

Verfasst: 17.02.2007 01:47
von Toshy
Mir graußt es davor daran zu denken. Um alle Rechte abzufangen muß man wohl einiges beachten. Ich kenne mich mit den Schreib- u. Leserechten zwar noch extrem gut aus, aber schon unter WindowsXP habe ich gemerkt, das es gut sein kann, das man überhaupt keine Rechte zum schreiben oder auch lesen von etwas haben kann. Je nachdem was der Admin oder User eingestellt hat.
Man muß also wirklich genau jeden Schreib- u. Leseversuch genau überprüfen und die jeweilige Fehlermeldung verarbeiten.
Oder man "ignoriert das einfach" und gibt dem Nutzer vorab den Hinweis, das "diese und jene Rechte" vorhanden sein müssen.

Ich habe sogar Probleme mit bekannten kommerziellen Programmen. Wenn ich diese installiere muß ich das unter Adminrechten machen, ändere ich diese dann später in "normale Rechte", so laufen die Programme nicht mehr oder schmeißen ständig Fehler aus.