Das Handbuch zu KDE su

# Das Handbuch zu KDE su

Geert Jansen `<g.t.jansen@stud.tue.nl>`

Übersetzung: Philipp Siegert
Version KDE 4.5 (2010-09-21)

Copyright © 2000 Geert Jansen

Rechtlicher Hinweis

KDE su ist eine grafische Oberfläche für den UNIX®-Befehl su.

Kapitel 1. Einleitung
Einleitung

# Kapitel 1. Einleitung

Willkommen bei KDE su! KDE su ist eine grafische Oberfläche für den UNIX®-Befehl su in KDE. Es ermöglicht Ihnen, ein Programm mit einer anderen Benutzerkennung auszuführen, indem Sie das Passwort dieses Benutzers angeben. KDE su hat keine speziellen Systemrechte; es benutzt den Befehl su.

KDE su hat eine zusätzliche Funktion: Es kann Passwörter speichern. Wenn Sie diese Funktion benutzen, müssen Sie das Passwort für jeden Befehl nur einmal eingeben. Weitere Informationen und eine Sicherheitsanalyse finden Sie unter „Passwörter speichern“.

Dieses Programm sollte von der Befehlszeile oder durch `.desktop`-Dateien gestartet werden. Obwohl es über einen Dialog nach dem Passwort des Systemverwalters (`root`) fragt, ist es trotzdem eher ein Befehlszeilen- als ein reines GUI-Programm.

kdesu wird nicht mehr in `$(kf5-config --prefix)`/bin, sondern in `kf5-config --path libexec` installiert. Daher ist es nicht mehr in Ihrem `Pfad`. Verwenden Sie deshalb `$(kf5-config --path libexec)kdesu`, um kdesu aufzurufen.

Kapitel 2. KDE su benutzen
KDE su benutzen

# Kapitel 2. KDE su benutzen

Die Benutzung von KDE su ist einfach. Der Syntax ist folgendermaßen:

kdesu [`-c` `command`] [`-d`] [`-f` `file`] [`-i` `icon name`] [`-n`] [`-p` `priority`] [`-r`] [`-s`] [`-t`] [`-u` `user`] [`--noignorebutton`] [`--attach` `winid`]

kdesu [Allgemeine Einstellungen für KDE] [Allgemeine Einstellungen zu Qt™]

Die Befehlszeilen-Parameter sind weiter unten erklärt.

`-c `command``

  Dies gibt den Befehl an, der als Benutzer root ausgeführt werden soll. Er muss als Parameter übergeben werden. Wenn Sie beispielsweise eine neue Dateiverwaltung starten wollen, geben Sie auf der Befehlszeile Folgendes ein: `$(kf5-config --path libexec)kdesu `-c `Dolphin```

`-d`

  Debug-Informationen anzeigen. (Anmerkung des Übersetzers: Diese Option funktioniert nicht mit der in KDE 3.0 enthaltenen Version von KDE su.)

`-f `Datei``

  Dieser Parameter erlaubt den effizienten Einsatz von KDE su bei `.desktop` Dateien. Er weist KDE su an, die Datei, die mit `Datei` angegeben wurde, zu untersuchen. Besitzt der aktuelle Benutzer Schreibrechte auf die Datei, wird die Datei unter seinem Namen ausgeführt. Besitzt er keine Schreibrechte, wird die Datei unter dem Benutzernamen `Benutzer` (Voreinstellung: Systemverwalter) ausgeführt.

  `Datei` wird folgendermaßen ausgewertet: Wenn `Datei` mit `/` beginnt, wird es als absoluter Dateiname behandelt. Anderenfalls wird es als Name einer globalen KDE-Konfigurationsdatei behandelt.

`-i` `Symbolname`

  Legt fest, welches Symbol im Passwortdialog verwendet wird. Sie können einfach nur den Namen ohne Erweiterung eingeben.

  Um zum Beispiel Konqueror im Dateiverwaltungs-Modus mit dem Konqueror-Symbol im Passwortdialog zu starten, geben Sie dies ein:

      $(kf5-config --path libexec)kdesu  -i konqueror
      -c "konqueror --profile filemanagement"

`-n`

  Das Passwort nicht speichern. Dieser Parameter schaltet das Ankreuzfeld Passwort beibehalten im Passwort-Dialog aus.

