BESCHREIBUNG¶
Die Datei /etc/login.defs legt die systemspezifische Konfiguration
der Werkzeugsammlung für Shadow-Passwörter fest. Diese Datei
muss vorhanden sein. Wenn sie fehlt, wird das System zwar laufen, es
können aber unerwünschte Ergebnisse auftauchen.
Diese Datei ist eine lesbare Textdatei. Jede Zeile der Datei
beschreibt einen Konfigurationsparameter. Eine Zeile besteht aus einem
Konfigurationsnamen und einem Wert, die durch ein Leerzeichen getrennt sind.
Leer- und Kommentarzeilen werden nicht beachtet. Kommentare werden mit dem
Rautezeichen »#« eingeleitet. Die Raute muss das erste nicht
leere Zeichen der Zeile sein.
Die Parameterwerte können aus vier Typen bestehen:
Zeichenketten, Boolesch, Zahlen und lange Zahlen. Eine Zeichenkette kann aus
jedem druckbaren Zeichen bestehen. Ein Boolesch sollte »yes«
oder »no« sein. Einem anderen oder undefinierten Parameter
für Boolesch wird der Wert »no« zugewiesen. Normale und
lange Zahlen können aus Dezimalzahlen, Oktalzahlen (beginnen mit
»0«) oder Hexadezimalzahlen (beginnen mit »0x«)
bestehen. Die maximale Größe der Parameter normaler und langer
Zahlen ist systemabhängig.
Please note that the parameters in this configuration file control
the behavior of the tools from the shadow-utils component. None of these
tools uses the PAM mechanism, and the utilities that use PAM (such as the
passwd command) should be configured elsewhere. The only values that affect
PAM modules are FAIL_DELAY for pam_faildelay module, and UMASK
for pam_umask module. Refer to pam(8) for more information.
Die folgenden Konfigurationsmöglichkeiten sind
vorhanden:
CHFN_AUTH (boolesch)
Falls yes, benötigt das Programm
chfn eine Authentifizierung, bevor es Änderungen vornimmt,
sofern es nicht von Root ausgeführt wird.
CHFN_RESTRICT (Zeichenkette)
Der Parameter bestimmt, welcher Wert in dem
gecos-Feld von /etc/passwd von gewöhnlichen Benutzern mittels
des Programms chfn geändert werden darf. Er kann aus jeder
Kombination der Buchstaben f ,r, w und h bestehen.
Diese Buchstaben stehen für den vollständigen Namen, die
Zimmernummer, die geschäftliche Telefonnummer und die private
Telefonnummer. Zum Zweck der Abwärtskompatibilität entspricht
yes rwh und no frwh. Falls nichts festgelegt wird,
kann nur Root Änderungen vornehmen. Die größte
Einschränkung erreicht man besser, indem chfn nicht mit SUID-Rechten
ausgestattet wird.
CHSH_AUTH (boolesch)
Falls yes, benötigt das Programm
chsh eine Authentifizierung, bevor es Änderungen vornimmt,
sofern es nicht von Root ausgeführt wird.
CONSOLE (Zeichenkette)
Die Konfiguration erfolgt entweder über die Angabe
des vollen Pfadnamens einer Datei, welche die Namen der Geräte
enthält (eines pro Zeile), oder mit einer Liste der Gerätenamen,
die mit »:« getrennt sind. Root kann sich nur auf diesen
Geräten anmelden.
Wenn es unkonfiguriert gelassen wird, kann sich Root auf jedem
Gerät anmelden.
Das Gerät soll ohne vorangestelltes /dev/ angegeben
werden.
CONSOLE_GROUPS (Zeichenkette)
Liste von Gruppen, deren Mitglied der Benutzer wird, wenn
der sich auf der Konsole anmeldet, die mit dem Parameter CONSOLE festgelegt
wird. Standardmäßig ist die Liste leer.
Seien Sie vorsichtig. Benutzer können dauerhaft Zugang zu
den Gruppen erlangen, auch wenn sie nicht auf der Konsole angemeldet
sind.
CREATE_HOME (boolesch)
bestimmt, ob standardmäßig ein
Home-Verzeichnis für neue Benutzer erstellt werden soll
Diese Einstellung trifft nicht auf Systembenutzer zu. Sie kann auf
der Befehlszeile überschrieben werden.
DEFAULT_HOME (boolesch)
Legt fest, ob ein Login erlaubt wird, wenn mit cd nicht
in das Home-Verzeichnis gewechselt werden kann. Standardmäßig
wird dies nicht zugelassen.
Falls auf yes gesetzt, wird der Benutzer mit dem
Wurzelverzeichnis (/) angemeldet, wenn mit cd nicht in sein Home-Verzeichnis
gewechselt werden kann.
ENCRYPT_METHOD (Zeichenkette)
Damit wird der standardmäßige
Verschlüsselungsalgorithmus, mit dem Passwörter
verschlüsselt werden, bestimmt (soweit nicht in der Befehlszeile ein
Algorithmus angegeben wird).
Ihm kann einer der folgenden Wert zugewiesen werden: DES
(default), MD5, SHA256, SHA512.
Hinweis: Dieser Parameter überschreibt die Variable
MD5_CRYPT_ENAB.
ENV_HZ (Zeichenkette)
Wenn vergeben, wird damit die Umgebungsvariable HZ
definiert, wenn sich ein Benutzer anmeldet. Dem Wert muss ein HZ=
vorangestellt werden. Ein üblicher Wert bei Linux ist
HZ=100.
ENV_PATH (Zeichenkette)
Wenn gesetzt, wird damit die Umgebungsvariable PATH
definiert, wenn sich ein normaler Benutzer anmeldet. Der Wert ist eine Liste,
deren Einträge durch Doppelpunkte getrennt sind (zum Beispiel
/bin:/usr/bin). Ihr kann ein PATH= vorangestellt werden. Der
Standardwert ist PATH=/bin:/usr/bin.
ENV_SUPATH (Zeichenkette)
Wenn gesetzt, wird damit die Umgebungsvariable PATH
definiert, wenn sich der Superuser anmeldet. Der Wert ist eine Liste, deren
Einträge durch Doppelpunkte getrennt sind (zum Beispiel
/sbin:/bin:/usr/sbin:/usr/bin). Ihr kann ein PATH= vorangestellt
werden. Der Standardwert ist PATH=/sbin:/bin:/usr/sbin:/usr/bin.
ENV_TZ (Zeichenkette)
Wenn gesetzt, wird damit die Umgebungsvariable TZ
definiert, wenn sich ein Benutzer anmeldet. Der Wert kann der Name der
Zeitzone sein, dem
TZ= vorausgeht (zum Beispiel
TZ=CST6CDT),
oder der vollständige Pfad der Datei, welche die Konfiguration der
Zeitzone enthält (zum Beispiel /etc/tzname).
Wenn ein vollständiger Pfadname angegeben wird, die Datei
aber nicht existiert oder nicht lesbar ist, wird TZ=CST6CDT
verwendet.
ENVIRON_FILE (Zeichenkette)
Wenn diese Datei vorhanden ist, wird die Anmeldeumgebung
aus ihr gelesen. Jede Zeile sollte die Form Name=Wert haben.
Zeilen, die mit einem # beginnen, werden als Kommentare behandelt
und daher ignoriert.
ERASECHAR (Zahl)
Das Löschzeichen des Terminals (
010 =
Rücktaste,
0177 = Entf).
Wenn der Wert mit »0« beginnt, wird er als Oktalzahl
gewertet, wenn er mit »0x« beginnt, als Hexadezimalzahl.
FAIL_DELAY (Zahl)
Wartezeit in Sekunden, ehe nach einem fehlgeschlagenen
Anmeldeversuch ein neuer unternommen werden kann
FAILLOG_ENAB (boolesch)
aktiviert die Protokollierung und Anzeige der
Informationen zu fehlgeschlagenen Anmeldeversuchen in /var/log/faillog
FAKE_SHELL (Zeichenkette)
Falls angegeben, führt login diese Shell
anstelle der in /etc/passwd angegebenen Shell des Benutzers aus.
FTMP_FILE (Zeichenkette)
Falls angegeben, werden fehlgeschlagene Anmeldeversuche
in dieser Datei im Format utmp protokolliert.
GID_MAX (Zahl), GID_MIN (Zahl)
der Bereich von Gruppen-IDs, aus dem die Programme
useradd,
groupadd oder
newusers bei der Erstellung
normaler Gruppen auswählen dürfen
The default value for GID_MIN (resp. GID_MAX) is 500
(resp. 60000).
HUSHLOGIN_FILE (Zeichenkette)
Falls angegeben, kann diese Datei die übliche
Informationsanzeige während des Anmeldevorgangs unterbinden. Wenn ein
vollständiger Pfad angegeben wird, wird der Modus ohne
Anmeldeinformationen verwendet, wenn der Name oder die Shell des Benutzers in
der Datei enthalten sind. Wenn kein vollständiger Pfad angegeben wird,
wird der Modus ohne Anmeldeinformationen aktiviert, wenn die Datei im
Home-Verzeichnis des Benutzers existiert.
ISSUE_FILE (Zeichenkette)
Falls angegeben, wird diese Datei vor der
Anmeldeaufforderung angezeigt.
KILLCHAR (Zahl)
Das KILL-Zeichen des Terminals (
025 = CTRL/U).
Wenn der Wert mit »0« beginnt, wird er als Oktalzahl
gewertet, wenn er mit »0x« beginnt, als Hexadezimalzahl.
LASTLOG_ENAB (boolesch)
aktiviert die Protokollierung und Anzeige der
Informationen zu Anmeldezeiten in /var/log/lastlog
LOG_OK_LOGINS (boolesch)
aktiviert die Protokollierung erfolgreicher
Anmeldungen
LOG_UNKFAIL_ENAB (boolesch)
aktiviert die Anzeige unbekannter Benutzernamen, wenn
fehlgeschlagene Anmeldeversuche aufgezeichnet werden
Hinweis: Das Protokollieren unbekannter Benutzernamen kann ein
Sicherheitsproblem darstellen, wenn ein Benutzer sein Passwort anstelle
seines Anmeldenamens eingibt.
LOGIN_RETRIES (Zahl)
maximale Anzahl von Anmeldeversuchen, wenn ein falsches
Passwort eingegeben wird
LOGIN_STRING (Zeichenkette)
Diese Zeichenkette wird bei der Eingabeaufforderung des
Passworts (Prompt) verwendet. Standardmäßig wird
»Password: « oder eine Übersetzung davon benutzt. Wenn
Sie diese Variable definieren, wird die Eingabeaufforderung nicht
übersetzt.
Wenn die Zeichenkette ein %s enthält, wird dies
durch den Benutzernamen ersetzt.
LOGIN_TIMEOUT (Zahl)
Höchstdauer für einen Anmeldeversuch
MAIL_CHECK_ENAB (boolesch)
aktiviert die Prüfung und Anzeige des Status der
Mailbox bei der Anmeldung
Sie sollten dies abschalten, wenn schon die Startdateien der Shell
die Mails prüfen (»mailx -e« oder
ähnliches).
MAIL_DIR (Zeichenkette)
Das Verzeichnis des Mail-Spools. Diese Angabe wird
benötigt, um die Mailbox zu bearbeiten, nachdem das entsprechende
Benutzerkonto verändert oder gelöscht wurde. Falls nicht
angegeben, wird ein Standard verwendet, der beim Kompilieren festgelegt
wurde.
MAIL_FILE (Zeichenkette)
Legt den Ort der Mail-Spool-Dateien eines Benutzers
relativ zu seinem Home-Verzeichnis fest.
Die Variablen MAIL_DIR und MAIL_FILE werden von
useradd, usermod und userdel verwendet, um den
Mail-Spool eines Benutzers zu erstellen, zu verschieben oder zu
löschen.
Falls MAIL_CHECK_ENAB auf yes gesetzt ist, werden
sie auch verwendet, um die Umgebungsvariable MAIL festzulegen.
MAX_MEMBERS_PER_GROUP (Zahl)
Maximale Anzahl von Mitgliedern je Gruppeneintrag. Wenn
das Maximum erreicht wird, wird ein weiterer Eintrag in /etc/group (mit dem
gleichen Namen, dem gleichen Passwort und der gleichen GID) erstellt.
Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der
Mitglieder einer Gruppe nicht begrenzt ist.
Diese Fähigkeit (der aufgeteilten Gruppe) ermöglicht
es, die Zeilenlänge in der Gruppendatei zu begrenzen. Damit kann
sichergestellt werden, dass die Zeilen für NIS-Gruppen nicht
länger als 1024 Zeichen sind.
Falls Sie eine solche Begrenzung benötigen, können
Sie 25 verwenden.
Hinweis: Aufgeteilte Gruppen werden möglicherweise nicht
von allen Werkzeugen unterstützt, selbst nicht aus der
Shadow-Werkzeugsammlung. Sie sollten diese Variable nur setzen, falls Sie
zwingend darauf angewiesen sind.
MD5_CRYPT_ENAB (boolesch)
Legt fest, ob Passwörter mit dem auf MD5
beruhenden Algorithmus verschlüsselt werden. Falls diesem Wert
yes zugewiesen ist, werden neue Passwörter mit dem auf MD5
beruhenden Algorithmus verschlüsselt, der zu dem in der aktuellen
Veröffentlichung von FreeBSD eingesetzten Algorithmus kompatibel ist.
Passwörter können dann beliebig lang sein, auch die
Salt-Zeichenketten sind länger. Setzen Sie diesen Wert auf
no,
wenn Sie verschlüsselte Passwörter auf ein anderes System
kopieren möchten, das den neuen Algorithmus nicht versteht. Der
Standardwert ist
no.
Dieser Variable geht die Variable ENCRYPT_METHOD und eine
Option auf der Befehlszeile, mit der der Verschlüsselungsalgorithmus
bestimmt wird, vor.
Der Einsatz dieser Variable ist veraltet. Sie sollten
ENCRYPT_METHOD verwenden.
MOTD_FILE (Zeichenkette)
Falls angegeben, eine Aufzählung von Dateien,
welche die bei der Anmeldung anzuzeigenden »Nachrichten des
Tages« enthält. Die Dateien werden mit einem »:«
getrennt.
NOLOGINS_FILE (Zeichenkette)
Falls angegeben, der Name einer Datei, dessen Existenz
Anmeldungen außer von Root verhindert. Der Inhalt der Datei sollte die
Gründe enthalten, weshalb Anmeldungen untersagt sind.
OBSCURE_CHECKS_ENAB (boolesch)
Aktiviert zusätzliche Tests bei der
Veränderung eines Passworts.
PASS_ALWAYS_WARN (boolesch)
weist auf schwache Passwörter hin (aber
lässt sie zu), falls Sie root sind
PASS_CHANGE_TRIES (Zahl)
maximale Anzahl von Versuchen, ein Passwort zu
ändern, wenn dies wegen zu geringer Stärke des gewählten
Passworts abgelehnt wurde
PASS_MAX_DAYS (Zahl)
Die maximale Anzahl von Tagen, für die ein
Passwort verwendet werden darf. Wenn das Passwort älter ist, wird ein
Wechsel des Passworts erzwungen. Falls nicht angegeben, wird -1 angenommen
(was zur Folge hat, dass diese Beschränkung abgeschaltet ist).
PASS_MIN_DAYS (Zahl)
Die Mindestanzahl von Tagen, bevor ein Wechsel des
Passworts zugelassen wird. Ein vorheriger Versuch, das Passwort zu
ändern, wird abgelehnt. Falls nicht angegeben, wird -1 angenommen (was
zur Folge hat, dass diese Beschränkung abgeschaltet ist).
PASS_WARN_AGE (Zahl)
Die Anzahl von Tagen, an denen der Benutzer vorgewarnt
wird, bevor das Passwort verfällt. Eine Null bedeutet, dass eine
Warnung nur am Tag des Verfalls ausgegeben wird. Ein negativer Wert bedeutet,
dass keine Vorwarnung erfolgt. Falls nicht angegeben, wird keine Vorwarnung
ausgegeben.
PASS_MAX_DAYS, PASS_MIN_DAYS und
PASS_WARN_AGE werden nur bei der Erstellung eines Kontos verwendet.
Spätere Änderungen dieser Werte berühren bestehende
Konten nicht.
PASS_MAX_LEN (Zahl), PASS_MIN_LEN (Zahl)
Anzahl der von crypt() berücksichtigten Zeichen
des Passworts. Standardmäßig ist PASS_MAX_LEN 8. Diese
Option wird ignoriert, wenn MD5_CRYPT_ENAB auf yes gesetzt
ist.
PORTTIME_CHECKS_ENAB (boolesch)
aktiviert die Auswertung der in /etc/porttime angegebenen
Zeitbegrenzungen
QUOTAS_ENAB (boolesch)
aktiviert das Setzen von Resourcenbeschränkungen
aus /etc/limits und von ulimit, umask und niceness aus dem gecos-Feld des
Benutzers von passwd
SHA_CRYPT_MIN_ROUNDS (Zahl), SHA_CRYPT_MAX_ROUNDS
(Zahl)
Wenn
ENCRYPT_METHOD auf
SHA256 oder
SHA512 gesetzt ist, legt dies die Anzahl der Runden von SHA fest, die
standardmäßig vom Verschlüsselungsalgorithmus verwendet
werden (falls die Anzahl der Runden nicht auf der Befehlszeile angegeben
wird).
Je mehr Runden Sie definieren, umso schwieriger ist es, das
Passwort mit sturem Durchprobieren (brute force) zu knacken; umso mehr
Rechenleistung wird jedoch auch für die Anmeldung eines Benutzers
benötigt.
Falls Sie nichts angeben, wird libc die Standardanzahl der Runden
festlegen (5000).
Die Werte müssen zwischen 1000-999.999.999 liegen.
Falls nur der Wert für SHA_CRYPT_MIN_ROUNDS oder
SHA_CRYPT_MAX_ROUNDS festgelegt wird, wird dieser Wert verwendet.
Falls SHA_CRYPT_MIN_ROUNDS >
SHA_CRYPT_MAX_ROUNDS, wird der höhere Wert verwendet.
SULOG_FILE (Zeichenkette)
Wenn angegeben, wird jeder Aufruf von su in dieser Datei
protokolliert.
SU_NAME (Zeichenkette)
Damit kann die Anzeige des Namens des Befehls festgelegt
werden, wenn »su -« ausgeführt wird. Wenn beispielsweise
dies auf »su« gesetzt wurde, zeigt »ps« den Befehl
als »-su« an. Wenn es dagegen nicht vergeben wurde, wird
»ps« den Namen der Shell anzeigen, die ausgeführt wird,
also etwa »-sh«.
SU_WHEEL_ONLY (boolesch)
Falls yes, muss der Benutzer Mitglied der ersten
Gruppe mit der GID 0 in /etc/group sein (auf den meisten Linux-Systemen
heißt die root), um mit su zu einem Konto mit der UID 0
wechseln zu können. Falls die Gruppe nicht existiert oder keine
Mitglieder hat, kann niemand mittels su zur UID 0 wechseln.
SYS_GID_MAX (Zahl), SYS_GID_MIN (Zahl)
der Bereich von Gruppen-IDs, aus dem die Programme
useradd,
groupadd oder
newusers bei der Erstellung von
Systemgruppen auswählen dürfen
The default value for SYS_GID_MIN (resp.
SYS_GID_MAX) is 201 (resp. GID_MIN-1).
SYS_UID_MAX (Zahl), SYS_UID_MIN (Zahl)
der Bereich von Benutzer-IDs, aus dem die Programme
useradd oder
newusers bei der Erstellung von Systembenutzern
auswählen dürfen
The default value for SYS_UID_MIN (resp.
SYS_UID_MAX) is 201 (resp. UID_MIN-1).
SYSLOG_SG_ENAB (boolesch)
aktiviert das Protokollieren der Aktivitäten von
sg in »syslog«
SYSLOG_SU_ENAB (boolesch)
aktiviert das Protokollieren der Aktivitäten von
su in »syslog« neben der Protokollierung in der
sulog-Datei
TTYGROUP (Zeichenkette), TTYPERM (Zeichenkette)
Die Rechte des Terminals: Das Anmelde-tty gehört
der Gruppe
TTYGROUP an, die Rechte werden auf
TTYPERM gesetzt.
Standardmäßig ist der Eigentümer des
Terminals die Hauptgruppe des Benutzers, die Rechte werden auf 0600
gesetzt.
TTYGROUP kann der Gruppenname oder die als Zahl
ausgedrückte Gruppen-ID sein.
Wenn Sie ein write-Programm haben, das
»setgid« für eine Gruppe besitzt, der das Terminal
gehört, sollten Sie TTYGROUP die Gruppennummer und TTYPERM den Wert
0620 zuweisen. Oder Sie sollten TTYGROUP als Kommentar belassen und TTYPERM
den Wert 622 oder 600 zuweisen.
TTYTYPE_FILE (Zeichenkette)
Falls angegeben, eine Datei, welche einer tty-Zeile den
Umgebungsparameter TERM zuweist. Jede Zeile hat das Format wie etwa
»vt100 tty01«.
UID_MAX (Zahl), UID_MIN (Zahl)
der Bereich von Benutzer-IDs, aus dem die Programme
useradd oder
newusers bei der Erstellung normaler Benutzer
auswählen dürfen
The default value for UID_MIN (resp. UID_MAX) is 500
(resp. 60000).
ULIMIT (Zahl)
der Standardwert von ulimit
UMASK (Zahl)
Die Bit-Gruppe, welche die Rechte von erstellten Dateien
bestimmt, wird anfänglich auf diesen Wert gesetzt. Falls nicht
angegeben, wird sie auf 022 gesetzt.
useradd und newusers verwenden diese Bit-Gruppe, um
die Rechte des von ihnen erstellten Home-Verzeichnisses zu setzen.
Sie wird auch von login verwendet, um die
anfängliche Umask eines Benutzers zu bestimmen. Beachten Sie, dass
diese Bit-Gruppe durch die GECOS-Zeile des Benutzers (wenn
QUOTAS_ENAB gesetzt wurde) oder die Festlegung eines Limits in
limits(5) mit der Kennung K überschrieben werden
kann.
USERDEL_CMD (Zeichenkette)
Falls angegeben, wird dieser Befehl ausgeführt,
wenn ein Benutzer entfernt wird. Damit können At-, Cron- und
Druckaufträge etc. des entfernten Benutzers (wird als erstes Argument
übergeben) gelöscht werden.
Der Rückgabewert des Skripts wird nicht ausgewertet.
Dies ist ein Beispielsskript, das die cron-, at- und
Druckaufträge des Benutzers entfernt:
#! /bin/sh
# Prüfen, ob das benötigte Argument angegeben wurde
if [ $# != 1 ]; then
echo "Verwendungsweise: $0 Benutzername"
exit 1
fi
# cron-Aufträge entfernen
crontab -r -u $1
# at-Aufträge entfernen.
# Hinweis: Dies wird alle Aufträge entfernen, die der gleichen UID
# gehören, selbst wenn sie von einem Benutzer mit einem anderen Namen
# eingerichtet wurden.
AT_SPOOL_DIR=/var/spool/cron/atjobs
find $AT_SPOOL_DIR -name "[^.]*" -type f -user $1 -delete \;
# Druck-Aufträge entfernen
lprm $1
# Fertig
exit 0
USERGROUPS_ENAB (boolesch)
Erlaubt Benutzern, die nicht Root sind, die
Umask-Gruppen-Bits auf ihre Umask-Bits zu setzen (Beispiel: 022 -> 002, 077
-> 007), falls die UID mit der GID identisch ist sowie der Benutzername mit
dem Gruppennamen übereinstimmt.
Wenn der Wert yes ist, wird userdel die Gruppe des
Benutzers entfernen, falls sie keine Mitglieder mehr hat, und useradd
wird standardmäßig eine Gruppe mit dem Namen des Benutzers
erstellen.