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.