`-p` `Priorität`

  Stellt die Priorität ein. Dies ist eine Nummer zwischen 0 und 100, wobei 100 für die höchste und 0 für die niedrigste Priorität steht. Die Voreinstellung ist 50.

`-r`

  Aktiviert die Echtzeit-Ausführung.

`-s`

  Den kdesu-Dämon anhalten. Weitere Details finden Sie unter „Passwörter speichern“.

`-t`

  Terminal-Ausgabe einschalten. Dieser Parameter schaltet das Speichern von Passwörtern aus. Dies ist hauptsächlich für Debugging-Zwecke interessant. Wenn Sie eine Anwendung benutzen wollen, die im Konsolen-Modus läuft, sollten Sie stattdessen den Standardbefehl su verwenden.

`-u` `Benutzer`

  Die häufigste Verwendung von KDE su ist, ein Programm als Systemverwalter auszuführen. Sie können aber auch einen anderen Benutzernamen und Passwort übergeben.

Kapitel 3. Interne Funktionsweise
Interne Funktionsweise

# Kapitel 3. Interne Funktionsweise

## X-Authentifizierung

Das Programm, das Sie aufrufen, wird unter der Benutzer-Kennung (User ID) des Systemverwalters ausgeführt und hat grundsätzlich keinen Zugriff auf Ihre X-Anzeige. KDE su umgeht dies, indem es Ihrer Anzeige ein Cookie zur Authentifizierung hinzufügt. Dazu wird eine zeitlich befristete `.Xauthority`-Datei angelegt. Nach Beendigung des Befehls wird die Datei wieder gelöscht.

Wenn Sie keine X-Cookies benutzen, sind Sie auf sich alleine gestellt. KDE su wird dies erkennen und kein Cookie hinzufügen. Sie müssen sich vergewissern, dass der Systemverwalter berechtigt ist, auf die Anzeige zuzugreifen.

Schnittstelle zu su
Schnittstelle zu su

## Schnittstelle zu su

KDE su benutzt den Systembefehl su, um Rechte zu erhalten. In diesem Abschnitt wird erklärt, wie KDE su dabei vorgeht.

Da manche Implementierungen von su (z. B. die von Red Hat®) keine Passwörter von `stdin` lesen, erstellt KDE su ein pty/tty-Paar und führt su so aus, dass die Standard-Dateideskriptoren mit dem tty verbunden sind.

Um anstelle einer interaktiven Shell einen vom Benutzer angegebenen Befehl auszuführen, benutzt KDE su den Befehl su mit dem Parameter `-c`. Dieser Parameter wird von jeder bekannten Shell verstanden, sodass er portabel einsetzbar sein sollte. su übergibt den Parameter `-c` an die Shell des Benutzers, unter dessen ID der Befehl ausgeführt werden soll. Diese Shell führt dann das Programm aus. Beispiel: su `root -c `das_programm``.

Statt den Befehl des Benutzers direkt mit su auszuführen, führt KDE su das Hilfsprogramm kdesu_stub aus. Dieses Hilfsprogramm, das unter der ID des Zielbenutzers läuft, fordert über den pty/tty-Kanal (stdin und stdout des Hilfsprogramms) einige Informationen von KDE su an. Danach wird das Programm des Benutzers ausgeführt. Folgende Informationen werden übergeben: die X-Anzeige, ein X-Authentifizierungs-Cookie (wenn verfügbar), die Variable `PATH` und der auszuführende Befehl. Der Grund für die Benutzung eines Hilfsprogramms ist der X-Cookie. Dieser beinhaltet sensible Informationen und kann deshalb nicht auf der Befehlszeile übergeben werden.

Passwort-Überprüfung
Passwort-Überprüfung

## Passwort-Überprüfung

KDE su überprüft die Passwörter, die Sie eingeben und gibt bei Falscheingabe eine Fehlermeldung zurück. Die Überprüfung erfolgt durch ein Testprogramm (`/bin/true`). Wenn die Ausführung dieses Programms erfolgreich ist, wird angenommen, dass das Passwort richtig ist.

Passwörter speichern
Passwörter speichern

## Passwörter speichern

