Linux From Scratch: Version 5.0 | ||
---|---|---|
Précédent | Chapitre 6. Installation des logiciels du système de base | Suivant |
Estimation du temps de construction : 0,4 SBU Estimation de l'espace disque requis : 11 Mo |
Le package Shadow a été créé pour augmenter la sécurité des mots de passe du système.
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
Shadow dépend de Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.
Les programmes login, getty et init (ainsi que quelques autres) maintiennent des journaux pour enregistrer qui est ou était connecté au système. Néanmoins, ces programmes ne créent pas ces journaux lorsque ceux-ci n'existent pas. Donc, si vous souhaitez que ces traces soient générées, vous devrez créer ces fichiers vous-même. Le package Shadow doit détecter ces fichiers au bon endroit, donc nous les créons maintenant avec de bons droits :
touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp} |
Le fichier /var/run/utmp contient la liste des utilisateurs actuellement connectés, le fichier /var/log/wtmp ceux qui l'étaient et quand. Le fichier /var/log/lastlog affiche pour chaque utilisateur quand il, ou elle, s'est connecté la dernière fois alors que le fichier /var/log/btmp contient les tentatives échouées de connexion.
Shadow code en dur le chemin vers le binaire passwd à l'intérieur du binaire lui-même mais fait cela d'une mauvaise façon. Si un binaire passwd n'est pas présent lors de l'installation de Shadow, le package suppose de manière erronée que celui-ci se trouve dans /bin mais l'installe ensuite dans /usr/bin. Ceci amène des erreurs sur l'absence de /bin/passwd. Pour contourner ce problème, créez un fichier passwd de façon à ce qu'il soit bien codé :
touch /usr/bin/passwd |
La suite actuelle Shadow a un problème avec la commande newgrp faisant échouer celle-ci. Le correctif suivant (apparaissant aussi dans le code CVS de Shadow) corrige ce problème :
patch -Np1 -i ../shadow-4.0.3-newgrp-fix.patch |
Maintenant, préparez la compilation de Shadow :
./configure --prefix=/usr --libdir=/usr/lib --enable-shared |
Compilez le paquet :
make |
Et 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 |
Nous voulons modifier la méthode de cryptage du mot de passe en activant les mots de passe MD5 théoriquement plus sécurisés qu'avec la méthode par défaut, crypt, et permettant en plus des mots de passe dépassant huit caractères. Nous avons aussi besoin de changer l'ancien emplacement /var/spool/mail des boîtes mail des utilisateurs par l'emplacement actuel, /var/mail. Nous faisons cela en modifiant le fichier de configuration correct lors de sa copie :
sed -e 's%/var/spool/mail%/var/mail%' \ -e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \ etc/login.defs.linux > /etc/login.defs |
Note : Faites attention en tapant la commande ci-dessus. Il est probablement plus sûr de la copier et coller plutôt que d'essayer de la taper entièrement.
En accord avec la page man de vipw, un programme vigr devrait aussi exister. Comme la procédure d'installation ne crée pas ce programme, créons le lien symbolique manuellement :
ln -s vipw /usr/sbin/vigr |
Comme le lien symbolique /bin/vipw est redondant (et pointe même vers un fichier inexistant), supprimez-le :
rm /bin/vipw |
Maintenant, déplacez le programme sg à son bon emplacement :
mv /bin/sg /usr/bin |
Et déplacez les bibliothèques partagées de Shadow à un endroit plus approprié :
mv /usr/lib/lib{shadow,misc}.so.0* /lib |
Comme certains packages s'attendent à trouver les bibliothèques tout juste déplacées 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 |
Coreutils a déjà installé un programme groups dans /usr/bin. Si vous le souhaitez, vous pouvez supprimer celui installé par Shadow :
rm /bin/groups |
Ce paquet contient des utilitaires pour modifier les mots de passe des utilisateurs, ajouter ou supprimer des utilisateurs et groupes, et plus encore. Nous n'allons pas expliquer ce que signifie 'shadow password'. Une explication complète peut être lue dans le fichier doc/HOWTO compris dans l'arborescence des sources du paquet Shadow. Il y a une chose que vous devez garder à l'esprit, si vous décidez d'activer le support de Shadow : les programmes qui ont besoin de vérifier des mots de passe (comme xdm, les démons ftp, pop3, etc) doivent être compatibles avec Shadow, c'est-à-dire qu'ils doivent être capables de travailler avec des mots de passe Shadow.
Pour activer les mots de passe shadow, lancez la commande suivante :
/usr/sbin/pwconv |
Et pour activer les mots de passe shadow pour les groupes, lancez la commande suivante :
/usr/sbin/grpconv |
Sous des circonstances normales, vous n'avez pas encore créé de mots de passe. Néanmoins, si vous retournez dans cette section pour activer les mots de passe Shadow, vous devriez réinitialiser les mots de passe de tous les utilisateurs avec la commande passwd ainsi que les mots de passe de tous les groupes en utilisant la commande gpasswd.
Précédent | Sommaire | Suivant |
Installer Psmisc-21.3 | Niveau supérieur | Installer Sysklogd-1.4.1 |