A.9 Lösungen zu Kapitel 13
Sichere Passwörter
Sie wollen Ihren Benutzern sichere Passwörter zuweisen. Wie würden Sie eine zufällige Sequenz von acht Buchstaben und/oder Zeichen generieren? Auch wenn in diesem Kapitel nicht weiter auf dieses Problem eingegangen wurde, ist dies doch eine Fragestellung, die sich aus der Darstellung entwickeln lässt.
Antwort:
Um zufällige Passwörter zu erstellen, benötigen Sie grundsätzlich eine Zufallsquelle. Die meisten Zufallsquellen, wie beispielsweise das Device /dev/random, liefern dabei Zufallsbytes, welche nicht zwangsläufig zulässigen Zeichen wie Buchstaben oder Zahlen entsprechen.
Eine elegante Lösung dieses Problems bietet das Kommando openssl: Hier können Sie in einem Schritt eine zufällige Byte-Sequenz erzeugen und diese gleichzeitig in Base64 codieren lassen. Base64 stammt eigentlich aus alten E-Mail-Tagen, als binäre Anhänge nicht problemlos per Mail verschickt werden konnten. Durch eine entsprechende Codierung kann man sich in der Darstellung der Bytes jedoch auf druckbare Zeichen beschränken, was wir auch für unseren Passwortgenerator nutzen wollen: openssl rand -base64 6
Hierbei fällt auf, dass 6 Bytes hier durch acht Zeichen dargestellt werden – effizient ist Base64 also nicht. [Fn. Aufgrund dieser Codierung werden auch Mail-Anhänge beim Versenden größer, als es die eigentlichen Dateien sind.] Aber darum geht es uns ja nicht, schließlich haben wir ein mehr oder weniger zufälliges Passwort mit acht Zeichen. Die User werden sich freuen.
Listing A.11 Alternative Lösung mit Random-Device
$ dd if=/dev/urandom count=1 2> /dev/null | uuencode \
-m – | head -n 2 | tail -n 1 | cut -c –8
ni3ktP15
Passwort vergessen!
Da Sie in der Regel ganz vorbildlich als normaler Benutzer arbeiten, haben Sie doch tatsächlich das root-Passwort Ihres Rechners vergessen! Wie gehen Sie nun vor?
Antwort:
Sie könnten zum Beispiel unsere Buch-DVD zur Hand nehmen, Ihren Server mit Knoppix starten, die Festplatte mounten und anschließend die Datei /etc/passwd ändern. Dabei reicht es aus, das »x« zu löschen, das im zweiten Feld auf einen Eintrag in der Datei /etc/shadow verweist.
Listing A.12 /etc/passwd: Das zu löschende x ist markiert.
root:x:0:0:root:/root:/bin/bash
Nach dem nächsten Booten können Sie sich als root ohne Passwort einloggen und durch einen Aufruf von passwd wieder ein neues Passwort setzen. Natürlich können Sie ein vergessenes root-Passwort auch anders neu setzen, jedoch sollten Sie dazu lokalen Zugriff auf den Rechner haben – alles andere wäre ein Bug. ;-)
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.