Linux From Scratch: Version 20020515 | ||
---|---|---|
Prev | Chapter 6. Installation des logiciels de base du système | Next |
Estimation du temps de construction: 1 minute Estimation de l'espace disque requis: 2 MB |
Ed n'est pas quelque chose que vous utiliserez directement. Il est installé car il peut être utilisé par le programme patch si vous rencontrez un fichier patch basé sur ed. Ceci arrive rarement car les patchs basé sur diff sont préférés de nos jours.
Installer Ed en lançant les commandes suivantes:
cp buf.c buf.c.backup && sed 's/int u/int u, sfd/' buf.c.backup | \ sed '/.*\*mktemp.*/d' | \ sed 's/.*if (mktemp.*/ sfd = mkstemp(sfn);\ if ((sfd == -1) || (sfp = fopen (sfn, "w+")) == NULL)/' > buf.c && ./configure --prefix=/usr && make && make install && mv /usr/bin/ed /usr/bin/red /bin |
Les commandes sed réparent une vulnérabilité dans ed. Les exécutables de ed créent dans /tmp des fichiers dont les noms sont prévisibles. En utilisant diverses attaques sur les liens symboliques, il est possible de faire écrire à ed des fichiers qu'il ne devrait pas, de changer des permissions de divers fichiers, etc.
ed et red (lien vers ed)
Ed est un éditeur de texte par ligne. Il est utilisé pour créer, afficher, modifier et réaliser d'autres manipulations sur les fichiers texte.
red est un ed resteint : il ne peut que éditer les fichiers du répertoire courant et ne peut pas excécuter des commandes du shell.
Ed-0.2 nécessite que les programmes suivants soient installés:
bash: sh
binutils: ar, as, ld, ranlib
diffutils: cmp
fileutils: chmod, cp, install, ln, mv, rm, touch
gcc: cc1, collect2, cpp0, gcc
grep: egrep, grep
make: make
sed: sed
sh-utils: hostname
textutils: cat, tr