LOGIN.DEFS(5) | Formats et conversions de fich | LOGIN.DEFS(5) |
login.defs - configuration de la suite des mots de passe cachés « shadow password »
Le fichier /etc/login.defs définit la configuration de la suite shadow password (mots de passe cachés) pour le système. Ce fichier est indispensable. Son absence n'empêchera pas le système de fonctionner, mais aura probablement des conséquences indésirables.
Ce fichier est un fichier texte, dont chaque ligne décrit un paramètre de configuration. Les lignes consistent en un nom et une valeur, séparés par une espace. Les lignes blanches et les lignes de commentaires sont ignorées. Les commentaires commencent par un caractère « # », qui doit être le premier caractère non blanc de la ligne.
Les valeurs des paramètres sont de quatre types : chaînes de caractères, booléens, nombres et nombres longs. Une chaîne de caractères est constituée de n'importe quels caractères imprimables. Un booléen est soit yes (oui), soit no (non). Un paramètre booléen non défini, ou défini avec une valeur autre que celles-là prendra la valeur no. Un nombre (normal ou long) peut être soit décimal, soit octal (en précédant la valeur d'un 0), ou encore hexadécimal (en précédant la valeur de 0x). La valeur maximale des paramètres numériques normaux ou longs dépend de la machine.
Les paramètres de configuration suivants sont fournis :
CHFN_RESTRICT (chaîne de caractères)
CONSOLE_GROUPS (chaîne de caractères)
À utiliser avec précaution : il est possible que les utilisateurs aient un accès permanent à ces groupes, et cela même s'ils ne sont pas connectés sur la console.
CREATE_HOME (boolean)
Ce réglage ne s'applique pas pour les utilisateurs système, et peut être annulé sur la ligne de commande.
DEFAULT_HOME (booléen)
Si elle est configurée à yes, l'utilisateur va se connecter dans le répertoire racine (/) s'il n'est pas possible d'accéder à son répertoire personnel.
ENCRYPT_METHOD (chaîne de caractères)
Les valeurs suivantes sont acceptées : DES (par défaut), MD5, SHA256, SHA512.
Remarque : ce paramètre remplace la variable MD5_CRYPT_ENAB.
Remarque : cela n'affecte que la création des mots de passe de groupe. La création de mot de passe des utilisateurs est effectuée par PAM en fonction de la configuration de PAM. Il est recommandé de définir cette variable en cohérence avec la configuration de PAM.
ENV_HZ (chaîne de caractères)
La variable d'environnement HZ est uniquement définie quand l'utilisateur (le super-utilisateur) se connecte avec sulogin.
ENV_PATH (chaîne de caractères)
ENV_SUPATH (chaîne de caractères)
ERASECHAR (nombre)
La valeur peut être préfixée par « 0 » pour une valeur octale, ou « 0x » pour une valeur hexadécimale.
FAIL_DELAY (nombre)
FAKE_SHELL (chaîne de caractères)
GID_MAX (nombre), GID_MIN (nombre)
La valeur par défaut pour GID_MIN (respectivement GID_MAX) est 1000 (respectivement 60000).
HUSHLOGIN_FILE (chaîne de caractères)
KILLCHAR (nombre)
La valeur peut être préfixée par « 0 » pour une valeur octale, ou « 0x » pour une valeur hexadécimale.
LOG_OK_LOGINS (booléen)
LOG_UNKFAIL_ENAB (booléen)
Remarque : la journalisation des noms d'utilisateurs inconnus peut être un problème de sécurité si un utilisateur entre son mot de passe au lieu de son nom d'utilisateur.
LOGIN_RETRIES (nombre)
Ce sera probablement écrasé par PAM, puisque le module pam_unix est réglé en dur pour n'effectuer que 3 tentatives. Toutefois, il s'agit d'une solution de repli au cas où vous utilisez un module d'authentification qui ne fait pas appliquer PAM_MAXTRIES.
LOGIN_TIMEOUT (nombre)
MAIL_DIR (chaîne de caractères)
MAIL_FILE (chaîne de caractères)
Les paramètres MAIL_DIR et MAIL_FILE sont utilisés par useradd, usermod et userdel pour créer, déplacer ou supprimer les boîtes aux lettres des utilisateurs.
MAX_MEMBERS_PER_GROUP (nombre)
La valeur par défaut est 0, ce qui signifie qu'il n'y a pas de limites pour le nombre de membres dans un groupe.
Cette fonctionnalité (groupe découpé) permet de limiter la longueur des lignes dans le fichier de groupes. Ceci est utile pour s'assurer que les lignes pour les groupes NIS ne sont pas plus grandes que 1024 caractères.
Si vous avez besoin de configurer cette limite, vous pouvez utiliser 25.
Remarque : les groupes découpés ne sont peut-être pas pris en charge par tous les outils (même dans la suite d'outils Shadow). Vous ne devriez pas utiliser cette variable, sauf si vous en avez vraiment besoin.
MD5_CRYPT_ENAB (booléen)
Cette variable est écrasée par la variable ENCRYPT_METHOD ou par toute option de la ligne de commande utilisée pour configurer l'algorithme de chiffrement.
Cette variable est obsolète. Vous devriez utiliser ENCRYPT_METHOD.
Remarque : cela n'affecte que la création des mots de passe de groupe. La création de mot de passe des utilisateurs est effectuée par PAM en fonction de la configuration de PAM. Il est recommandé de définir cette variable en cohérence avec la configuration de PAM.
PASS_MAX_DAYS (nombre)
PASS_MIN_DAYS (nombre)
PASS_WARN_AGE (nombre)
Les paramètres PASS_MAX_DAYS, PASS_MIN_DAYS et PASS_WARN_AGE ne sont utilisés qu'au moment de la création d'un compte. Les changements n'affecteront pas les comptes existants.
SHA_CRYPT_MIN_ROUNDS (nombre), SHA_CRYPT_MAX_ROUNDS (nombre)
Avec beaucoup de rounds, il est plus difficile de trouver le mot de passe avec une attaque par force brute. Veuillez remarquer que plus de ressources processeur seront nécessaires pour authentifier les utilisateurs.
Si non précisée, la libc utilisera le nombre de rounds par défaut (5000).
Les valeurs doivent être comprises dans l'intervalle 1 000 - 999 999 999.
Si une seule des variables SHA_CRYPT_MIN_ROUNDS ou SHA_CRYPT_MAX_ROUNDS est configurée, alors cette valeur sera utilisée.
Si SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS, la valeur la plus élevée sera utilisée.
Remarque : cela n'affecte que la création des mots de passe de groupe. La création de mot de passe des utilisateurs est effectuée par PAM en fonction de la configuration de PAM. Il est recommandé de définir cette variable en cohérence avec la configuration de PAM.
SULOG_FILE (chaîne de caractères)
SU_NAME (chaîne de caractères)
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
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)
The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are respectively 100000, 600100000 and 10000.
SYS_GID_MAX (nombre), SYS_GID_MIN (nombre)
La valeur par défaut pour SYS_GID_MIN (respectivement SYS_GID_MAX) est 101 (respectivement GID_MIN-1).
SYS_UID_MAX (nombre), SYS_UID_MIN (nombre)
La valeur par défaut pour SYS_UID_MIN (respectivement SYS_UID_MAX) est 101 (respectivement UID_MIN-1).
SYSLOG_SG_ENAB (booléen)
SYSLOG_SU_ENAB (booléen)
TTYGROUP (chaîne de caractères), TTYPERM (chaîne de caractères)
Par défaut, le propriétaire du terminal est configuré au groupe primaire de l'utilisateur et les permissions sont configurées à 0600.
TTYGROUP peut être le nom d'un groupe ou un identifiant numérique de groupe.
Si vous avez un programme write qui est « setgid » à un groupe spécial auquel les terminaux appartiennent, définissez TTYGROUP comme l'identifiant numérique du groupe et TTYPERM à 0620. Autrement laissez TTYGROUP décommenté et TTYPERM configuré soit à 622 soit à 600.
TTYTYPE_FILE (chaîne de caractères)
UID_MAX (nombre), UID_MIN (nombre)
La valeur par défaut de UID_MIN (respectivement UID_MAX) est 1000 (respectivement 60000).
UMASK (nombre)
useradd et newusers utilisent ce masque pour définir les permissions d'accès des répertoires personnels qu'ils créent.
Il est également utilisé par pam_umask en tant que valeur d'umask par défaut.
USERDEL_CMD (chaîne de caractères)
Le code de retour du script n'est pas pris en compte.
Voici un script exemple, qui supprime le fichier d'entrée de cron et d'at ainsi que les travaux d'impression en attente ;
#! /bin/sh # Check for the required argument. if [ $# != 1 ]; then echo "Usage: $0 username" exit 1 fi # Remove cron jobs. crontab -r -u $1 # Remove at jobs. # Note that it will remove any jobs owned by the same UID, # even if it was shared by a different username. AT_SPOOL_DIR=/var/spool/cron/atjobs find $AT_SPOOL_DIR -name "[^.]*" -type f -user $1 -delete \; # Remove print jobs. lprm $1 # All done. exit 0
USERGROUPS_ENAB (booléen)
Les références croisées ci-dessous montrent quels sont les paramètres utilisés par les différents programmes de la suite shadow password.
chfn
chgpasswd
chpasswd
gpasswd
groupadd
groupdel
groupmems
groupmod
grpck
grpconv
grpunconv
login
newgrp / sg
newusers
pwck
pwconv
su
sulogin
useradd
userdel
usermod
La plupart des fonctionnalités qui étaient fournies par les mots de passe cachés (« shadow password ») sont désormais gérées par PAM. De ce fait, /etc/login.defs n'est plus utilisé par passwd(1) et moins utilisé par login(1) et su(1). Veuillez plutôt vous référer aux fichiers de configuration de PAM correspondant.
27/07/2018 | shadow-utils 4.5 |