6.51. Shadow-4.1.2.1

Das Paket Shadow enthält Programme zur sicheren Verwaltung von Kennwörtern.

Geschätzte Kompilierzeit: 0.3 SBU
Etwa Benötigter Speicherplatz: 28 MB

6.51.1. Installation von Shadow

[Anmerkung]

Anmerkung

Wenn Sie sichere Passwörter erzwingen möchten, sollten Sie vor der Installation von Shadow unter http://www.linuxfromscratch.org/blfs/view/svn/postlfs/cracklib.html nachlesen und CrackLib installieren. Fügen Sie dann den Parameter --with-libcrack zu dem unten folgenden configure-Kommando hinzu.

Verhindern Sie die Installation des Programmes groups und der zugehörigen Hilfeseite, da Coreutils eine bessere Version enthält:

sed -i 's/groups$(EXEEXT) //' src/Makefile.in
find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;

Verhindern Sie die Installation der chinesischen und koreanischen Hilfeseiten, weil Man-DB sie nicht korrekt anzeigen kann:

sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile.in

Shadow enthält weitere Hilfeseiten im UTF-8-Format. Man-DB kann diese in der empfohlenen Kodierung anzeigen, wenn Sie das Skript convert-mans verwenden, welches Sie zusammen mit Man-DB installiert haben:

for i in de es fi fr id it pt_BR; do
    convert-mans UTF-8 ISO-8859-1 man/${i}/*.?
done

for i in cs hu pl; do
    convert-mans UTF-8 ISO-8859-2 man/${i}/*.?
done

convert-mans UTF-8 EUC-JP man/ja/*.?
convert-mans UTF-8 KOI8-R man/ru/*.?
convert-mans UTF-8 ISO-8859-9 man/tr/*.?

Sie sollten die voreingestellte Methode zur Passwortverschlüsselung von crypt auf die sicherere MD5-Methode ändern. Außerdem ermöglicht sie Passwörter mit mehr als 8 Zeichen. Des Weiteren müssen Sie den nunmehr veralteten Speicherort der Benutzermailboxen von /var/spool/mail nach /var/mail ändern:

sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD MD5@' \
       -e 's@/var/spool/mail@/var/mail@' etc/login.defs
[Anmerkung]

Anmerkung

Falls Sie Shadow mit Unterstützung für CrackLib installieren, dann geben Sie das folgende sed-Kommando ein:

sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' \
    etc/login.defs

Bereiten Sie Shadow zum Kompilieren vor:

./configure --sysconfdir=/etc

Kompilieren Sie das Paket:

make

Dieses Paket enthält keine Testsuite.

Installieren Sie das Paket:

make install

Verschieben Sie ein Programm an die korrekte Stelle:

mv -v /usr/bin/passwd /bin

6.51.2. Einrichten von Shadow

Dieses Paket enthält Werkzeuge zum Bearbeiten, Hinzufügen und Löschen von Benutzerpasswörtern. Wir werden hier nicht erläutern, was genau password shadowing bedeutet. Eine vollständige Erklärung finden Sie in der Datei doc/HOWTO in der entpackten Shadow-Ordnerstruktur. Eines gilt es allerdings zu beachten: Programme, die Passwörter überprüfen müssen (z. B. xdm, ftp und pop3-Server), müssen shadow-konform sein. Das heißt, sie müssen mit Shadow-Passwörtern umgehen können.

Um Shadow-Passwörter zu aktivieren, benutzen Sie dieses Kommando:

pwconv

Und um Shadow-Gruppenpasswörter zu aktivieren, benutzen Sie dieses Kommando:

grpconv

Die Voreinstellungen von Shadow für das Werkzeug useradd bedürfen einigen Erklärungen. Wenn Sie mit useradd einen neuen Benutzer anlegen, wird per Voreinstellung der Benutzer sowie eine Gruppe gleichen Namens erstellt. Die Benutzer-Kennungen (UID) sowie die Gruppen-Kennungen (GID) beginnen bei 1000. Das bedeutet: Wenn Sie keine Parameter an useradd übergeben, wird jeder angelegte Benutzer Mitglied einer einmaligen Gruppe gleichen Namens auf dem System. Falls diese Vorgehensweise unerwünscht ist, müssen Sie den Parameter -g an useradd übergeben. Die Standard-Parameter werden in der Datei /etc/default/useradd gespeichert. Wahrscheinlich müssen Sie zwei Parameter an Ihre Bedürfnisse anpassen.

/etc/default/useradd Parameter-Erklärungen

GROUP=1000

Mit diesem Parameter legen Sie fest, mit welcher Nummer Gruppen-Kennungen in /etc/group beginnen sollen. Sie können diesen Paramter ganz nach belieben anpassen. Beachten Sie, dass useradd eine UID oder GID niemals zweimal verwenden wird. Wenn eine Nummer bereits vergeben ist, wird die nächsthöhere freie verwendet. Beachten Sie des Weiteren: Wenn keine Gruppe 1000 im System existiert, wird bei der ersten Ausführung von useradd ohne den Parameter -g eine Meldung useradd: unknown GID 1000 erscheinen. Diese Meldung können Sie getrost ignorieren und die Gruppe mit der Kennung 1000 wird verwendet.

CREATE_MAIL_SPOOL=yes

Durch diesen Parameter wird useradd eine Mailbox-Datei für jeden neu angelegten Benutzer erzeugen. useradd stellt den Gruppenbesitzer für die Mailbox-Datei auf mail mit den Rechten 0660 ein. Wenn Sie nicht wünschen, dass useradd Mailbox-Dateien erstellt, geben Sie das folgende Kommando ein:

sed -i 's/yes/no/' /etc/default/useradd

6.51.3. Vergeben des Passworts für root

Wählen Sie ein Kennwort für den Benutzer root und setzen Sie es mit dem Kommando:

passwd root

6.51.4. Inhalt von Shadow

Installierte Programme: chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, gpasswd, groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv, lastlog, login, logoutd, newgrp, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg (Link auf newgrp), su, useradd, userdel, usermod, vigr (Link auf vipw) und vipw

Kurze Beschreibungen

chage

Ändert die maximale Anzahl von Tagen zwischen zwei nötigen Passwortänderungen.

chfn

Wird zum Ändern des vollständigen Namens und weiterer Informationen eines Benutzers benutzt.

chgpasswd

Wird benutzt, um das Passwort mehrerer Gruppen in einem Durchlauf zu ändern.

chpasswd

Wird benutzt, um das Passwort mehrerer Benutzer in einem Durchlauf zu ändern.

chsh

Wird benutzt, um die voreingestellte Shell eines Benutzers zu ändern.

expiry

Prüft, ob ein Kennwort abgelaufen ist und setzt eine entsprechende Regelung durch.

faillog

Wird verwendet zum Untersuchen der Logdatei nach fehlgeschlagenen Logins, zum Setzen einer maximalen Fehlerzahl vor der Sperrung eines Kontos, oder zum Zurücksetzen des Zählers.

gpasswd

Wird zum Hinzufügen und Löschen von Mitgliedern in Gruppen verwendet.

groupadd

Erzeugt eine Gruppe mit dem angegebenen Namen.

groupdel

Löscht eine Gruppe mit dem angegebenen Namen.

groupmems

Ermöglicht es einem Benutzer ohne Systemverwalterrechte, seine eigene Gruppenmitgliedschaft zu verwalten.

groupmod

Ändert den Namen oder die GID einer Gruppe.

grpck

Prüft die Integrität der Gruppen-Dateien /etc/group und /etc/gshadow.

grpconv

Erzeugt oder aktualisiert die group-Datei von Shadow aus der normalen group-Datei.

grpunconv

Aktualisiert /etc/group aus /etc/gshadow und löscht die letztere dann.

lastlog

Berichtet über die letzten Anmeldungen aller oder eines bestimmten Benutzers.

login

Wird vom System benutzt, um einen Benutzer anzumelden.

logoutd

Ein Daemon, der Beschränkungen auf die Login-Zeit und -Ports durchsetzt.

newgrp

Wird zum Ändern der aktuellen GID in einer Login-Sitzung benutzt.

newusers

Wird zum Erzeugen oder Aktualisieren einer Serie von Benutzerkonten in einem Durchlauf verwendet.

nologin

Zeigt einen Hinweis an, dass ein Benutzerkonto nicht verfügbar ist. Dies ist als Standard-Shell für deaktivierte Benutzerkonten gedacht.

passwd

Ändert das Passwort für einen Benutzer oder eine Gruppe.

pwck

Prüft die Integrität der Passwort-Dateien /etc/passwd und /etc/shadow.

pwconv

Erzeugt oder aktualisiert die Shadow-Passwort-Datei aus der normalen Passwort-Datei.

pwunconv

Aktualisiert /etc/passwd aus /etc/shadow und löscht letztere danach.

sg

Führt ein Kommando mit der angegebenen GID aus.

su

Führt eine Shell mit geänderter Benutzer- und Gruppen-ID aus.

useradd

Erzeugt einen neuen Benutzer mit dem angegebenen Namen oder aktualisiert die Vorgaben für neue Benutzer.

userdel

Löscht das angegebene Benutzerkonto.

usermod

Ändert Loginname, UID, Shell, Gruppe, Persönlichen Ordner und ähnliches für einen Benutzer.

vigr

Kann zum Bearbeiten von /etc/group- oder /etc/gshadow-Dateien benutzt werden.

vipw

Kann zum Bearbeiten von /etc/passwd- oder /etc/shadow-Dateien benutzt werden.