Shadow-4.0.4.1

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

Approximate build time:  0.4 SBU
Required disk space:     11 MB

Shadow ist abhängig von: Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.

Installation von Shadow

Shadow baut den Pfad zu passwd in die Binärdatei selbst fest ein, aber macht das leider nicht ganz korrekt. Wenn die Datei passwd beim Installieren von Shadow nicht vorhanden ist, nimmt das Paket an, dass es nach /bin/passwd gehört, installiert es dann aber nach /usr/bin/passwd. Das führt zu dem Fehler, dass /bin/passwd nicht gefunden werden kann. Um diesen Fehler zu umgehen erstellen Sie eine dymmy passwd-Datei, damit der Pfad korrekt eingebunden wird:

touch /usr/bin/passwd

Bereiten Sie Shadow nun zum Kompilieren vor:

./configure --libdir=/usr/lib --enable-shared

Umgehen Sie ein Problem mit der Internationalisierung von Shadow:

echo '#define HAVE_SETLOCALE 1' >> config.h

Kompilieren Sie das Paket:

make

Und installieren Sie es:

make install

Shadow benutzt zwei Dateien zur Konfiguration der Authentifizierungseinstellungen. Installieren Sie diese beiden Konfigurationsdateien:

cp etc/{limits,login.access} /etc

Wir möchten die voreingestellte crypt-Methode zu MD5 ändern, welche theoretisch sicherer ist. Ausserdem erlaubt sie Passwörter mit mehr als 8 Zeichen. Ausserdem müssen wir den alten Ort für die Benutzermailboxen von /var/spool/mail zu /var/mail ändern. Das erledigen wir, indem wir die Konfigurationsdatei gleich beim Kopieren an die richtige Stelle ändern (benutzen Sie am besten "Kopieren und Einfügen" um den Befehl auszuführen):

sed -e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \
    -e 's%/var/spool/mail%/var/mail%' \
    etc/login.defs.linux > /etc/login.defs

Verschieben Sie zwei Links an ihre korrekte Stelle:

mv /bin/sg /usr/bin
mv /bin/vigr /usr/sbin

Und verschieben Sie Shadow's dynamische Bibliotheken an eine bessere Stelle:

mv /usr/lib/lib{shadow,misc}.so.0* /lib

Weil einige Pakete die gerade verschobenen Bibliotheken in /usr/lib erwarten, erstellen Sie die folgenden symbolischen Links:

ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so

Die Option -D zu useradd benötigt diesen Ordner um korrekt zu funktionieren:

mkdir /etc/default

Coreutils hat das Programm groups bereits in /usr/bin installiert. Wenn Sie möchten, können Sie das von Shadow installierte wieder löschen:

rm /bin/groups

Konfigurieren 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 das 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 heisst, sie müssen mit Shadow-Passwörtern umgehen können.

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

pwconv

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

grpconv

Unter normalen Umständen haben Sie bis hierher noch keine Passwörter erzeugt. Wenn Sie jedoch hierher zurückgeblättert haben um nachträglich Shadow zu aktivieren, dann sollten Sie alle Benutzerpasswörter mit dem Kommando passwd und die Gruppenpasswörter mit dem Kommando gpasswd zurücksetzen.

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

Inhalt von Shadow

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

Kurze Beschreibung

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

chfn wird benutzt um den vollständigen Namen und ein paar andere Informationen eines Benutzers 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.

dpasswd wird zum Ändern des Einwähl-Kennwortes eines Benutzers verwendet.

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

faillog wird zum Untersuchen der Logdatei über fehlgeschlagene Logins, eine maximale Fehlerzahl vor der Sperrung eines Kontos zu setzen und um den Zähler zurückzusetzen verwendet.

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.

groupmod ändert den Namen oder die GID einer Gruppe.

groups zeigt die Gruppenzugehörigkeit eines Benutzers an.

grpck prüft die Integrität der group-Dateien /etc/group und /etc/gshadow.

grpconv erzeugt oder aktualisiert die shadow-group-Datei 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 ist ein Dämon, der Beschränkungen auf die Login-Zeit und -Ports durchsetzt.

mkpasswd verschlüsselt ein Passwort mit einer angegebenen Störung.

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.

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.

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.

libmisc...

libshadow enthält Funktionen, die von den meisten der Programme in diesem Paket verwendet werden.