TP2 – Le système de fichiers
Pour faire les exercices, vous avez besoin de connaître le langage bash. Vous pouvez vous référer à l'annexe shell. Vous pouvez aussi trouver une liste d'astuces ici. Tous les exercices sont obligatoires, sauf les exercices notés « défi » ou « optionnel » qui sont optionnels. En particulier, les exercices notés « hors présentiel » sont supposés fait d'une séance sur la suivante.
Organisation de votre compte (∼15mn)
Vous êtes libre d'organiser votre compte comme bon vous semble. Cependant, même si pour l'instant vous ne possédez que peu de fichiers, nous vous encourageons à organiser dès à présent vos fichiers en répertoires. Ainsi, nous vous suggérons de créer un répertoire par module de votre cursus, lui-même organisé par séance de TP.
- Créez un répertoire TP1_PremieresCommandes.
mkdir TP1_PremieresCommandes
- Déplacez-y les fichiers correspondant.
mv ~/bonjour.sh TP1_PremieresCommandes
mv ~/bonjour_parametre.sh TP1_PremieresCommandes - Créez un répertoire DM.
mkdir DM
- Déplacez-y les fichiers correspondant.
mv ~/calculette_uni_operation.sh DM
mv ~/calculette_sans_priorite.sh DM
mv ~/calculette.sh DM
Se positionner dans le système de fichiers (∼30mn)
cd ~/CSC3102/TP2_FS
ls /[...]/<login>/CSC3102/TP1_PremieresCommandes
cd test
Attention, le « . » n'est pas optionnel ! Le deuxième argument de la commande cp spécifie le répertoire de destination de la copie. Dans le cas présent, vous copiez le fichier passwd sous le même nom dans le répertoire « . », c.-à-d. dans le répertoire courant.
Les numéros d'inodes de ces deux entrées sont différents car les contenus sont dupliqués lors de leur copie.
Il s'agit toujours du même inode. Le changement de nom a été appliqué dans le tableau référençant les entrées du répertoire.
Liens directs et liens symboliques (∼20mn)
Les inodes des deux fichiers sont identiques.
Les inodes des deux fichiers sont différents.
cat lien_symb.txt # Msg d'erreur : "Aucun fichier ou dossier de ce type" ! Le chemin stocké dans le lien symbolique n'est plus valable puisque le fichier cible a été déplacé. De façon générale, il vaut mieux éviter d'utiliser des chemins relatifs lorsqu'on crée un lien symbolique car tout déplacement du lien dans un autre répertoire rend le lien invalide. Toutefois, utiliser des chemins relatifs dans les liens symboliques est une pratique courante lorsque l'arborescence est stable et n'est pas supposée évoluer.
Droits d'accès (∼25mn)
La commande ssh (∼30mn – hors présentiel)
Cet exercice a pour but de vous présenter la commande ssh. Cette commande vous permet de lancer un shell sur une machine distante de façon sécurisée. Elle vous sera utile pour travailler sur les machines de l'école lorsque vous n'y êtes pas physiquement. Le but de cet exercice n'est pas de vous faire un cours complet sur ssh, pour cela, nous invitons à consulter le cours se trouvant ici.
Les salles machines sont toutes connectées derrière une passerelle nommée ssh.imtbs-tsp.eu. Cette passerelle laisse passer toutes les connexions sortantes mais bloque les connexions entrantes. Dans ce TP, nous allons faire « comme si » nous étions à l'extérieur du réseau de l'école : nous allons nous connecter à la passerelle avant de nous connecter à une des machines.
Fermez le processus xeyes puis utilisez la commande ssh pour vous connecter à la passerelle. Pour vous guider, vous devriez écrire ssh mon-login@ssh.imtbs-tsp.eu pour vous connecter (pensez à utiliser la commande man pour savoir comment utiliser la commande ssh de façon plus avancée).
Qu'affiche maintenant la commande hostname ?
- la machine sur laquelle vous vous connectez n'est pas celle que vous croyez. Le service qui trouve une machine à partir de son nom a très probablement été piraté. Si vous avez un doute, fuyez pauvres fous ! Contactez d'urgence l'administrateur de la machine et surtout, ne répondez pas yes aveuglément.
- la machine sur laquelle vous vous connectez vient d'être mise à jour. Dans ce cas, son identité a changé. Après vous être assuré(e) que c'était le cas, vous pouvez détruire l'entrée correspondante dans le fichier ~/.ssh/known_hosts en lançant ssh-keygen -R hostname, où hostname est le nom de la machine sur laquelle vous vous connectez. Vous pourrez ensuite vous reconnecter comme si c'était une nouvelle machine;
- vous vous connectez pour la première fois à la machine. La procédure devrait être d'obtenir son identité par un autre canal (par exemple en mains propres de la part de l'administrateur) et de la comparer à celle qui vous est affichée par ssh.
Techniquement, votre shell s'exécute sur l'une des passerelles du campus alors que votre écran est connecté à votre machine. Le shell de la passerelle est incapable de trouver le serveur graphique de votre machine, ce qui explique que la commande xeyes ne puisse pas se connecter.
Déconnectez-vous de la passerelle avec la commande exit, puis reconnectez-vous à la passerelle en utilisant cette fois l'option -Y de ssh. Cette option demande explicitement à ssh d'indiquer au shell de la passerelle où se trouve le serveur graphique.
Que se passe-t-il lorsque vous lancez xeyes ?