+ Reply to Thread
Results 1 to 2 of 2

Thread: [Tutorial] Software für eingeschränkte Benutzer-Accounts fitmachen

  1. #1

    Join Date
    28.02.08
    Location
    kernel32.dll
    P2P Client
    µtorrent
    Posts
    1,615
    Activity Longevity
    0/20 19/20
    Today Posts
    0/5 sssss1615

    [Tutorial] Software für eingeschränkte Benutzer-Accounts fitmachen

    Auf der abstrakten Ebene sollte mittlerweile jeder Computerbenutzer wissen, das man heutzutage nie als Administrator arbeiten sollte - unabhängig vom verwendeten Betriebssystem. In der Praxis scheitet dies bei Microsoft-Systemen allerdings oft an der Störrigkeit verschiedener Programme, die unter einem eingeschränkten Benutzer gar nicht oder nur sehr eingeschränkt laufen. Was leider dazu führt, das viele Benutzer doch als Admin arbeiten - mit entsprechenden Konsequenzen, was Viren, Würmer, Rootkits, Trojaner und andere unangenehme Zeitgenossen betrifft.

    Wer sich dagegen etwas Zeit nimmt und der Software auf die Sprünge hilft, um wirklich nur als User mit minimalsten Rechten zu arbeiten, hat mit solch unangenehmen, digitalem Ungeziefer kaum noch Probleme, selbst wenn er auf Virenscanner, Firewall und dergleichen Hilfsmittel verzichtet, da jede Infizierung eines Systems Zugriff auf wichtige Systemdateien vorraussetzt, die ein eingeschränkter Benutzer einfach nicht hat.

    Und das ist gar nicht so schwierig, wenn man ein paar kleine Tricks kennt.



    Anmerkung: Da ich immer noch auf Windwos 2000 bin, bezieht sich das folgende auch nur darauf, bei XP kann es an der einen oder anderen Stelle etwas anders sein, da müsst ihr vieleicht mal ein wenig suchen, von Vista hab ich mal gar keine Ahnung. Darum schreibe ich etwas ausführlicher, mit den Informationen solltet ihr eigentlich immer die richtigen Schrauben finden, an denen man drehen muss.



    Damit man nicht ständig den Benutzer wechseln muss, gleich der wichtigste "Trick":

    Wenn man ein beliebiges Programm (hier vor allem den Explorer) nicht durch Klick mit der linken Maustaste startet, sondern mit der rechten Maustaste das Kontextmenü aufruft, dann gibt es dort einen Eintrag "Ausführen als", mit dem man dieses Programm auch als anderer User (speziell als Administrator) nach Passworteingabe starten kann. Optimal, um mal eben Einstellungen in der Systemsteuerung vorzunehmen, auf die nur der Admin Zugriff hat, oder hier, um man eben ein paar Zugriffrechte für Dateien oder Ordner zu verändern.
    Anmerkung 1: Unter Win2000 taucht dieser Eintrag im Kontextmenü nur auf, wenn man beim Klick mit der rechten Maustaste die Shift-Taste gedrückt hält, unter XP wird er immer angezeigt.
    Anmerkung 2: Das klappt auf allen Systemen nur, wenn der Dienst "Sekundäre Anmeldung" unter der Computerverwaltung/Dienste auf automatisch steht und gestartet ist. Also mal eben dort nachsehen, wenn's nicht geht bzw. der Eintrag im Kontextmenü fehlt.



    Im Prinzip gibt es nur drei Fehlerquellen, die ein Programm an der ordentlichen Funktion auch unter einem Benutzer mit minimalsten Rechten hindern können:


    1. Dateizugriff
    Wenn man Glück hat, sagt die Software das sogar im Klartext: Kann Datei xyz nicht öffnen.

    Das ist sozusagen der Klassiker und die häufigste Fehlerquelle.
    So gut wie jedes Programm muss irgendwelche Einstellungen, Daten (Spielstände!) oder so abspeichern. Eigentlich sollte es das im jeweiligen Userfolder tun (Dokumente und Einstellungen/<Username>/ . . . ), aber viele, insbesondere ältere Programme halten sich nicht daran und wollen diese Daten im Programm-Ordner ablegen (der für Benutzer tabu ist) - nicht zuletzt die Schuld der Firma M$, die es versäumt hat, hier von vorneherein klare Guidelines aufzustellen, was eine Software darf und was nicht. Wobei man auch klar sagen muss, das sich auch Software von M$ selber diesbezüglich in der Vergangenheit nicht gerade mit Ruhm bekleckert hat.

    Daneben gibt es aber natürlich auch einige Programme, bei denen ein Abspeichern dieser Daten im Userfolder gar keinen richtigen Sinn macht, weil die dann auch nur unter dem jeweiligen User vorhanden wären, aber grundsätzlich ja völlig unabhängig von angemeldeten User sind. Klassische Beispiele hierfür wären ein FTP-Server, der irgendwo zentral seine Benutzer und deren Rechte abspeichern muss, oder das Filesharing-Programm DC++, das irgendwo die Hashes der gesharten Files speichern muss - Sinn macht das in beiden Fällen nur im jeweiligen Programm-Ordner - auf der den User aber keinen Zugriff hat.

    Die Abhilfe liegt auf der Hand: Als Administrator (entweder richtig angemeldet oder einfacher in einem Explorerfenster, das mit "Ausführen als" im Admin-Account gestartet wurde) den Usern Schreib-Zugriff auf die Daten einräumen. Dazu muss man nur in den Sicherheitseinstellungen der Datei (Rechtsklick drauf, Eigenschaften, Sicherheit) der Gruppe "Benutzer" Vollzugriff einräumen.

    In der einfachen Variante macht man dies gleich mit dem kompletten Ordner des jeweiligen Programms. Diese Variante ist allerdings nicht ganz ungefährlich, weil dabei auch der Zugriff eines Wurms oder Viruses auf die Exe-Datei oder DLL-Dateien möglich wird. Damit wird ein solcher Virus zwar nur aktiv, wenn das Programm gestartet wird, aber dadurch kann er das gesammte System infizieren, sobald das Programm einmal im Administrator-Account läuft (Autostart-Programme!). Daher:

    Die bessere Möglichkeit ist in jedem Falle, den Benutzern den Vollzugriff nur auf die unbedingt nötigen Dateien einzuräumen - wenn man denn wüsste, welche das sind. Im Idealfall sagt einem die Software das, aber auch, wenn sie schweigt oder sich mit einer eher unklaren Fehlermeldung zu Wort meldet, ist das gar nicht so schwer herauszubekommen:
    Man loggt sich als Administrator ein und legt vom gesamten Ordner des Programmes eine SFV-Datei an und schreibt sich alle Dateien im Ordner auf. Dann startet man das Programm und arbeitet ein wenig damit, verändert ein paar Einstellungen, legt Benutzer an (FTP-Server), gibt einen Ordner für die Shared Files vor (DC++) und so weiter. Programm beenden und mit der SFV-Datei überprüfen, welche Dateien geändert worden sind. Auf diese und alle neu angelegten Dateien bekommen die Benutzer Vollzugriff.

    Dannach sollte die Software eigentlich auch unter einem eingeschränkten Benutzer tadellos laufen.

    Wenn nicht, dann kann es einer der (selteneren) anderen Fälle sein:




    2. Zugriff auf die Registry
    Im Prinzip ist das der gleiche Fehler wie oben: Das Programm will irgendwas abspeichern, halt nur nicht in einer Datei, sondern in die Registry. Manchmal sagt das Programm sogar gleich im Klartext: Registry kann nicht aktualisiert werden.
    Bei der Registry gibt es ähnlich wie bei den Datei-Zugriffen zwei Möglichkeiten: die User.dat, von der jeder User seine eigene für persönliche Einstellungen hat, und der zentralen System.dat, die für systemübergreifende Einstellungen ist, und auf die nur der Admin Schreibzugriff hat.
    Klassische Fehler-Programme sind hier die alten Varianten von PaintShopPro, aber auch Office 97, bei dem ohne Vollzugriff auf den Zweig /SharedTools/Proofing/ im Systemteil der Registry bei eingeschränkten Benutzern die Rechtschreibkontrolle nicht funktioniert.

    Aber genauso wie bei den Dateien im Programme-Ordner kann man auch bei einzelnen Zweigen der Registry die Zugriffsrechte ändern.

    WARNUNG: bei allen Spielereien an der Registry unbedingt vorher mit Acronis oder so ein Systemimage ziehen. Ich hab's schon erlebt, das nach einer simplen Rechte-Freigabe kein Benutzer mehr in den Desktop kam, sondern nur seinen Bidschirmhintergrund bewundern durfte, ohne Icons, Taskleiste oder Startmenü. Da kommt man nur mit einem funktionierenden Image wieder raus!

    Unter Win2000 das Programm "regedt32.exe" starten (einfach unter Start/Ausführen eingeben, unter XP geht es auch mit Regedit), den entsprechenden Zweig markieren und im Menü unter "Sicherheit/Berechtigungen" (unter XP "Bearbeiten/Berechtigungen") einfach den Usern Vollzugriff einräumen (Das darf natürlich nur der Admin, klar).

    Problem ist halt nur, den richtigen Zweig zu finden. Wenn Google nicht weiterhilft, dann hilft nur ausprobieren, der Programm-Zweig unter HKEY_LOCAL_MACHINE\SOFTWARE ist ein recht guter Start und meist schon erfolgreich. Nochmal: Vor dem Herumpfuschen an der Registry unbedingt ein Systemimage ziehen!



    Bleiben zuletzt noch
    3. Die Hardcore-Fälle
    Die beiden Kniffe oben helfen nicht - oder die Software sagt klipp und klar, das sie nur im Administrator-Kontext läuft. Meist Software, die sich tief ins System einklinkt. Der Klassiker schlechthin ist hier PeerGuardian, eine Software, die sich in den TCP/IP-Stack von Windows einklinkt und Zugriffe von und auf bekannte IP-Adressen, die zur Film- und Musikindustrie, zu CIA, FBI, GEMA und bekannten Abmahnanwälten etc. gehören, verhindert. Für Filesharer eigentlich eine absolut unverzichtbare Sicherheits-Software, die aber aufgrund der Tatsache, das sie Zugriff auf den Systemkernel haben muss, prizipiell nur unter dem Admin-Konto laufen kann.

    Aber auch hier kann man dran drehen.

    Eine Möglichkeit ist es, aus dem störrischen Programm einen Systemdienst zu machen, der noch vor der Benutzer-Anmeldung gestartet wird und daher volle Systembefugnisse hat. Prinzipiell kann man jede beliebige Software dazu überreden, als Systemdienst zu arbeiten, allerdings gibt es da ein paar unerwünschte Nebenerscheinungen:
    Zunächst mal die Tatsache, das es als Systemdienst für alle Benutzer läuft - was ja nicht unbedingt erwünscht ist. Dann, das es als Systemdienst immer gestartet wird - was man vieleicht gar nicht braucht.
    Vor allem aber, weil es bei vielen Programmen die eine oder andere kleine Nebenwirkung hat. Bei PeerGuardian beispielsweise taucht dann das Icon nicht mehr im Tray auf - was dazu führt, das man sich nicht durch Klick auf selbiges davon überzeugen kann, das die automatischen Updates der Blocklisten noch funktionieren.
    Alles in allem halte ich die Methode Systemdienst nur in seltenen Fällen - wenn überhaupt - für sinnvoll, weshalb ich hier nicht weiter darauf eigehen werde. Wer sich für diese Art Hack interessiert, soll mal Google anwerfen, das Web ist voll von Anleitungen, wie man ein beliebiges Programm zum Systemdienst ernennt.

    Die andere Methode ist der bereits beschriebene Trick mit der sekundären Anmeldung. Neben der Tatsache, das es aber eher lästig ist, jedesmal über das Kontextmenü gehen müssen und das Passwort eingeben zu müssen, bleibt natürlich noch der nicht unerhebliche Punkt, das man bei weiteren Benutzern (dem Sohneman beispielsweise) diesen auch das Admin-Passwort anvertrauen müsste - auch nicht gerde der Sinn einer Benutzerverwaltung.
    Und nicht zuletzt: Im Autostart funktioniert das gar nicht.

    Also müsste man ein Programm benutzen, das in der Lage ist, ein anderes Programm in einem anderen Benutzer-Kontext zu starten. Im Prinzip keine große Sache, man muss allerdings diesem Programm das Passwort für den Admin-Account anvertrauen. Da dieses Programm sich den irgendwie merken muss, muss es unbedingt mit einer Verschlüsselung arbeiten, denn sonst würde das Admin-Passwort im Klartext irgendwo auf eurer Platte liegen, und wir könnten uns den ganzen Kram mit Benutzern mit eingeschränkten Rechten auch gleich wieder schenken.

    Zum Glück gibt es so ein Programm: RunAsSPC (Runas Password, für Privat-User Freeware)

    Anmerkung: Damit dieses Programm arbeiten kann, muss logischerweise genauso wie bei obigem "Trick" der Systemdienst "Sekundäre Anmeldung" eingeschaltet sein. Also mal eben in der Computerverwaltung unter Dienste
    nachsehen, ob dieser auch auf "Automatisch" steht, sonst den Starttyp entsprechend ändern.

    Saugen und in den Programme-Ordner entpacken (keine Installation notwendig). Jetzt legt man im Programm-Verzeichnis eine Batchdatei mit etwa folgendem Inhalt an (Pfade, Benutzernamen und Passwort natürlich an euer System anpassen):

    runasspc /cryptfile:"pg2.spc" /program:"C:\Programme\PeerGuardian2\pg2.exe" /domain:"localhost" /user:"Administrator" /password:"password"

    Laufen lassen und das Programm erzeugt das verschlüsselte Cryptfile (die pg2.spc), indem alles notwendige drinsteht. Ab sofort kann jeder Benutzer Runasspc mit dem Kommando "/cryptfile:"pg2.spc" /quiet" laufen lassen und startet damit PeerGuardian mit Administratorenrechten, auch ohne Passworteingabe. Im einfachsten Fall legt man eine Verknüpfung zu RunAsSPC auf den Desktop oder ins Startmenü, ruft davon die Eigenschaften auf und trägt obiges Kommando hinter den Pfad zum Programm ein, ändert noch das Icon auf das des zu startenden Programmes und kein Benutzer merkt, das da was zwischen sitzt.

    Für die Vollautomatik startet man Regedit, und geht nach
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run
    Dort eine neue Zeichenfolge mit dem Namen "PG2" und dem Inhalt
    "C:\Programme\runasspc\runasspc.exe /cryptfile:"C:\Programme\runasspc\pg2.spc" /quiet"
    anlegen. Und schon wird es bei jedem Systemstart mitgeladen.

    Anmerkung: Der Eintrag in diesen Schlüssel bewirkt, das es bei jedem Benutzer gestartet wird, Eintrag in
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Curre ntVersion\Run
    würde nur für den jeweiligen User gelten.

    ACHTUNG: Wenn es läuft, nicht vergessen, die Batchdatei zu löschen und den Papierkorb zu leeren! Immerhin steht da euer Administrator-Passwort im Kartext drin, und wir wollen ja nicht, das da ein möglicher Besucher/Einbrecher drüber stolpert . . .
    Die Cryptfiles sind Systembezogen - es reicht nicht aus, ein Cryptfile auf ein anderes System zu kopieren, auch wenn der Admin dort den gleichen Namen und das gleiche Passwort hat, mann muss es auf jedem System und bei jeder neuinstallation neu erzeugen.





    Das wars auch schon.
    Mit diesen drei Kniffen (wobei in 90% aller Fälle schon der erste zum Erfolg führt) hab ich bisher noch jedes Programm auch unter einem eingeschränkten Benutzer-Account zur einwandfreien Kooperation überreden können.

    Ich zieh das jetzt seit mehreren Jahren konsequent durch und kann im Moment nicht sagen, wann ich mich zum letzten mal als Admin an einem meiner Rechner angemeldet habe - aber ich sag jetzt einfach mal, dieses Jahr noch nie. Und obwohl ich völlig ohne Firewall (außer dem Router) und Virenscanner arbeite (heisst: mitlaufendem Virenscanner. Ich hab einen, werf den aber nur ab und zu mal von Hand an, um email-Anhänge oder den Download-Ordner zu überprüfen), hab ich seit Jahren keine Probleme mehr mit Viren, Würmern und anderem Viechzeugs.

    Und ich hoffe, das hilft auch dem einen oder anderen von euch, auf das es weniger email-Spam-Schleudern geben mag . . .
    Last edited by mabuse; 23.10.08 at 09:52.
    Reply With QuoteReply With Quote
    Thanks

  2. Who Said Thanks:

    fromas (27.10.08) , vDD+wR (25.10.08) , hitman (23.10.08) , anon (22.10.08)

  3. #2

    Join Date
    28.02.08
    Location
    kernel32.dll
    P2P Client
    µtorrent
    Posts
    1,615
    Activity Longevity
    0/20 19/20
    Today Posts
    0/5 sssss1615
    Einen kleinen Sonderfall will ich noch ansprechen:

    Ich arbeite intensiv mit einem eBay-Sniper. Damit mir keiner noch in letzter Sekunde den Preis hochtreibt, sollte man seine Gebote so kurz wie möglich (3 Sekunden) vor Ablauf einer Auktion abgeben. Damit das zuverlässig läuft, wäre es wünschenswert, die Systemzeit regelmäßig (bei mir: alle 2 Stunden) mit der Atomuhr in Braunschweig zu synchronisieren. Ist in meinem Sniper auch schon eingebaut, aber dummerweise ist das Verstellen der Uhrzeit auch dem Administrator vorbehalten. Die Rechtevergabe für solche Feinheiten findet man im Gruppenrichtlinien-Editor Gpedit.msc (unter Start/Ausführen eingeben).
    Unter "/ Computerkonfiguration / Windows-Einstellungen / Sicherheitseinstellungen / Lokale Richtlinien / Zuweisen von Benutzerechten / Ändern der Systemzeit" die Gruppe der Benutzer hinzufügen, und schon kann man auch als User die Uhrzeit ändern und bei eBay einen haufen Geld sparen

    Macht keinen Blödsinn im Richtlinieneditor, das ist kein Spielplatz, der ist nicht umsonst nur über Start/Ausführen erreichbar!
    Reply With QuoteReply With Quote
    Thanks

  4. Who Said Thanks:

    fromas (27.10.08) , vDD+wR (25.10.08) , hitman (23.10.08)

+ Reply to Thread

Tags for this Thread

Posting Permissions

  • You may post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts
  •