Um es Ihnen so einfach wie möglich zu machen, enthält KDE su eine Funktion „Passwort beibehalten“. Falls Sie sich für die Sicherheit dieser Funktion interessieren, sollten Sie diesen Absatz lesen.

Indem Sie KDE su erlauben, die Passwörter zu speichern, entsteht eine (kleine) Sicherheitslücke in Ihrem System. KDE su erlaubt offensichtlich nur Ihrer User-ID die Verwendung der Passwörter. Wenn Sie allerdings nicht aufpassen, kann hierdurch die Sicherheitsstufe des Systemverwalters (`root`) auf die eines normalen Benutzers (Ihre Benutzer-ID) herabgesetzt werden. Ein Hacker, der versucht, in Ihren Zugang einzubrechen, würde dann Zugang zu den Funktionen von `root` erhalten. KDE su versucht dies zu verhindern. Das Sicherheitskonzept, das benutzt wird, ist angemessen sicher, zumindest nach bestem Wissen des Autors. Das Konzept wird hier weiter erklärt.

KDE su benutzt den Dämon kdesud. Der Dämon nimmt auf einem UNIX®-Socket in `/tmp` Befehle entgegen. Die Zugriffsrechte des Sockets sind auf 0600 eingestellt, sodass nur Ihre Benutzer-ID Verbindungen zu dem Socket aufbauen kann. Wurde „Passwort beibehalten“ aktiviert, führt KDE su Befehle durch diesen Dämon aus. KDE su schreibt dann den Befehl und das Passwort des Systemverwalters auf den Socket. Der Dämon führt daraufhin, wie oben beschrieben, mit Hilfe von su den Befehl aus. Danach werden Befehl und Passwort nicht gelöscht, sondern für eine bestimmte Zeit zwischengespeichert. Diese Zeit wird dem Kontrollmodul entnommen. Erfolgt innerhalb dieser Zeitspanne eine andere Anfrage für den Befehl, muss der Benutzer das Passwort nicht erneut eingeben. Um zu verhindern, dass Hacker, die in Ihren Zugang eingedrungen sind, Passwörter stehlen, wird der Dämon mit den Parametern „set-group-id nogroup“ eingerichtet. Dies sollte alle normalen Benutzer (Sie eingeschlossen) daran hindern, Passwörter von dem Prozess kdesud zu bekommen. Der Dämon setzt außerdem die Umgebungsvariable `DISPLAY` auf den Wert, den der Dämon hatte, als er gestartet wurde. Das Einzige, was ein Hacker demnach tun könnte, wäre Anwendungen auf Ihrer Anzeige auszuführen.

Ein Schwachpunkt in diesem Sicherheitskonzept ist die Tatsache, dass die auszuführenden Programme wahrscheinlich nicht nach Sicherheitsgesichtpunkten geschrieben wurden (z. B. setuid `root` Programme). Dies bedeutet, dass in diesen Programme Puffer-Überläufe oder andere Probleme auftreten könnten, die ein Hacker ausnutzen könnte.

Die Benutzung der Funktion zum Speichern der Passwörter ist ein Kompromiss zwischen Sicherheitsansprüchen und Komfort. Überdenken Sie dies bitte und entscheiden Sie selbst ob Sie diese Funktion benutzen wollen oder nicht.

Kapitel 4. Autor
Autor

# Kapitel 4. Autor

KDE su

Copyright 2000 Geert Jansen

KDE su wurde von Geert Jansen geschrieben. Es basiert irgendwie auf Pietro Iglios KDE su, Version 0.3. Pietro und Geert Jansen sind übereingekommen, dass Geert Jansen das Programm in Zukunft pflegen wird.

Der Autor ist unter folgender Adresse zu erreichen: `(g.t.jansen AT stud.tue.nl)`. Bitte schicken Sie ihm alle Fehler die Sie finden, sodass er Sie entfernen kann. Wenn Sie Vorschläge zu diesem Programm haben, können Sie Geert Jansen gerne anschreiben.

Übersetzung Philipp Siegert`(siegert AT pp-services.de)`

Diese Dokumentation ist unter den Bedingungen der GNU Free Documentation License veröffentlicht.

Dieses Programm ist unter den Bedingungen der Artistic License veröffentlicht.