www.macfrognet.de - Tools and more

www.macfrognet.de - Tools and more


Diverse Tools, punBB-Mods und Dokumentationen.
Several tools, punBB mods and documentations.

Sie sind nicht angemeldet.

 

Win-SUDO Dokumentation

1. Einleitung:

Was ist Win-SUDO? Win-SUDO führt Programme unter einem anderen Benutzerkontext aus.

2. Allgemeines:

Windows hat seit der Version NT (und den Nachfolgern 2000 und XP) eine umfangreiche Benutzerverwaltung. Änderungen an den Systemeinstellungen ist den Administratoren vorbehalten. Viele Programme aus Windows 9x Zeiten legen ihre Konfiguration aber weiterhin im Programmorder bzw. im HKLM-Zweig der Registry ab. Diese Bereiche sind aber nur von Administratoren beschreibbar. Systemnahe Tools und Installationsroutinen können ebenfalls nur von Administratoren aus-/durchgeführt werden. Darum arbeiten die meisten Anwender mit Administratorenrechte. Mailviren und andere Malware haben so leichtes Spiel, da sie somit Zugriff auf das gesamte System haben.

UNIX ist schon immer ein Mehrbenutzersystem mit einer strengen Rechtevergabe. Benutzer arbeiten nur mit eingeschränkten Rechten, Systemarbeiten werden mit dem Benutzer root durchgeführt. Damit sich der Anwender nicht für jede Systemaktivität neu anmelden muß kann eine temporäre Benutzerumschaltung erfolgen. Dafür steht unter UNIX das Kommando su (switch user) und unter Windows die schnelle Benutzerumschaltung zur Verfügung. Bei beiden Methoden wird aber eine komplett neue Shell gestartet. Während bei UNIX-Systemen es noch reicht den Benutzerwechsel in einem Kommandofenster durchzuführen, muß der Windowsuser seinen Desktop temporär verlassen. Auch wenn der alte Desktop erhalten bleibt ist der Wechsel auf jeden Fall lästig.

Alternativ dazu kann nur das Programm, welches die Administrationsrechte benötigt, mit diesen Rechten gestartet werden. Auch hier existieren unter UNIX und Windows ähnliche aber trotzdem unterschiedliche Konzepte. UNIX bedient sich des Kommandos sudo, während dem geneigten Windowsuser diese Möglichkeit über das Kontextmenü des Explorers (Ausführen als) bzw. das Kommandozeilentool runas (teilweise aber erst ab Windows XP). Die Unterschiede liegen in der Konfiguration und der Art wie bzw. unter welcher Kennung ein Programm gestartet wird.

2.1. sudo:

sudo wird mit Hilfe des Kommandos visudo konfiguriert. Die Konfiguration wird in der Datei /etc/sudoers abgelegt. Hier wird geregelt welcher User welches Programm mit Adminrechten ausführen darf. Der Aufruf erfolgt durch sudo <Kommando>. Eine Angabe des Adminusernamens bzw. des Paswortes ist nicht notwendig. Das Programm wird automatisch mit root-Rechten gestartet.

Vorteil:

  • Einschränkung möglich, welcher User Programme mit sudo starten darf.
  • Einschränkung möglich, welches Programm dieser User mit sudo starten darf.
  • Eingabe des root-Passwortes ist nicht notwendig.

Nachteil:

  • Programme werden immer mit dem User root gestartet.

2.2. Ausführen als/runas:

Der User erreicht diesen Menüpunkt über das Kontextmenü des Explorers. Nach Auswahl eines Adminusers und der Eingabe startet das Programm mit diesem Useraccount, … in den meisten Fällen. Jeder User mit einem Passwort versehen sein. Desweiteren gibt es Programme die trotzdem nur eine neue Instanz unter dem alten User starten, z. B. Der Explorer. Ein weiterer Nachteil ist die Tatsache ist die Tatsache das der Standardanwender sowohl Usernamen als auch das Passwort des Adminusers kennen muß. Dies ist vielleicht bei einem heimischen PC der nur von einer Person genutzt wird kein Problem, bei einem Arbeitsplatzrechner oder auch einem Home-PC der von verschiedenen Usern genutzt wird, kann das aber schon zu einem ziemlichen Problem werden. Wer möchte schon jeden Gast, der einen eingeschränkten Internetuser benutzen darf, schon das Passwort seines Adminusers verraten, nur weil ein eingesetztes Tool Adminrechte verlangt. Leider existiert keine Möglichkeit dem Explorer beizubringen sich dieses Passwort zu merken. Eine Einschränkung auf bestimmte Programme existiert schon gar nicht. Lassen wir an dieser Stelle die Policies mal außen vor. Die Befehlszeilenversion von Ausführen als heisst runas. Hier muß neben dem zu startenden Kommando auch der User und das Passwort mitgegeben werden. Mit dem Parameter /savecred merkt sich runas wenigstens das Passwort. Dieser Parameter existiert aber erst ab Windows XP Professional. Windows 2000 und Windows XP Home Anwender (letzteres ist wohl die Masse) haben diese Möglichkeit der Passwortspeicherung nicht. Bei mir wurde aber trotz der Angabe von /savecredin unregelmäßigen Abständen nach dem Passwort gefragt.

