Installer Ed-0.2

Estimation du temps de construction:           1 minute
Estimation de l'espace disque requis:  2 MB

Installation de Ed

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

Explication des commandes

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.

Contenu de Ed-0.2

Programmes

ed et red (lien vers ed)

Description

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

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.

Dépendances

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