table of contents
LOGIN.DEFS(5) | Formats et conversions de fich | LOGIN.DEFS(5) |
NOM¶
login.defs - configuration de la suite des mots de passe cachés « shadow password »DESCRIPTION¶
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)Ce paramètre précise quelles valeurs du
champ gecos du fichier passwd peuvent être modifiées par
les utilisateurs ordinaires à l'aide du programme chfn. Il est
constitué d'une combinaison de lettres parmi f, r,
w et h, correspondant respectivement au nom complet, au
numéro de bureau, au numéro de téléphone
professionnel et au numéro de téléphone personnel. Pour
des raisons de compatibilité avec des versions antérieures,
yes est équivalent à rwh et no à
frwh. S'il n'est pas précisé, seul le superutilisateur
peut effectuer des modifications. Pour une configuration encore plus
restrictive, il sera préférable de ne pas installer chfn
avec l'indicateur SUID positionné.
CONSOLE_GROUPS (chaîne de caractères)
Une liste de groupes à rajouter aux groupes
supplémentaires de l'utilisateur lors d'une connexion sur une console
(déterminé par le paramètre CONSOLE). Par défaut,
aucun groupe n'est ajouté.
À 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)
Indiquer si un répertoire personnel doit
être créé par défaut pour les nouveaux
utilisateurs.
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)
Indiquer si la connexion est permise si on ne peut pas
accéder au répertoire personnel. Le réglage par
défaut est « no ».
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)
Définir les algorithmes de chiffrement par
défaut du système pour coder les mots de passes (si aucun
algorithme n'a été indiqué sur la ligne de commandes).
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)
Si définie, sera utilisée pour
définir la variable d'environnement HZ lorsqu'un utilisateur se
connecte. La valeur doit être précédée par
HZ=. Une valeur commune sur Linux est HZ=100.
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)
Si définie, sera utilisée pour
définir la variable d'environnement PATH quand un utilisateur ordinaire
se connecte. La valeur est une liste de chemins séparés par des
deux points (par exemple /bin:/usr/bin) et peut être
précédée par PATH=. La valeur par défaut
est PATH=/bin:/usr/bin.
ENV_SUPATH (chaîne de caractères)
Si définie, sera utilisée pour
définir la variable d'environnement PATH quand le super-utilisateur se
connecte. La valeur est une liste de chemins séparés par deux
points (par exemple /sbin:/bin:/usr/sbin:/usr/bin) et peut être
précédée par PATH=. La valeur par défaut
est PATH=/sbin:/bin:/usr/sbin:/usr/bin.
ERASECHAR (nombre)
Le caractère ERASE du terminal (010 =
backspace, 0177 = DEL).
La valeur peut être préfixée par
« 0 » pour une valeur octale, ou
« 0x » pour une valeur hexadécimale.
FAIL_DELAY (nombre)
Le délai en secondes avant qu'un nouvel essai soit
permis après un échec de connexion.
FAKE_SHELL (chaîne de caractères)
Si définie, login exécutera cet
interpréteur de commandes au lieu de l'interpréteur de
l'utilisateur spécifié dans /etc/passwd.
GID_MAX (nombre), GID_MIN (nombre)
Plage d'identifiants numériques de groupes que les
commandes useradd, groupadd ou newusers peuvent utiliser
pour la création des groupes normaux.
La valeur par défaut pour GID_MIN (respectivement GID_MAX)
est 1000 (respectivement 60000).
HUSHLOGIN_FILE (chaîne de caractères)
Si définie, le fichier peut désactiver tous
les affichages habituels durant la séquence de connexion. Si un nom de
chemin complet est spécifié, alors le mode taiseux sera
activé si le nom ou l'interpréteur de commandes de l'utilisateur
sont trouvés dans le fichier. Si ce n'est pas un nom de chemin complet,
alors le mode taiseux sera activé si le fichier existe dans le
répertoire personnel de l'utilisateur.
KILLCHAR (nombre)
Le caractère KILL du terminal (025 =
CTRL/U).
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)
Activer la journalisation des connexions
réussies.
LOG_UNKFAIL_ENAB (booléen)
Activer l'affichage des noms d'utilisateurs inconnus
quand les échecs de connexions sont enregistrés.
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)
Le nombre maximum de tentatives de connexion en cas de
mauvais mot de passe.
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)
Le temps maximum en secondes pour la connexion.
MAIL_DIR (chaîne de caractères)
Répertoire d'attente des courriels
(« mail spool directory »). Ce paramètre
est nécessaire pour manipuler les boîtes à lettres
lorsque le compte d'un utilisateur est modifié ou supprimé. S'il
n'est pas spécifié, une valeur par défaut définie
à la compilation est utilisée.
MAIL_FILE (chaîne de caractères)
Définir l'emplacement des boîtes aux
lettres des utilisateurs relativement à leur répertoire
personnel.
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)
Nombre maximum de membres par entrée de groupe.
Lorsque le maximum est atteint, une nouvelle entrée de groupe (ligne)
est démarrée dans /etc/group (avec le même nom,
même mot de passe, et même GID).
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)
Indiquer si un mot de passe doit être
chiffré en utilisant l'algorithme basé sur MD5. Si
configurée à yes, les nouveaux mots de passe seront
chiffrés en utilisant l'algorithme basé sur MD5 compatible avec
celui utilisé par les versions récentes de FreeBSD. Il
gère des mots de passe de longueur illimitée et des
chaînes de salage plus longues. Configurez-la à no pour
copier les mots de passe chiffrés sur d'autres systèmes qui ne
comprennent pas le nouvel algorithme. la valeur par défaut est
no.
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)
Nombre maximum de jours de validité d'un mot de
passe. Après cette durée, une modification du mot de passe est
obligatoire. S'il n'est pas précisé, la valeur de -1 est
utilisée (ce qui enlève toute restriction).
PASS_MIN_DAYS (nombre)
Nombre minimum de jours autorisé avant la
modification d'un mot de passe. Toute tentative de modification du mot de
passe avant cette durée est rejetée. S'il n'est pas
précisé, la valeur de -1 est utilisée (ce qui
enlève toute restriction).
PASS_WARN_AGE (nombre)
Nombre de jours durant lesquels l'utilisateur recevra un
avertissement avant que son mot de passe n'arrive en fin de validité.
Une valeur négative signifie qu'aucun avertissement n'est donné.
S'il n'est pas précisé, aucun avertissement n'est
donné.
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)
Quand ENCRYPT_METHOD est configurée
à SHA256 ou SHA512, cela définit le nombre de
rounds de SHA utilisés par l'algorithme de chiffrement par
défaut (quand le nombre de rounds n'est pas précisé sur
la ligne de commande).
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)
Si définie, les activités de su seront
enregistrées dans le fichier.
SU_NAME (chaîne de caractères)
Si définie, le nom de la commande à
afficher lorsque « su - » est
exécutée. Par exemple, si elle est définie à
« su » alors un « ps »
affichera la commande comme « -su ». Si non
définie, alors « ps » affichera le nom du
shell qui sera en fait exécuté, par exemple quelque chose comme
« -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 (nombre), SYS_GID_MIN (nombre)
Plage d'identifiants numériques de groupes que les
commandes useradd, groupadd ou newusers peuvent utiliser
pour la création de groupes système.
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)
Plage d'identifiants numériques d'utilisateurs que
les commandes useradd ou newusers peuvent utiliser pour la
création d'utilisateurs système.
La valeur par défaut pour SYS_UID_MIN (respectivement
SYS_UID_MAX) est 101 (respectivement UID_MIN-1).
SYSLOG_SG_ENAB (booléen)
Activer la journalisation
« syslog » de l'activité de
sg.
SYSLOG_SU_ENAB (booléen)
Activer la journalisation
« syslog » de l'activité de su - en
plus de la journalisation sulog.
TTYGROUP (chaîne de caractères), TTYPERM
(chaîne de caractères)
Les permissions de terminal : la connexion tty
appartiendra au groupe TTYGROUP et les permissions seront
configurées à TTYPERM.
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)
Si définie, fichier qui lie les lignes de tty
à la variable d'environnement TERM. Chaque ligne du fichier est dans un
format ressemblant à « vt100 tty01 ».
UID_MAX (nombre), UID_MIN (nombre)
Plage d'identifiants numériques d'utilisateurs que
les commandes useradd ou newusers peuvent utiliser pour la
création d'utilisateurs normaux.
La valeur par défaut de UID_MIN (respectivement UID_MAX)
est 1000 (respectivement 60000).
UMASK (nombre)
Valeur d'initialisation du masque de permissions. S'il
n'est pas précisé, le masque des permissions sera
initialisé à 022.
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)
Si définie, la commande est exécutée
lors de la suppression d'un utilisateur. Elle pourra supprimer toutes les
tâches périodiques cron ou at, tous les travaux d'impression,
etc. de l'utilisateur (qui sera fourni comme premier paramètre).
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 ;
USERGROUPS_ENAB (booléen)
#! /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
Si cette variable est configurée à
yes, userdel supprimera le groupe de l'utilisateur s'il ne
contient pas d'autres membres, et useradd créera par
défaut un groupe portant le nom de l'utilisateur.
RÉFÉRENCES CROISÉES¶
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. 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
BOGUES¶
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.VOIR AUSSI¶
login(1), passwd(1), su(1), passwd(5), shadow(5), pam(8).17/05/2017 | shadow-utils 4.2 |