Vorteil:

  • Keine separate Konfiguration nötig.
  • Programme können unter verschiedenen Usern gestartet werden.

Nachteil: Der Standarduser muß das Adminpasswort kennen.

  • Passwort kann nicht immer gespeichert werden.
  • Keine Einschränkung auf Benutzer möglich.
  • Keine Einschränkung auf bestimmte Programme möglich.

2.3. Win-SUDO:

Win-SUDO verbindet die Konzepte aus beiden Welten. Der Adminuser legt mit dem Konfigurationstool wsudocfg eine zentrale Konfiguration in der Registry ab. Neben dem Namen des Adminusers und dem Passwort wird für jeden User festgelegt, ob dieser Win-SUDO benutzen darf und für welches Programm. Jedem erlaubten User stehen nach erfolgreicher Konfiguration das System-Tray Utility wsudocmd bzw. das Befehlszeilentool wsudo zur Verfügung. Eine genaue Beschreibung der Tools erfolgt in Kapitel 4. Das mit Win-SUDO aufgerufene Programm wird mit dem gespeicherten Usernamen/Passwort gestartet und in seinem Benutzerkontext ausgeführt. Dabei nutzt Win-SUDO den gleichen System-Call wie Ausführen als bzw. runas.

Vorteil:

  • Zentrale Konfiguration durch den Adminuser.
  • Der eingeschränkte User muß Namen/Passwort des Adminusers nicht kennen.
  • Einschränkung, welcher User Win-SUDO benutzen dürfen, ist möglich.
  • Einschränkung, welche Programme gestartet werden dürfen, ist möglich.
  • Komfortabel, da keine Passworteingabe notwendig ist.

Nachteil:

  • Passort muß gespeichert werden.

3. Installation/Deinstallation:

3.1. Installation:

3.1.1. Automatische Installation:

  1. Installationspaket von der Downloadseite herunterladen.
  2. Installation durchführen.
  3. Konfiguration durchführen.

3.1.2. Manuelle Installation:

  1. ZIP-Paket von der Downloadseite herunterladen.
  2. ZIP-Archiv in ein neues Verzeichnis entpacken.
  3. Konfiguration durchführen.

3.2. Deinstallation:

3.2.1. Automatische Deinstallation:

  1. Evtl. von den Anwendern den Schalter Automatisch starten im System-Try-Utility durchführen lassen. Soll diese Aktivität vom Systemverwalter durchgeführt werden, dann bitte folgenden Eintrag bei allen Usern aus der Registry löschen: HKEY_USERS/S-User-ID/Software/Microsoft/Windows/CurrentVersion/Run/wsudocmd1).
  2. Deinstallation durchführen.

3.2.2. Manuelle Deinstallation:

  1. s. Punkt 1 der automatischen Deinstallation.
  2. Den Registrypfad HKEY_LOCAL_MACHINE/SOFTWARE/Win-Sudo2) löschen.
  3. Die entpackten Dateien oder das Installationsverzeichnis löschen.

4. Erläuterungen zu den Tools:

Win-SUDO besteht im wesentlichen aus 3 Programmen:

  • wsudocfg: Konfigurationswerkzeug für Win-SUDO. Muß vom Administrator ausgeführt werden.
  • wsudo: Das Befehlszeilentool für den Anwender.
  • wsudocmd: Das System-Tray-Utility für den Anwender.

4.1. wsudocfg:

