6. Les autres programmes à mettre-à-jour

Contenu de cette section

Le paquetage shadow contient la plupart des programmes de remplacement aux programmes accédant aux mots de passe. Mais toutefois, il reste quelques programmes présents en général sur la plupart des systèmes qui nécessitent une mise-à-jour pour fonctionner correctement.

Il existe un paquetage avec des binaires pré-compilés pour fonctionner avec un support des mots de passe shadow: ftp://ftp.texas.net/pub/unix/linux/shadow/shad-bin.tar.gz

Cet ensemble contient les binaires pour: ftpd, pop2d, pop3d, mesg, wall, finger, et xdm. Je ne vois pas pourquoi finger, wall ou mesg a besoin d'accéder aux mots de passe. De plus, le code source n'est pas inclus dans l'archive, c'est pour cela que je ne vous recommande pas ce paquetage

La suite de cette section concerne la mise-à-jour des programmes: adduser, wu_ftpd, ftpd, pop3d, xlock et sudo

Reportez vous à la section "ajouter le support des mots de passe Shadow à un programme en C" pour vous aider à mettre à jour les programmes qui nécessitent l'accès aux mots de passes (Sans que le programme soit SUID root ou SGID shadow).

6.1 le programme Adduser (Slackware)

Les distributions Slackware (et probablement d'autres) contiennent un programme interactif /bin/adduser permettant d'ajouter facilement des utilisateurs. Une version Shadow de ce programme peut être trouvée sur: ftp://sunsite.unc.edu/pub/Linux/ system/Admin/accounts/adduser.shadow-1.4.tar.gz .

L'installation est aisée:

# tar -xzvf adduser.shadow-1.4.tar.gz
# cd adduser.shadow.1.4
# make adduser
# chmod 700 adduser
# make install

6.2 Le serveur wu_ftpd

La plupart des distributions linux incluent le serveur wu_ftpd. Si votre distribution n'est pas ''native shadow'', votre serveur wu_ftpd n'est pas compilé pour le support shadow. wu_ftpd est lancé à partir de inetd/tcpd dans un process root. Si vous utilisez un ancien démon wu_ftpd, vous devrez de toute façon le mettre à jour car les vieilles versions ont un bug, le compte root pouvait être compromis (pour plus d'informations, consultez la page web: http://bach.cis.temple.edu/linux/linux-security/Linux- Security-FAQ/Linux-wu.ftpd-2.4-Update.html ).

Heureusement, la seule démarche à faire est de récupérer les sources et de les compiler avec l'option shadow.

Le serveur wu_ftpd peut être récupéré sur Sunsite: wu-ftp-2.4-fixed.tar.gz

Une fois l'archive récupérée, placez là dans /usr/src et tapez:

# cd /usr/src
# tar -xzvf wu-ftpd-2.4-fixed.tar.gz
# cd wu-ftpd-2.4-fixed
# cp ./src/config/config.lnx.shadow ./src/config/config.lnx
# ./build lnx
# cp /usr/sbin/wu.ftpd /usr/sbin/wu.ftpd.old
# cp ./bin/ftpd /usr/sbin/wu.ftpd

Ceci utilise le fichier de configuration Linux shadow, compile le tout et installe le serveur.

Sur mon système basé sur une Slackware 3.0 j'ai du faire ces modifications avant de lancer build: build:

# cd /usr/include/netinet
# ln -s in_systm.h in_system.h
# cd -

6.3 ftpd standard

Si vous utilisez le serveur ftpd standard, tout d'abord, je vous recommande de passer au serveur wu_ftpd, mis à part les bugs cités précédemment, il est considéré comme plus sécurisé.

Si vous insistez et voulez garder la version standard - ou bien vous avez besoin du support NIS - le fichier est sur Sunsite: ftpd-shadow-nis.tgz

6.4 pop3d (Post Office Protocol 3)

Si vous utilisez le 3eme Post Office Protocol (POP3), vous devrez recompiler le programme pop3d. pop3d est normalement lancé par inet2/tcpd dans un process root.

Il y a deux versions disponibles sur Sunsite: pop3d-1.00.4.linux.shadow.tar.gz et pop3d+shadow+elf.tar.gz

Les deux versions sont très simple à installer.

6.5 xlock

Si vous utilisez X-window et que vous ne mettez pas à jour xlock, vous devrez utiliser CTRL-ALT-Fx pour vous déplacer sur un autre tty, vous loguer et tuer le process xlock (ou utiliser CTRL-ALT-BS pour tuer le serveur X). Mais par chance, la mise à jour d' xlock n'est vraiment pas compliquée.

Si vous utilisez XFree86 Versions 3.x.x, c'est probablement xlockmore qui est installé (c'est un superbe économiseur d'écran et un système de lock). Ce paquetage supporte shadow après recompilation. Si vous utilisez une vielle version xlock, je vous recommande celle-ci.

xlockmore-3.5.tgz disponible sur Sunsite: ftp://sunsite.unc.edu/pub/Linux/X11/xutils/screen-savers/ xlockmore-3.5.tgz

En gros, voilà comment procéder:

Récupérez xlockmore-3.5.tgz et copiez le dans /usr/src, décompressez le:

# tar -xzvf xlockmore-3.5.tgz

Editez le fichier: /usr/X11R6/lib/X11/config/linux.cf, et changez la ligne:

#define HasShadowPasswd    NO

en

#define HasShadowPasswd    YES

Alors, construisez les exécutables:

# cd /usr/src/xlockmore
# xmkmf
# make depend
# make

Maintenant, déplacez le tout vers le bon endroit, et mettez-à-jour les propriétaires et les permissions de fichier:

# cp xlock /usr/X11R6/bin/
# cp XLock /var/X11R6/lib/app-defaults/
# chown root.shadow /usr/X11R6/bin/xlock
# chmod 2755 /usr/X11R6/bin/xlock
# chown root.shadow /etc/shadow
# chmod 640 /etc/shadow

Votre xlock fonctionnera désormais correctement.

6.6 sudo

Le programme sudo permet à l'administrateur système de laisser des utilisateurs lancer des programmes qui normalement nécessiteraient les permissions root. C'est intéressant car ça permet à l'administrateur de se limiter lui même l'accès root pendant qu'il permet aux utilisateurs de faire des opérations comme monter un disque.

sudo a besoin d'accéder aux mots de passe car il vérifie le mot de passe des utilisateurs quand il est invoqué.sudo fonctionne déjà SUID root, donc accéder au fichier /etc/shadow n'est pas un problème.

la mise à jour sudo pour shadow est disponible: ftp://sunsite.unc.edu/pub/Linux/system/Admin/sudo-1.2-shadow.tgz

Cette version a été prévue pour fonctionner avec des mots de passe shadow, donc la seule chose à faire est de recompiler le tout (mettez le dans /usr/src):

# cd /usr/src
# tar -xzvf sudo-1.2-shadow.tgz
# cd sudo-1.2-shadow
# make all
# make install

6.7 imapd (impad (paquetage Email pine)

imapd est un serveur email tout comme pop3d. imapd est compris dans l'ensemble Email pine. La documentation qui est fournie avec le paquetage prétend que la configuration par défaut pour un système linux fonctionne avec shadow. Or j'ai constaté que ce n'est pas vrai. De plus, je n'ai pas encore compris comment fonctionne la combinaison Makefile / Script Build et je n'ai pas réussi à le modifier pour qu'il supporte le format shadow.

Si quelqu'un arrive à faire cette mise-à-jour, merci de m'envoyer un email, je l'incluerai ici.

6.8 pppd (Serveur Point-to-Point protocol)

Le serveur pppd peut être configuré selon de nombreuses méthodes d'authentification: Password Authentifocation Protocol (PAP) et Cryptographic Authentification Protocol (CHAP). Le serveur pppd utilise en général les mots de passe stockés dans le fichier /etc/ppp/chap-secrets et /etc/ppp/pap-secret. Si vous utilisez cette méthode, ce n'est pas la peine de faire de mise-à-jour.

pppd vous permet aussi d'utiliser le paramètre login (soit en ligne de commande, soit dans le fichier de configuration). Si l'option login est utilisée, alors pppd utilisera pour le PAP le fichier /etc/passwd pour le nom d'utilisateur et le mot de passe. Bien sur ça ne fonctionnera plus sur un système mots de passe shadow. Pour pppd-1.2.1d, un ajout de code est nécesssaire.

L'exemple donné dans la prochaine section est la modification du code de pppd-1.2.1d (une vieille version de pppd).

pppd-2.2.0 contient déjà le support shadow.


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre