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.
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.
Les paramètres de configuration suivants sont
fournis :
CHFN_AUTH (booléen)
La valeur yes indique que le programme chfn
nécessitera une authentification avant de procéder à tout
changement, à moins qu´ils ne soient exécutés par
le superutilisateur.
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é.
CHSH_AUTH (booléen)
La valeur yes indique que le programme chsh
nécessitera une authentification avant de procéder à tout
changement, à moins qu´ils ne soient exécutés par
le superutilisateur.
CONSOLE (chaîne de caractères)
Si définie, soit un chemin complet du fichier
contenant les noms de périphériques (un par ligne), soit une
liste de noms du périphérique délimitée par des
« : ». Les connexions d´un administrateur
ne seront autorisées que depuis ces périphériques.
S´il n´est pas défini, root pourra se
connecter depuis n´importe quel périphérique.
Le périphérique doit être
précisé sans le préfixe /dev/.
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.
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.
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.
ENV_TZ (chaîne de caractères)
Si définie, sera utilisée pour
définir la variable d´environnement TZ quand un utilisateur se
connecte. La valeur peut être le nom d´un fuseau horaire
précédé par
TZ= (par exemple
TZ=CST6CDT),
ou le chemin complet vers le fichier contenant la spécification du
fuseau horaire (par exemple /etc/tzname).
Si un chemin complet est spécifié mais que le
fichier n´existe pas ou ne peut pas être lu, la valeur par
défaut utilisée est TZ=CST6CDT.
ENVIRON_FILE (chaîne de caractères)
Si ce fichier existe et est lisible,
l´environnement de connexion sera lu à partir de lui.
Chaque ligne doit être sous la forme nom=valeur.
Les lignes commençant par un
« # » sont considérées comme des
commentaires, et sont ignorées.
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.
FAILLOG_ENAB (booléen)
Activer l´enregistrement et l´affichage des
informations d´échec de connexion de /var/log/faillog
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.
FTMP_FILE (chaîne de caractères)
Si définie, les échecs de connexion seront
enregistrés dans le fichier sous le format utmp
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.
The default value for GID_MIN (resp. GID_MAX) is 500
(resp. 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.
ISSUE_FILE (chaîne de caractères)
Si définie, le fichier sera affiché avant
chaque invite de connexion.
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.
LASTLOG_ENAB (booléen)
Activer la journalisation et l´affichage des
informations de dernière connexion de /var/log/lastlog.
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.
LOGIN_STRING (chaîne de caractères)
La chaîne de caractères utilisée
pour l´invite de mot de passe. La valeur par défaut est
d´utiliser "Password: " (« mot de
passe : »), ou une traduction de cette chaîne. Si
vous définissez cette variable, l´invite ne sera pas traduite.
Si la chaîne contient %s, ces caractères
seront remplacés par le nom de l´utilisateur.
LOGIN_TIMEOUT (nombre)
Le temps maximum en secondes pour la connexion.
MAIL_CHECK_ENAB (booléen)
Activer le contrôle et l´affichage du
statut de la boîte aux lettres durant la connexion.
Vous devriez le désactiver si les fichiers de
démarrage de l´interpréteur de commandes
vérifient déjà la présence de courriers
(« mail -e » ou équivalent).
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.
Si MAIL_CHECK_ENAB est réglé sur yes,
ces variables servent également à définir la variable
d´environnement MAIL.
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.
MOTD_FILE (chaîne de caractères)
Si définie, liste délimitée par des
« : » de fichiers de « message du
jour » à afficher lors de la connexion.
NOLOGINS_FILE (chaîne de caractères)
Si définie, nom de fichier dont la présence
empêchera les connexions de quelqu´un d´autre que le
superutilisateur. Le contenu de ces fichiers doit être un message
indiquant pourquoi les connexions sont désactivées.
OBSCURE_CHECKS_ENAB (booléen)
Activer des vérifications supplémentaires
lors des changements de mot de passe.
PASS_ALWAYS_WARN (booléen)
Avertir en cas de mots de passe faibles (mais les accepte
quand même) si vous êtes superutilisateur.
PASS_CHANGE_TRIES (nombre)
Nombre maximum d´essais pour changer de mot de
passe si refusé (trop facile).
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.
PASS_MAX_LEN (nombre), PASS_MIN_LEN (nombre)
Nombre de caractères significatifs dans le mot de
passe pour crypt(). La valeur par défaut de PASS_MAX_LEN est 8.
Ne la changez pas à moins que votre crypt() ne soit meilleur. Ceci est
ignoré si MD5_CRYPT_ENAB est configurée à
yes.
PORTTIME_CHECKS_ENAB (booléen)
Activer la vérification des restrictions de temps
précisées dans /etc/porttime.
QUOTAS_ENAB (booléen)
Activer la mise en place de limites de resources depuis
/etc/limits et ulimit, umask et niveau nice depuis les champs gecos de
passwd.
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.
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 ».
SU_WHEEL_ONLY (booléen)
Si yes, l´utilisateur doit faire partie des
membres du groupe avec le premier gid 0 dans /etc/group (appelé
root sur la plupart des systèmes Linux) pour être capable
de su vers des comptes à uid 0. Si ce groupe n´existe pas
ou est vide, personne ne pourra su vers un uid 0.
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.
The default value for SYS_GID_MIN (resp.
SYS_GID_MAX) is 201 (resp. 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.
The default value for SYS_UID_MIN (resp.
SYS_UID_MAX) is 201 (resp. 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.
The default value for UID_MIN (resp. UID_MAX) is 500
(resp. 60000).
ULIMIT (nombre)
Valeur par défaut d´ulimit.
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 login pour
définir l´umask initial de l´utilisateur. Veuillez
noter que cet umask peut être redéfini par les GECOS de
l´utilisateur (si QUOTAS_ENAB est activé) ou en
précisant une limite avec l´identifiant K dans
limits(5).
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 ;
#! /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)
Activer la mise en place de bits de masque de groupe
(« umask group bits ») identiques à ceux du
propriétaire (exemple : 022 -> 002, 077 -> 007) pour les
utilisateurs non privilégiés, si l´UID est identique au
GID et que l´identifiant de connexion est identique au groupe
principal.
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.