DAS Konfigurationstool für den Administrator. Hier werden sämtliche Einstellungen vorgenommen und in der Registry im Pfad HKEY_LOCAL_MACHINE/SOFTWARE/Win-Sudo3) gespeichert. Das Dialogfenster besteht aus 4 Bereichen:

  • Titelzeile mit dem Titel und dem Win-SUDO Symbol.
  • Dem Einstellungskarteikasten mit den Karteikarten:
    • Globale Einstellungen
    • Benutzerrechte
    • Info
  • Die Buttonleiste mit den Buttons:
    • Sichern: schreibt sämtliche Einstellungen in die Registry.
    • Schließen: Beendet das Konfigurationstool.
  • Die Statusleiste zeigt folgende Informationen an:
    • Den Computernamen.
    • Den Namen des aktuellen Benutzers.
    • Die Windows-Version.

Im folgenden wird näher auf die Einstellungsmöglichkeiten des Konfigurationskarteikastens eingegangen.

4.1.1. Karteikarte: Globale Einstellungen

Grundsätzlich benötigt Win-SUDO den Namen und das Passwort des Users, unter dessen Benutzerkontext ein Programm ausgeführt werden soll. Der Benutzername kann aus einer DropDownListe ausgewählt werden. Das Passwort ist zweimal einzugeben. Mit Hilfe des Buttons Passwort anzeigen wird das eingegebene Passwort unverschlüsselt in einem Dialogfenster angezeigt.

Mit der Speicherung dieser Informationen sind die wichtigsten Einstellungen bereits getroffen. Jetzt müssen nur noch die Benutzer freigeschaltet werden, die Win-SUDO benutzen dürfen, da es in der Grundeinstellung keinem Benutzer erlaubt ist Win-SUDO zu benutzen. Diese Einstellungen werden auf der Karteikarte Benutzerrechte vorgenommen.

4.1.2. Karteikarte: Benutzerrechte

Für jeden Benutzer existiert hier eine weitere Karteikarte mit den jeweiligen benutzerspezifischen Einstellungen. Bitte nicht wundern, wenn dort mehr Benutzer angezeigt werden als in der Benutzerverwaltung der Systemsteuerung. Diese Systembenutzer, wie z. B. ASPNET, Gast, Hilfeassistent, usw., werden nicht herausgefiltert.

Zuerst muß der Benutzer ausgewählt werden, dessen Win-SUDO Rechte geändert werden sollen. Danach ist festzulegen was dieser Benutzer darf. Dies geschieht im oberen Kasten der Karteikarte:

  • Kein Programm: Das ist die Standardeinstellung für jeden Benutzer. Win-SUDO darf von diesem Benutzer nicht benutzt werden.
  • Nur die unten aufgeführten Programme: Die Nutzung von Win-SUDO wird auf bestimmte Programme eingeschränkt. Für jedes dieser Programme muß eine Alias- Konfiguration angelegt werden. Aliasse sind benutzerspezifisch und werden im unteren Teil der Karteikarte verwaltet, aber dazu später.
  • Alle Programme - Keine Einschränkung: Der Benutzer darf jedes Programm auf dem System mit Win-SUDO starten. Zusätzlich stehen alle Aliasse zur Verfügung.

Aliaskonfiguration:

Aliasse werden in der unteren Hälfte der Karteikarte verwaltet und konfiguriert. Alle Aliasse eines Benutzers werden in der linken Liste aufgelistet. Wird ein Eintrag markiert, dann erscheinen die dazu gespeicherten Werte in den rechten Eingabefeldern Alias, Programm, Parameter und Arbeitsverzeichnis. Die Werte können dann geändert werden. Mit Hilfe des Buttons Werte ändern werden die eingegebenen Werte dann in die Aliasliste übernommen. Mit Hilfe des Buttons Neu werden die Wertefelder geleert, damit ein neuer Eintrag erfasst werden kann. Soll der Eintrag in der Liste gespeichert werden, so ist auch hier der Button Werte übernehmen zu betätigen. Der Button Löschen löscht einen Eintrag aus der Liste. Der Button Alles löschen löscht die gesamte Aliasliste. Alle Änderungen werden erst über den Button Sichern permanent in die Registry geschrieben.

4.1.3. Karteikarte: Info

Auf der Infokarteikarte stehen einige Kurzinformationen zum Programm. Neben der Versionsnummer und einer Kurzanleitung existiert dort noch ein Link zur Homepage. ACHTUNG! Da ihr in diesem Augenblick als Administrator arbeitet, wird bei einem Klick auf den Link natürlich der Browser mit Adminrechten gestartet.

4.2. wsudocmd:

wsudocmd ist das grafische Tool für den Standardbenutzer um Programme in einem anderen Benutzerkontext auszuführen. Nach dem Start wird die vom Administrator erstellte Konfiguration (wsudocfg) für den aktuellen Benutzer ausgelesen und das Programm klinkt sich in den System-Tray ein . Mit einem Klick auf das Symbol öffnet sich das Kontextmenü des Tools.

Die Bedeutung der Menüpunkte im einzelnen (von unten nach oben):

  • Beenden: Beendet das Programm.
  • Menü schliessen: Schliesst das Kontextmenü.
  • Run: Es erscheint ein Ausführen-Dialog in dem beliebige Programme ausgewählt/eingegenen werden können. Damit dieser Menüpunkt aktiv wird, benötigt der Benutzer das Recht Alle Programme - Keine Einschränkung.
  • Automatisch starten: Wird dieser Menüpunkt ausgewählt, dann wird ein Autostart-Eintrag in der Registry (HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run/wsudocmd4)) erzeugt. Danach startet wsudocmd nach jeder Anmeldung automatisch. Wird der Menüpunkt wieder deaktiviert, dann wird der Registry-Key gelöscht.
  • Info: Es erscheint ein Infodialog mit einigen Kurzinformationen.

  • Alle Einträge oberhalb von Info: Sämtliche Aliaskonfigurationen für den Benutzer werden eingelesen und für jeden Alias ein Menüpunkt erzeugt. Mit einem Klick auf einen Alias-Menüpunkt wird das dahinter liegende Programm gestartet. Für häufig genutzte Programme macht es also Sinn Aliaskonfigurationen anzulegen. Damit die Einträge auch aktiv sind, muß der Benutzer über das Recht Alle Programme - Keine Einschränkung oder Nur die unten aufgelisteten Programme verfügen.

Ändert der Administrator mit wsudocfg die Konfiguration des Benutzers, dann muß wsudocmd neu gestartet werden, damit die neue Konfiguration aktiviert wird.

4.3. wsudo:

wsudo ist das Kommandozeilentool des Benutzers, um Programme in einem anderen Benutzerkontext auszuführen. Damit wsudo von der Kommandozeile einfach erreichbar ist, empfiehlt es sich das Programmverzeichnis in den Suchpfad aufzunehmen bzw. das Tool in ein Verzeichnis des Suchpfades zu kopieren.

Folgende Parameter sind möglich:

  • wsudo /?: Listet die möglichen Parameter auf.

  • wsudo /h: Zeigt eine kurze Hilfe an.

  • wsudo /a <Alias-Name>: Startet eine vom Administrator mit wsudocfg angelegte Aliaskonfiguration des Benutzers. Damit diese Option möglich ist, muß der Benutzer über das Recht Alle Programme - Keine Einschränkung oder Nur die unten aufgelisteten Programme verfügen.
  • wsudo <Programm-Name>: Startet das angegebene Programm. Damit diese Option möglich ist, muß der Benutzer über das Recht Alle Programme - Keine Einschränkung verfügen.

5. Sicherheit:

Die Speicherung des Passwortes stellt natürlich eine Sicherheitslücke dar, allerdings eine kleinere Lücke als permanent mit Administratorrechten zu arbeiten. Die Speicherung des Passwortes erfolgt im HKLM-Zweig der Registry, natürlich verschlüsselt. Dazu wird ein zufälliger Schlüssel generiert und ein MD5-Hashkey gebildet. Dieser Hashkey dient dann als Schlüssel für die Verschlüsselung des Adminuserpasswortes. Im Moment dient dazu noch der RC4 Algorithmus, wird aber in der nächsten Version durch den Blowfish-Algorithmus abgelöst.

Noch ein weiterer Sicherheitshinweis. Viele Personal Firewalls warnen

  1. wenn ein Programm versucht eine Verbindung zum Internet aufzubauen bzw. einen Server im Web zu erreichen und
  2. wenn ein Programm ein anderes starten möchte.

Ich garantiere für Win-SUDO folgendes:

  • Win-SUDO enthält keinen Dialer oder eine andere Spyware.
  • Win-SUDO wird niemals eine Verbindung zum Internet aufnehmen. Aus diesem Grunde ist auch bewusst keine automatische Update-Möglichkeit enthalten.
  • Win-SUDO startet unaufgefordert keine anderen Programme, sondern nur das jeweilige Programm welches durch den Aufruf gestartet werden soll. Dies ist ja auch die Aufgabe von Win-SUDO. wsudocfg startet niemals ein anderes Programm.
  • Kein automatischer Start der Tools. Nur im System-Tray Utility wsudocmd hat der Anwender die Möglichkeit den Start bei jedem Anmeldevorgang zu automatisieren. Dies muß aber manuell vom Anwender aktiviert werden.

