Shadow-4.0.4.1

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

Temps de construction approximatif :  0,4 SBU
Espace disque requis :                11 Mo

L'installation de Shadow dépend de Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.

Installation de Shadow

Shadow code en dur le chemin vers le binaire passwd dans le binaire lui-même mais le fait de la mauvaise façon. Si un binaire passwd n'est pas présent avant l'installation de Shadow, le paquet suppose qu'il sera /bin/passwd mais il l'installe ensuite dans /usr/bin/passwd. Ceci amène des problèmes lors de la recherche de /bin/passwd. Pour contourner ce bogue, créez un fichier passwd de façon à ce que son chemin soit codé en dur correctement :

touch /usr/bin/passwd

Maintenane, préparez la compilation de Shadow :

./configure --libdir=/usr/lib --enable-shared

Contournez un problème empêchant l'internationalisation de Shadow :

echo '#define HAVE_SETLOCALE 1' >> config.h

Compilez le paquet :

make

Puis, installez-le :

make install

Shadow utilise deux fichiers pour configurer les paramètrages d'authentification du système. Installez ces deux fichiers de configuration :

cp etc/{limits,login.access} /etc

Au lieu d'utiliser la méthode crypt par défaut, nous voulons utiliser la méthode MD5 plus sécurisée pour le cryptage des mots de passe, qui autorise aussi une taille de mot de passe de plus de huit caractères. Nous allons aussi avoir besoin de modifier l'emplacement obsolète /var/spool/mail des boîtes de courrier électronique des utilisateurs que Shadow utilise par défaut par le nouveau /var/mail utilisé maintenant. Nous accomplissons ces deux points en changeant le fichier de configuration adéquat tout en le copiant à sa destination (il est certainement mieux de couper/coller ceci plutôt que d'essayer de le taper) :

sed -e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \
    -e 's%/var/spool/mail%/var/mail%' \
    etc/login.defs.linux > /etc/login.defs

Déplacez quelques liens symboliques mal placés aux bons emplacements :

mv /bin/sg /usr/bin
mv /bin/vigr /usr/sbin

Et déplacez les bibliothèques partagées de Shadow au bon emplacement :

mv /usr/lib/lib{shadow,misc}.so.0* /lib

Comme certains paquets s'attendent à trouver les bibliothèques que nous venons de déplacer dans /usr/lib, créez les liens symboliques suivants :

ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so

L'option -D du programme useradd requiert ce répertoire pour fonctionner correctement :

mkdir /etc/default

Coreutils a déjà installé un meilleur programme groups dans /usr/bin. Supprimez celui installé par Shadow :

rm /bin/groups

Configurer Shadow

Ce paquet contient des outils pour ajouter, modifier, supprimer des utilisateurs et des groupes, initialiser et changer leur mots de passe, et bien d'autres tâches administratives. Pour une explication complète de ce que signifie password shadowing, jetez un ½il au 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 compatible 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

Sous des circonstances normales, vous n'avez pas encore créé de mots de passe. Néanmoins, si vous revenez plus tard dans cette section pour activer les mots de passe shadow, vous pouvez réinitialiser tous les mots de passe des utilisateurs actuels avec la commande passwd et les mots de passe des groupes avec la commande gpasswd.

Configurer le mot de passe de root

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

passwd root

Contenu de Shadow

Programmes installés : chage, chfn, chpasswd, chsh, dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (lien vers newgrp), useradd, userdel, usermod, vigr (lien vers vipw) et vipw

Courtes descriptions

chage est utilisé pour modifier le nombre maximum de jours pour obliger un changement de mot de passe.

chfn est utilisé pour modifier le nom complet de l'utilisateur et quelques autres informations.

chpasswd est utilisé pour mettre à jour les mots de passe d'une série de compte en une fois.

chsh est utilisé pour modifier le shell de connexion par défaut d'un utilisateur.

dpasswd est utilisé pour modifier l e mots de passe pour les connexions par modem.

expiry vérifie et renforce 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é.

groupmod est utilisé pour modifier le nom ou le GID du groupe.

groups indique les groupes d'appartenance des utilisateurs indiqués.

grpck vérifie l'intégrité des fichiers /etc/group et /etc/gshadow.

grpconv crée ou met à jour le fichier shadow à aprtir du fichier group standard.

grpunconv met à jour /etc/group à partir de from /etc/gshadow et supprime ce dernier.

lastlog indique les connexions les plus récentes de tous les utilisateurs ou d'un utilisateur donné.

login est utilisé par le système pour permettre aux utilisateurs de se connecter.

logoutd est un démon utilisé pour renforcer les restrictions sur les temps et ports de connexion.

mkpasswd crypte les mots de passe donnés en utilisant la perturbation donnée.

newgrp est utilisé pour modifier le GID courant pendant une session de connexion.

newusers est utilisé pour créer ou mettre à jour toute une série de comptes utilisateur en une fois.

passwd est utilisé pour modifier le mot de passe d'un utilisateur ou d'un groupe.

pwck vérifie l'intégrité des fichiers de mots de passe, /etc/passwd et /etc/shadow.

pwconv crée ou met à jour le fichier de mots de passe shadow à partir du fichier password habituel.

pwunconv met à jour/etc/passwd à partir de from /etc/shadow puis supprime ce dernier.

sg exécute une commande donnée lors de l'initialisation du GID de l'utilisateur à un groupe donné.

useradd crée un nouvel utilisateur avec le nom donné ou met à jour les informations par défaut du nouvel utilisateur.

userdel supprime le compte utilisateur indiqué.

usermod est utilisé pour modifier le nom de connexion de l'utilisateur, son UID (User Identification, soit Identification Utilisateur), shell, groupe initial, répertoire personnel et ainsi de suite.

vigr est utilisé pour éditer les fichiers /etc/group ou /etc/gshadow.

vipw est utilisé pour éditer les fichiers /etc/passwd ou /etc/shadow.

libmisc...

libshadow contient des fonctions utilisées par la plupart des programmes dans ce paquet.