10.38. Shadow-4.5

Le paquet Shadow contient des programmes de gestion de mots de passe d'une façon sécurisée.

10.38.1. Installation de Shadow

[Note]

Note

Si vous souhaitez multiplier l'usage des mots de passe efficaces, reportez-vous à http://cblfs.clfs.org/index.php/Cracklib pour l'installation de CrackLib avant de compiler Shadow. Après l'installation de Cracklib, exécutez ce sed dans le répertoire des sources de Shadow pour corriger le chemin du dictionnaire de Cracklib :

sed -i 's@\(DICTPATH.\).*@\1/lib/cracklib/pw_dict@' etc/login.defs

Finalement, ajoutez --with-libcrack à la commande configure ce-dessous.

Désactive l'installation du programme groups et de sa page de manuel car Coreutils, Util-linux et Man-pages en fournissent une meilleure version.

sed -i src/Makefile.in \
  -e 's/groups$(EXEEXT) //'
find man -name Makefile.in -exec sed -i \
  -e 's/man1\/groups\.1 //' \
  -e 's/man3\/getspnam\.3 //' \
  -e 's/man5\/passwd\.5 //' '{}' \;

Préparez la compilation de Shadow :

CC="gcc ${BUILD64}" ./configure \
    --sysconfdir=/etc \
    --with-group-name-max-length=32

Voici la signification de la nouvelle option de configure :

--sysconfdir=/etc

Dit à Shadow d'installer ses fichiers de configuration dans /etc plutôt que dans /usr/etc.

--with-group-max-length=32

La taille des noms d'utilisateur maximale est de 32 caractères. Rend identique le maximum pour les noms de groupes.

Compilez le paquet :

make

Ce paquet n'a pas de suite de tests.

Installez le paquet :

make install

Au lieu d'utiliser la méthode DES par défaut, utilisez la méthode SHA-512 plus sécurisée du chiffrement de mot de passe, qui autorise aussi les mots de passe plus longs que huit caractères. Il est également nécessaire de changer l'endroit obsolète de /var/spool/mail pour les boîtes e-mail de l'utilisateur que Shadow utilise par défaut en l'endroit /var/mail utilisé actuellement :

sed -i /etc/login.defs \
    -e 's@#\(ENCRYPT_METHOD \).*@\1SHA512@' \
    -e 's@/var/spool/mail@/var/mail@'

Déplacez un programme mal placé au bon endroit :

mv -v /usr/bin/passwd /bin

Le programme login écrira dans /var/log/faillog pour enregistrer les tentatives d'authentification échouées et /var/log/lastlog pour enregistrer la date et l'heure de la dernière authentification réussie de chaque utilisateur. Ces fichiers de log ne sont pas créés automatiquement s'ils n'existent pas, donc nous allons les créer maintenant et leur donner les bons propriétaires et permissions :

touch /var/log/{fail,last}log
chgrp -v utmp /var/log/{fail,last}log
chmod -v 664 /var/log/{fail,last}log

10.38.2. Configuration de Shadow

Ce paquet contient des outils pour ajouter, modifier, supprimer des utilisateurs et des groupes, initialiser et changer leur mot de passe, et bien d'autres tâches administratives. Pour une explication complète de ce que signifie password shadowing, jetez un œil dans le fichier doc/HOWTO à l'intérieur du répertoire source. Il reste une chose à garder à l'esprit si vous décidez d'utiliser le support de Shadow : les programmes qui ont besoin de vérifier les mots de passe (gestionnaires d'affichage, programmes FTP, démons pop3 et ainsi de suite) ont besoin d'être compatibles avec shadow, c'est-à-dire qu'ils ont besoin d'être capables de fonctionner avec des mots de passe shadow.

Pour activer les mots de passe shadow, lancez la commande suivante :

pwconv

Pour activer les mots de passe shadow pour les groupes, lancez :

grpconv

Pour visualiser ou changer les paramètres par défaut pour les nouveaux comptes que vous créez, vous pouvez modifier /etc/default/useradd. Voir man useradd ou http://cblfs.clfs.org/index.php/Configuring_for_Adding_Users pour plus d'information.

10.38.3. Configurer le mot de passe de root

Choisissez un mot de passe pour l'utilisateur root et configurez-le avec :

passwd root

10.38.4. Contenu de Shadow

Programmes installés: chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, gpasswd, groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv, lastlog, login, logoutd, newgrp, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg (lien vers newgrp), su, useradd, userdel, usermod, vigr (lien vers vipw), vipw
Répertoire installé: /etc/default

Descriptions courtes

chage

Utilisé pour modifier le nombre maximum de jours entre des modifications obligatoires du mot de passe

chfn

Utilisé pour modifier le nom complet de l'utilisateur et quelques autres informations

chgpasswd

Utilisé pour mettre à jour les mots de passe des groupe en ligne de commande (batch)

chpasswd

Utilisé pour mettre à jour les mots de passe d'une série entière de comptes utilisateurs

chsh

Utilisé pour changer le shell de connexion par défaut d'un utilisateur

expiry

Vérifie et applique la politique d'expiration des mots de passe

faillog

Est utilisé pour examiner les traces d'échecs de connexions, pour configurer le nombre maximum d'échecs avant qu'un compte ne soit bloqué ou pour réinitialiser le nombre d'échecs

gpasswd

Est utilisé pour ajouter et supprimer des membres et des administrateurs aux groupes

groupadd

Crée un groupe avec le nom donné

groupdel

Supprime le groupe ayant le nom donné

groupmems

Autorise un utilisateur à administrer sa propres liste de membres de son groupe sans avoir besoin des privilèges super-utilisateur

groupmod

Est utilisé pour modifier le nom ou le GID du groupe

grpck

Vérifie l'intégrité des fichiers /etc/group et /etc/gshadow

grpconv

Crée ou met à jour le fichier shadow à partir du fichier group standard

grpunconv

Met à jour /etc/group depuis /etc/gshadow puis supprime ce deuxième fichier

lastlog

Rapporte la connexion la plus récente de tous les utilisateurs ou de l'utilisateur donné

login

Est utilisé par le système pour permettre aux utilisateurs de se connecter

logoutd

Est un démon utilisé pour appliquer des restrictions sur les durées de connexion et les ports

newgrp

Est utilisé pour changer le GID actuel pendant une session de connexion

newusers

Est utilisé pour créer ou mettre à jour une série entière de comptes utilisateurs

nologin

Affiche un message indiquant qu'un compte est indisponible. Il est conçu pour être utilisé comme shell par défaut pour les comptes désactivés

passwd

Est utilisé pour changer le mot de passe d'un compte utilisateur ou groupe

pwck

Vérifie l'intégrité des fichiers de mots de passes /etc/passwd et /etc/shadow

pwconv

Crée ou met à jour le fichier de mots de passe shadow depuis le fichier de mot de passe normal

pwunconv

Met à jour /etc/passwd à partir de /etc/shadow puis supprime ce dernier

sg

Exécute une commande donnée après avoir mis le GID à celui du groupe donné

su

Lance un shell en changeant l'utilisateur et le groupe

useradd

Crée un nouvel utilisateur avec le nom donné ou met à jour les informations des nouveaux utilisateurs par défaut

userdel

Supprime le compte utilisateur donné

usermod

Est utilisé pour modifier les noms de connexion de l'utilisateur donné, les Identifiants Utilisateur (UID), le shell, le groupe initial, le répertoire personnel, etc.

vigr

Modifie les fichiers /etc/group ou /etc/gshadow

vipw

Modifie les fichiers /etc/passwd ou /etc/shadow