Hält sich die eingesetzte Version nicht an diese Regeln, dann handelt es sich wohl um eine Fälschung. In diesem Fall bitte hier die neueste Version herunterladen. Für eine Info über diesen Mißbrauch wäre ich dankbar.

6. Historie:

  • 01.04.2005 V0.1 Abschlusstests mit Friendly User
  • 08.05.2005 V0.2 Veröffentlichung

7. Geplante Änderungen:

Version 0.9:

  • Benutzerübergreifende Alias-Einstellungen.
  • Für die Passwortverschlüsselung wird der Blowfish-Algorithmus anstatt dem RC4-Algorithmus verwendet.
  • Erweiterung des generierten Keys um Hardwarespezifische Merkmale
  • Die Namen von bereits aus dem wsudocmd Ausführen Dialog gestartete Programme werden in der Registry gespeichert und wieder in einer Auswahlbox zur Verfügung gestellt.
  • Multilanguagesupport
  • User kann sich Icon’s für Aliasaufrufe auf dem Desktop erzeugen lassen
  • Protokollierung aller Aktivitäten im Systemlog
  • Anstatt unter einem anderen User zu starten wird der Anwender selber temporär nur für den neuen Prozess zum Administrator gemacht

Version 1.0:

  • Plugin-Schnittstelle für alternative Verschlüsselungs-/Passwortspeicherungs-Tools
  • Alternative Passwortabfrage wenn kein Passwort gespeichert ist
  • Angabe von Domänenusern

Version 1.x:

  • Win-SUDO Systemservice

Noch für keine Version vorgesehen:

  • Evtl. wird das Passwort nicht in der Registry sondern im Keyring des angemeldeten Benutzers gespeichert.

Bei weiteren Verbesserungsvorschlägen bzw. bei gefundenen Bugs informiert mich bitte über das Forum. Da ich die gesamte Entwicklung ausschließlich in meiner knapp bemessenen Freizeit durchführe, bitte ich um Verständnis wenn ich die Wünsche nicht sofort umsetze.

8. Lizenz und Haftung:

Win-SUDO ist Freeware. Bitte beachtet die genauen Lizenzbedingungen.

Die Software und ihre Dokumentation wird wie sie ist zur Verfügung gestellt. Da Fehlfunktionen auch bei ausführlich getesteter Software durch die Vielzahl an verschiedenen Rechnerkonfigurationen niemals ausgeschlossen werden können, übernimmt der Autor keinerlei Haftung für jedwede Folgeschäden, die sich durch direkten oder indirekten Einsatz der Software oder der Dokumentation ergeben. Uneingeschränkt ausgeschlossen ist vor allem die Haftung für Schäden aus entgangenem Gewinn, Betriebsunterbrechung, Verlust von Informationen und Daten und Schäden an anderer Software, auch wenn diese dem Autor bekannt sein sollten. Ausschließlich der Benutzer haftet für Folgen der Benutzung dieser Software.

9. Danksagung:

Besonderen Dank an http://www.delphi-forum.de und http://www.swissdelphicenter.ch.

Desweiteren möchte ich allen freiwilligen Testern danken.

10. Systemvoraussetzungen:

Funktionieren sollte Win-SUDO ab Windows 2000, da dort der benötigte System-Call existiert, d. h. unter den Systemen Windows 2000, Windows XP Home, Windows XP Professional und Windows 2003 Server. Getestet habe ich es unter Windows XP Home und Windows XP Professional. Windows 2000 und Windows 2003 Server konnte ich aufgrund fehlender Lizenzen nicht testen, sollte aber wie bereits erwähnt funktionieren. Sollte jemand über eine solche Lizenz verfügen, wäre ich über ein Feedback sehr dankbar.

Copyright © 2005 Frank Wittke

1) Slash durch Backslash ersetzen
2) Slash durch Backslash ersetzen
3) Slash durch Backslash ersetzen
4) Slash durch Backslash ersetzen
 
  wsudo_doku.txt · Zuletzt geändert: 24.01.2006 21:37 von 84.61.152.34 (MacFrog)
 

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson