Page suivante Page précédente Table des matières
4. Compiler les programmes.
4.1 Extraire l'archive
La première étape après avoir récupéré les paquetage est l'extraction de l'archive. C'est une archive de format tar et compressée avec gzip. Donc tout d'abord déplacez la vers
/usr/src, et tapez:tar -xzvf shadow-current.tar.gzCeci extraira l'ensemble dans le répertoire:
/usr/src/shadow-AAMMJJ
4.2 Configurer le fichier config.h
La première chose à faire est d'écraser les fichiers
Makefileetconfig.h:cd /usr/src/shadow-AAMMJJ cp Makefile.linux Makefile cp config.h.linux config.hJetez un coup d'oeil au fichier
config.h. Ce fichier contient les définitions pour quelques options de configuration. Si vous utilisez le paquetage shadow recommandé, je vous recommande de dévalider le support de groupesshadow; pour la première fois.Par défaut les mots de passe pour les groupes caché sont validés. Pour les dévalider, éditez le fichier
config.h, et remplacez#define SHADOWGRPen#undef SHADOWGRP. Je recommande de commencer sans les groupes cachés, mais si vous souhaitez réellement des mots de passe pour les groupes ainsi que des administrateurs de groupes vous pourrez ultérieurement valider l'option et recompiler le tout. Si vous la laissez validée, vous devez créer le fichier/etc/gshadow.Valider l'option gérant les longs mots de passe n'est pas recommandée.
Ne PAS changer le champ:
#undef AUTOSHADOWL'option
AUTOSHADOWétait prévue pour que les programmes non adaptés aux mots de passe shadow puissent toujours fonctionner. Cela paraît intéressant en théorie mais ne fonctionne pas correctement. Si vous validez cette option, et qu'un programme focntionne avec les droits deroot, il se peut qu'il utilise la fonctiongetpwnam()avec les droitsroot, et, plus tard, qu'il écrive la donnée modifiée dans le fichier/etc/passwd. Il ne possèdera donc plus les propriétés shadow passwords. chfn et chsh sont de tels programmes (Vous pouvez passer outre en échangeant l'uid réel et effectif avant d'appelergetpwnam()carrootpeut utiliser chfn et chsh aussi).Le même avertissement est aussi valable si vous compilez la
libc. Il y a une optionSHADOW_COMPATqui fait la même chose. Elle ne doit PAS être utilisée! Si vous commencez à remettre des mots de passe encodés dans le fichier/etc/passwd, cela pose un problème.Si vous utilisez une
libcde versions inférieure à 4.6.27, vous devriez faire un ou deux changements dans le fichierconfig.hainsi que dans leMakefile. En ce qui concerne le fichierconfig.h, éditez le et remplacez:par#define HAVE_BASENAMEDans le fichier#undef HAVE_BASENAMEMakefile, remplacez:parSOBJS = smain.o env.o entry.o susetup.o shell.o \ sub.o mail.o motd.o sulog.o age.o tz.o hushed.o SSRCS = smain.c enc.c entry.c setup.c shell.c \ pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \ tz.c hushed.cCe changement ajoute le code contenu dansSOBJS = smain.o env.o entry.o susetup.o shell.o \ sub.o mail.o motd.o sulog.o age.o tz.o hushed.o basename.o SSRCS = smain.c enc.c entry.c setup.c shell.c \ pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \ tz.c hushed.c basename.cbasename.cqui est contenu dans lalibc 4.6.27ou plus.
4.3 Faire une copie de sauvegarde de vos programmes originaux.
Faites une copie de sauvegarde des fichiers qui vont être remplacés par le kit shadow. Sur un système Slackware 3.0:
- /bin/su
- /bin/login
- /usr/bin/passwd
- /usr/bin/newgrp
- /usr/bin/chfn
- /usr/bin/chsh
- /bin/id
Le paquetage béta possède une cible save dans le
Makefile, mais elle est commentée car les différentes distributions placent ces programmes à différents endroits.Vous devriez aussi faire une copie de sauvegarde du fichier
/etc/passwd, mais faites attention à le nommer différemment de façon à ne pas écraser l'original.
4.4 Lancer make
Vous avez besoin d'être
root pour la plupart de l'installationLancez make pour compiler les exécutables du paquetage.
Vous pourrez voir les avertissements suivants:make allrcsid defined but not used. Ce n'est rien, il survient seulement parce que l'auteur utilise un paquetage de contrôle de version.
Page suivante Page précédente Table des matières