Ce document a été produit par HEVEA.
Votre browser peut avoir a être configuré pour afficher correctement
certains symboles.
Reportez-vous à la documentation d'HEVEA.
Licence d'informatique
Les commandes cmd5 et kn
Examen -- Partie Unix
Septembre 2001
Les documents de cours et TD sont autorisés.
On rendra deux copies séparées pour la partie langage C et pour
la partie Unix ; la partie Unix sur une copie de couleur.
Ce document est disponible sous forme d'un fichier PostScript compressé.
1 Vérification de signature numérique de fichiers, cmd5
Nous allons développer une commande de vérification de signature de
fichiers : cmd5 (check md5).
Signature numérique d'un fichier
La signature numérique d'un fichier est une valeur calculée en
fonction de la valeur du fichier (c'est-à-dire de son contenu). Cette
signature est telle que si le contenu du fichier change, la valeur de
sa signature change. On parle de fonction signature pour identifier la
fonction qui calcule la signature en fonction de la valeur du
fichier.
La signature d'un fichier est typiquement utilisée pour assurer qu'un
fichier diffusé, par exemple sur Internet, n'a pas été corrompu. On
compare la valeur de la fonction signature sur le fichier reçu et la
valeur de la fonction signature sur le fichier originel (typiquement
transmise avec le fichier).
La commande Unix md5sum calcule la signature d'un fichier dont
le nom est donné en paramètre selon l'exemple suivant :
% md5sum xam01-sep.tex
380313ae6a1e3c441cb8691aff8cbc52 xam01-sep.tex
Distribution de fichiers
On considère la distribution de fichiers sous forme de répertoires
telle que :
-
chaque répertoire/sous-répertoire contient un fichier
Files.md5sum ;
- ce fichier contient une ligne correspondant à la signature
numérique de chacun des fichiers du répertoire.
La commande cmd5
La commande cmd5 permet d'une part de générer les fichiers
Files.md5sum, et d'autre part de vérifier l'intégrité de tous
les fichiers d'un répertoire donné en comparant leur signature
numérique aux valeurs contenues dans les fichiers Files.md5sum.
La syntaxe de la commande cmd5 est la suivante :
cmd5 [--generate] [dirname]
l'option --generate indique de générer les fichiers
Files.md5sum (par défaut, la commande teste l'intégrité de ces
fichiers et affiche un message en cas d'inconsistance). Le nom du
répertoire passé en argument (le répertoire courant par défaut) est
celui que la commande doit considérer.
Question 1 [Algorithme de cmd5]
Décrivez un algorithme pour
-
la commande de génération des fichiers
Files.md5sum.
- la commande de vérification de l'intégrité d'une
distribution.
Question 2 [Commande cmd5]
Donnez le code Bourne-shell commenté de la commande cmd5. Il
est particulièrement bienvenu de découper ce code en fonctions.
2 Kill Netscape, kn
Utilisateur de Netscape, vous avez déjà rencontré le problème suivant
: lors du chargement d'une page, Netscape vous indique par exemple
Starting Java... et se fige ! Il ne reste alors plus qu'à
supprimer le processus Netscape et à relancer le navigateur.
Nous allons développer la commande kn qui va terminer
Netscape proprement. En effet, lors de son lancement, Netscape crée un
fichier de verrou destiné à éviter deux exécutions simultanées de
Netscape par un même utilisateur.
Ce fichier de nom lock est situé dans le répertoire
.netscape de l'utilisateur. C'est en fait un lien symbolique
qui mémorise quelques informations :
% ls -l ~/.netscape/lock
lrwxrwxrwx 1 phm 8 Sep 06 13:36 /users/phm/.netscape/lock -> 134.206.10.42:23171
Le numéro 134.206.10.42 est le numéro IP de la machine sur
laquelle s'exécute Netscape. Le numéro 23171 est le numéro du
processus Netscape sur cette machine.
Question 3 [Pourquoi un verrou ?]
Expliquez pourquoi est-ce que Netscape veut éviter deux
invocations simultanées par le même utilisateur.
Question 4 [Informations]
Quelles sont les informations nécessaires pour terminer le
processus Netscape en cours ?
Question 5 [Commande kn]
Donnez le code Bourne-shell de la commande kn.
Les commandes suivantes peuvent être utiles :
-
La commande hostname -i affiche le numéro IP de la
machine locale.
- Le paramètre identifiant la machine distante dans la commande
rsh peut être précisé sous forme d'une adresse IP.
Ce document a été traduit de LATEX par
HEVEA.