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
yesrwh und nofrwh. 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«.
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT
(number)
If /etc/subuid exists, the commands useradd and
newusers (unless the user already have subordinate group IDs) allocate
SUB_GID_COUNT unused group IDs from the range SUB_GID_MIN to
SUB_GID_MAX for each new user.
The default values for SUB_GID_MIN, SUB_GID_MAX,
SUB_GID_COUNT are respectively 100000, 600100000 and 10000.
SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT
(number)
If /etc/subuid exists, the commands useradd and
newusers (unless the user already have subordinate user IDs) allocate
SUB_UID_COUNT unused user IDs from the range SUB_UID_MIN to
SUB_UID_MAX for each new user.
The default values for SUB_UID_MIN, SUB_UID_MAX,
SUB_UID_COUNT are respectively 100000, 600100000 and 10000.
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
SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
gpasswd
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 SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT
SUB_UID_MAX SUB_UID_MIN 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 SUB_GID_COUNT
SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN 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).17.05.2017 | shadow-utils 4.2 |