6.53. Shadow-4.0.4.1

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

Geschätzte Kompilierzeit: 0.4 SBU

Ungefähr benötigter Festplattenplatz: 11 MB

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

6.53.1. Installation von Shadow

Bereiten Sie Shadow 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

Shadow deklariert die Funktion malloc() falsch, was zu Kompilierproblemen führt. Beheben Sie das Problem:

sed -i '/extern char/d' libmisc/xmalloc.c

Kompilieren Sie das Paket:

make

Installieren Sie das Paket:

make install

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

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

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

cp etc/login.defs.linux /etc/login.defs
sed -i -e 's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
    -e 's@/var/spool/mail@/var/mail@' /etc/login.defs

Verschieben Sie ein paar Links/Programme an ihre korrekte Stelle:

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

Und verschieben Sie Shadow's dynamische Bibliotheken an eine passendere 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 die von Shadow installierte Version wieder löschen:

rm /bin/groups

6.53.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 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 von woanders 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.

6.53.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.53.4. Inhalt von Shadow

Installierte Programme: chage, chfn, chpasswd, chsh, 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

Installierte Bibliotheken: libshadow[.a,so]

Kurze Beschreibungen

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

expiry

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

faillog

Wird zum Untersuchen der Logdatei nach fehlgeschlagenen Logins, zum Setzen einer maximalen Fehlerzahl vor der Sperrung eines Kontos oder 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 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 Dämon, der Beschränkungen auf die Login-Zeit und -Ports durchsetzt

mkpasswd

Erzeugt zufällige Passwörter

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

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

libshadow

Enthält Funktionen, die von den meisten der Programme in diesem Paket verwendet werden