table of contents
| LOGIN.DEFS(5) | Dateiformate und -konvertieru | LOGIN.DEFS(5) |
NAME¶
login.defs - Konfiguration der Werkzeugsammlung für Shadow-PasswörterBESCHREIBUNG¶
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. Die folgenden Konfigurationsmöglichkeiten sind vorhanden: 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.
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.
Hinweis: Damit wird lediglich die Erstellung von Gruppenpasswörtern
beeinflusst. Benutzerpasswörter werden dagegen von PAM erstellt, so dass
dieser Vorgang in PAM konfiguriert werden muss. Empfehlenswert ist, diese
Variable mit der Konfiguration von PAM in Einklang zu bringen.
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.
Die Umgebungsvariable HZ wird nur gesetzt, wenn sich der Benutzer (der
Administrator) mit sulogin anmeldet.
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.
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
FAKE_SHELL (Zeichenkette)
Falls angegeben, führt login diese
Shell anstelle der in /etc/passwd angegebenen Shell des Benutzers aus.
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
Der Standardwert für GID_MIN ist 1000, für GID_MAX
60.000.
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.
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.
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
Dies wird höchstwahrscheinlich von PAM überschrieben, da
standardmäßig das Modul pam_unix drei Versuche enthält. Dennoch
stellt dies ein zusätzliches Sicherungssystem dar, falls Sie eine
Anmeldemöglichkeit einsetzen, die nicht PAM_MAXTRIES beachtet.
LOGIN_TIMEOUT (Zahl)
Höchstdauer für einen
Anmeldeversuch
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.
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.
Hinweis: Damit wird lediglich die Erstellung von Gruppenpasswörtern
beeinflusst. Benutzerpasswörter werden dagegen von PAM erstellt, so dass
dieser Vorgang in PAM konfiguriert werden muss. Empfehlenswert ist, diese
Variable mit der Konfiguration von PAM in Einklang zu bringen.
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.
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.
Hinweis: Damit wird lediglich die Erstellung von Gruppenpasswörtern
beeinflusst. Benutzerpasswörter werden dagegen von PAM erstellt, so dass
dieser Vorgang in PAM konfiguriert werden muss. Empfehlenswert ist, diese
Variable mit der Konfiguration von PAM in Einklang zu bringen.
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«.
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
Der Standardwert für SYS_GID_MIN ist 101, für
SYS_GID_MAX 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
Der Standardwert für SYS_UID_MIN ist 101, für
SYS_UID_MAX 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
Der Standardwert für UID_MIN ist 1000, für UID_MAX
60.000.
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 ebenfalls von pam_umask als die Standard-Umask verwendet.
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:
USERGROUPS_ENAB (boolesch)
#! /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
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.
QUERVERWEISE¶
Die folgenden Querverweise zeigen, welche Programme aus der Shadow-Passwort-Werkzeugsammlung welche Parameter verwenden. chfnCHFN_RESTRICT
chgpasswd
ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP
MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
chpasswd
ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP
MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
groupadd
GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP
SYS_GID_MAX SYS_GID_MIN
groupdel
MAX_MEMBERS_PER_GROUP
groupmems
MAX_MEMBERS_PER_GROUP
groupmod
MAX_MEMBERS_PER_GROUP
grpck
MAX_MEMBERS_PER_GROUP
grpconv
MAX_MEMBERS_PER_GROUP
grpunconv
MAX_MEMBERS_PER_GROUP
login
CONSOLE_GROUPS DEFAULT_HOME ERASECHAR
FAIL_DELAY FAKE_SHELL HUSHLOGIN_FILE KILLCHAR LOGIN_RETRIES LOGIN_TIMEOUT
LOG_OK_LOGINS LOG_UNKFAIL_ENAB TTYGROUP TTYPERM TTYTYPE_FILE
USERGROUPS_ENAB
newgrp / sg
SYSLOG_SG_ENAB
newusers
ENCRYPT_METHOD GID_MAX GID_MIN
MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX
SYS_UID_MIN UID_MAX UID_MIN UMASK
pwck
PASS_MAX_DAYS PASS_MIN_DAYS
PASS_WARN_AGE
pwconv
PASS_MAX_DAYS PASS_MIN_DAYS
PASS_WARN_AGE
su
CONSOLE_GROUPS DEFAULT_HOME ENV_PATH
ENV_SUPATH SULOG_FILE SU_NAME SYSLOG_SU_ENAB
sulogin
ENV_HZ
useradd
CREATE_HOME GID_MAX GID_MIN MAIL_DIR
MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SYS_GID_MAX
SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK
userdel
MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP
USERDEL_CMD USERGROUPS_ENAB
usermod
MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP
FEHLER¶
Ein Großteil der Funktionen, die früher einmal durch die Shadow-Passwort-Werkzeugsammlung angeboten wurden, wird heute durch PAM zur Verfügung gestellt. Daher wird /etc/login.defs nicht länger von Programmen wie passwd(1) ausgewertet und von Programmen wie login(1) oder su(1) nur noch in geringem Umfang beachtet. Sie sollten daher für eine entsprechende Konfiguration in den Dateien von PAM nachsehen.SIEHE AUCH¶
login(1), passwd(1), su(1), passwd(5), shadow(5), pam(8).| 25.05.2012 | shadow-utils 4.1.5.1 |