TP 4 de familiarisation avec Unix



Documents pareils
TP1 - Prise en main de l environnement Unix.

TP 1 Prise en main de l environnement Unix

TP1 : Initiation à l algorithmique (1 séance)

Atelier Le gestionnaire de fichier

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

Atelier La notion de session utilisateur sous Linux

Aide-Mémoire unix. 9 février 2009

< Atelier 1 /> Démarrer une application web

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Groupe Eyrolles, 2003, ISBN : X

1 Démarrage de Marionnet

Bon ben voilà c est fait!

Préparation à l installation d Active Directory

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Installation de Joomla avec Filezilla

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

C.M. 1 & 2 : Prise en main de Linux

Administration de Parc Informatique TP02 : Utilisation du logiciel Marionnet

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

Installation et utilisation du client FirstClass 11

GUIDE RAPIDE EXPERT espace de partage

Créer et partager des fichiers

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

Installation / Sauvegarde Restauration / Mise à jour

Transfert de fichiers (ftp) avec dreamweaver cs5 hébergement et nom de domaine. MC Benveniste

Organiser le disque dur Dossiers Fichiers

Guide d installation Caméras PANASONIC Série BL

Utilisez Toucan portable pour vos sauvegardes

Guide pour le bon fonctionnement des applications académiques avec Internet Explorer 7.x

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

Tutoriel : Utilisation du serveur de calcul à distance de PSE

Guide de l utilisateur Mikogo Version Windows

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Paramètres des services Les 3 environnements de saisie Paramètres des sous-services Saisie déportée avec ProfNOTE...

Notice d installation et d utilisation du blog nomade avec un nouveau blog

PHILA-Collector-USB-16Go Pour Windows & Android

Guide d utilisation de «Partages Privés»

Comment configurer Kubuntu

Manuel d utilisation de l outil collaboratif

FICHE 1 : GENERALITES SUR INTERNET EXPLORER

UltraBackup NetStation 4. Guide de démarrage rapide

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

0.1 Mail & News : Thunderbird

Plate-forme de tests des fichiers XML virements SEPA et prélèvements SEPA. Guide d'utilisation

Gestion des documents avec ALFRESCO

Outils pour la pratique

FreeNAS Shere. Par THOREZ Nicolas

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Contrôle de la DreamBox à travers un canal SSH

TP 6 Installation et configuration d une site internet avec un CMS Illustration avec Wordpress

Introduction à l informatique en BCPST

Utilisation de l espace personnel (Serveur DATA)

Service de Virtualisation de la DSI UJF

FICHIERS ET DOSSIERS

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Publication dans le Back Office

Instructions relatives à l installation et à la suppression des pilotes d imprimante PostScript et PCL sous Windows, version 8

Vos outils CNED COPIES EN LIGNE GUIDE DE PRISE EN MAIN DU CORRECTEUR. 8 CODA GA WB 01 13

Introduction : L accès à Estra et à votre propre espace Connexion Votre espace personnel... 5

Partage de fichiers entre MacOS X et Windows. Partager des fichiers, avec un PC, en travaillant sous MacOSX.

Disque Dur Internet «Découverte» Guide d utilisation du service

Accès distant Freebox v6 Configuration

Manuel d utilisation pour la plateforme BeExcellent MANUEL D UTILISATION POUR LA PLATEFORME BEEXCELLENT

The Grid 2: Manuel d utilisation

«Astrophysique et instrumentations associées» Cours UNIX Benoît Semelin

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Formation. Module WEB 4.1. Support de cours

L accès à distance du serveur

Sécurisation de Windows NT 4.0. et Windows 2000

Table des matières ENVIRONNEMENT

Utilisation des ressources informatiques de l N7 à distance

Transfert d un site local vers un serveur. NPDS REvolution 13. Rédaction : Axel Relecture : Dev & Jpb

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

CONDITIONS D UTILISATION VERSION NOMADE

Projet Administration Réseaux

COSWIN MOBILE SERVEUR DE SYNCHRONISATION GUIDE D INSTALLATION

Eclipse atelier Java

Guide d utilisation. Version document 0.8. Trouver toute la documentation sur :

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

L informatique en BCPST

Comment se connecter au dossier partagé?

Découvrez Windows NetMeeting

REMISE A NIVEAU DES SAVOIRS DE BASE INFORMATIQUE

1 - Se connecter au Cartable en ligne

FICHE PEDAGOGIQUE. Questions à poser. - Avant de démarrer l ordinateur,

KWISATZ MODULE PRESTASHOP

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

Module d anonymisation

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix

Installation du logiciel Windows Suivant Démarrer Tous les programmes Démarrer Tous les programmes Marketing Manager Marketing Manager Linux ici Mac

Installation du transfert de fichier sécurisé sur le serveur orphanet

Cyberclasse L'interface web pas à pas

Chapitre 3 : outil «Documents»

Guide de prise en main de la solution NetExplorer

Documentation Honolulu 14 (1)

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Prise en main rapide

Transcription:

TP 4 de familiarisation avec Unix Réseau Filtres (suite) Variables Scripts Vincent Berry - vberry@lirmm.fr IMPORTANT : la prise de notes est une pratique très importante et pourtant négligée, elle est tout à fait possible avec l outil qui lit les pdf sur Mac l outil Aperçu. Vous êtes encouragés à utiliser ses possibilités d annotation sur le pdf d énoncé et à sauvegarder la version annotée du pdf (pour impression, pour les révisions, pour mémoire,...). Voir le menu Présentation -> Afficher la barre d outil d annotations... Table des matières 1 Commandes utilisant les possibilités réseau 1 1.1 Connexion par ftp à un serveur distant (10 mn)................................. 1 1.2 Connexion à une machine Linux (15-20 mn)................................... 1 1.3 Copie de fichiers entre machines distantes (5 mn)................................ 3 2 Gestion des droits 3 2.1 Introduction en douceur (15mn).......................................... 3 2.2 Droits au niveau opérationnel (55mn)...................................... 4 2.3 Contenu public et contenu privé (15 mn)..................................... 7 1 Commandes utilisant les possibilités réseau 1.1 Connexion par ftp à un serveur distant (10 mn) Comme application pour un cours qui démarre bientôt, nous allons chercher de la documentation sur le compilateur du langage Ada que vous utiliserez bientôt dans le cours d algorithmique. Dans un Terminal, connectez vous au serveur ftp cs.nyu.edu Une fois connecté, naviguez (commandes ls et cd) pour vous rendre dans le répertoire /pub/gnat/papers/ puis récupérez le fichier gnat-slides.ps.gz Déconnectez-vous et décompressez le fichier récupéré. Visualiser son contenu avec l outil Linux prévu pour les documents postscripts. 1.2 Connexion à une machine Linux (15-20 mn) La commande ssh vue en cours permet de se connecter sur une machine différente de celle en face de laquelle vous êtes assis. Nous allons explorer les possibilités de cette commande.

Dans un Terminal, placez-vous dans votre répertoire local UNIX c-a-d situé sur le disque de la machine que vous utilisez en ce moment (à ne pas confondre avec votre répertoire personnel disponible sur toute machine par l intermédiaire du réseau c-a-d disponible sur les Macs par un montage de lecteur réseau). Sur ce répertoire en local donc, créez un sousrépertoire Reseaux (en évitant les accents!!!). Placez-vous maintenant dans ce nouveau répertoire. Demandez à voir tous les processus qui vous appartiennent (et seulement ceux-là, pas ceux des autres utilisateurs) avec la commande ps -u votrelogin. repérez le numéro de processus d une application graphique qui tourne sous votre identité (un navigateur internet, un éditeur emacs par exemple). Repérez le nom de la machine sur laquelle êtesvous connectez (commande hostname ou utilisation de l icône "chemins" dans une fenêtre Finder). Déduisez-en le nom d une des machines à côté de vous. Demandez un nouvel onglet (touches cmd-t) dans le Terminal en cours, nommez-le Machine Distante, tandis que l onglet initial peut être renommé Machine Locale. Dans l onglet Machine Distante, connectez-vous sur une machine voisine par la commande ssh. Acceptez ensuite la clef identifiant de la machine à laquelle vous vous connectez (yes à la question) car nous sommes sur un réseau sécurisé par vos administrateurs systèmes (en cas de soucis avec cette machine, utilisez la machine v240.ig.polytech.univ-montp2.fr). La machine contactée vous demande ensuite un mot de passe, que devez-vous indiquer : le nom de la machine contactée? le mot de passe de votre adresse administrative? votre nom de login? le mot de passe de votre compte Unix (c-a-d celui utilisé pour vous connecter sur un ordinateur en salle de TP)? le nom de votre machine d origine? Utilisez la logique pour résoudre cette question et la pratique pour disculper tous vos doutes. Bon, une fois identifié sur la nouvelle machine, sur quel répertoire êtes-vous situé? Pouvezvous vous rendre à la racine de votre arborescence personnelle et y voir les dossiers que vous avez créé à partir de la machine locale? (attention la situation n est pas la même suivant que votre "machine distante" est une machine d une salle de TP ou bien qu il s agisse de v240. Demandez à votre enseignant de vous faire un schéma des montages de fichiers entre les machines de Polytech et celles d IG. Est-ce cohérent avec ce que vous avez remarqué? Demandez la liste des processus qui vous appartiennent sur cette machine distante (même commande ps qu essayée précédemment). Comment se fait-il que vous ne voyiez pas le processus graphique que vous aviez repéré il y a 5 minutes?

Toujours dans l onglet Machine Distante Descendez dans le répertoire Reseaux (que vous avez créé quand vous étiez sur la machine de départ). Créez un fichier distant.txt contenant le nom de la machine distante sur laquelle vous être connecté (commande hostname et redirection de la sortie standard dans le ficher indiqué). Repassez dans l onglet Machine Locale Estce qu il va être possible de voir le fichier distant.txt? Vérifiez. Dans l onglet Machine Distante demandez qui est connecté sur la machine que vous avez rejoint par le réseau (commande who). Qu est-ce qui permet que vous soyez en train de taper des commandes sur une machine où d autres utilisateurs sont connectés? parce que ces autres utilisateurs sont eux-mêmes en train de travailler aussi sur une autre machine? parce que le système est multi-tâches et multi-utilisateurs? 1.3 Copie de fichiers entre machines distantes (5 mn) Dans l onglet Machine Locale de votre Terminal, placez-vous au dessus du projet Musiversal et créez une archive compressée du projet ne contenant que les fichiers de programmes (sans la documentation ni les autres fichiers) en utilisant la commande tar (voir vos notes du TP précédent pour la syntaxe de cette commande). Utilisez la commande scp pour envoyer une copie de cette archive sur un compte dont vous disposez sur une machine distante. Vérifiez sur la machine destination que votre fichier est bien arrivé, et essayez de désarchiver l archive pour voir si vous accédez bien à son contenu. Vérifiez que la copie a bien eu lieu. 2 Gestion des droits Pour ces manipulations, nous avons besoin de travailler sur la machine v240.ig.polytech.univ-montp2.fr sur laquelle vous vous connecterez en ssh. Placez-vous dans une fenêtre Terminal qui est connecté à la machine 240 pour réaliser toutes les manipulations de cette section. 2.1 Introduction en douceur (15mn) Vérifiez avec hostname que vous êtes bien sur la machine 240 Positionnez-vous dans le répertoire Unix qui est juste sous la racine de votre votre espace personnel (s il n existe pas, créez-le).

Créez un sous-répertoire Droits et rendez-vous dans ce répertoire. Créez un fichier texte faire-cafe.txt avec l éditeur vi (beurk, mais (x)emacs ou nano ne sont pas disponibles sur cette veille machine). Une liste de raccourcis pour vous débrouiller dans cet éditeur rudimentaire est dispo ici : http://www.shortcutworld.com/en/linux/vi.html Vous pouvez aussi pour l instant vous passer de vi en tapant la commande cat > faire-cafe.txt suivi de quelques lignes, suivi de CTRL+C. Dans ce fichier vous indiquerez (succinctement) les opérations à réaliser pour préparer un bon café (une instruction par ligne, maximum 4 lignes). Affichez l ensemble des informations disponibles sur les fichiers de votre répertoire courant. Quels sont l utilisateur et le groupe propriétaire du fichier faire-cafe.txt? Quels sont leurs droits sur ce fichier? Essayez d exécuter ce fichier (taper./faire-cafe.txt dans le terminal). Que signifie le message que le terminal vous renvoie? Pourquoi un tel message? Quels droits seraient nécessaires pour que le fichier soit exécutable? Changez les droits du fichier pour qu il soit exécutable par l utilisateur propriétaire (commande chmod) Essayez à nouveau d exécuter le fichier./faire-cafe.txt. Pouvez-vous expliquer la raison précise des messages qui résultent de cette tentative? Faîtes une copie du fichier./faire-cafe.txt sous le nom recette.txt (commande cp). Quels sont les droits du nouveau fichier? Pouvez-vous en déduire la logique du Système d Exploitation lors de la création du nouveau fichier? En une seule commande, donnez tous les droits au groupe, aucun à l utilisateur et aux autres (chmod) sur le fichier faire-cafe.txt? Vérifiez que les droits ont été correctement donnés. Essayez maintenant de visualiser le contenu de ce fichier (commande cat). Que constatez-vous? Pourquoi? Essayez de détruire ce fichier (rm). A votre étonnement, vous arrivez à réaliser cette opération (après éventuellement avoir confirmé l opération au shell par y suivi de <Entreé>). Par quel miracle cela est-il possible avec les droits actuellement positionnés? 2.2 Droits au niveau opérationnel (55mn) Droits pour le partage de documents avec les autres utilisateurs (20-25mn) Là aussi, il vaut mieux travailler sur la machine v240 qui gère les droits Unix mieux que les Mac (qui eux ne voient vos fichiers réseaux qu à distance) Créez un répertoire PUBLIC juste sous la racine de votre arborescence personnelle. Changez le groupe propriétaire de ce répertoire pour le groupe nommé unix 1 (commande chgrp, voir le man pour le détail des arguments, ou tout simplement l invoquer avec l option --help. Comment vérifier que le changement a bien eu lieu? Note : suivant comment a été installé le système, l opération précédente peut ne pas aboutir. Ce n est pas grave, passez à la suite. Donnez-vous tous les droits sur ce répertoire PUBLIC, ainsi qu au groupe, mais uniquement les droits de traverser et lire le contenu du répertoire aux autres personnes (c-a-d others). Vérifiez. Mais au fait, à quel(s) groupe(s) appartenez-vous? (id) Indiquez au shell que vous voulez maintenant qu il vous identifie comme une personne appartenant au groupe unix (newgrp unix, mot de passe éventuel) Vérifiez qu il a tenu compte de votre changement de groupe (id éventuellement avec l option -g) Allez dans votre répertoire PUBLIC et créez-y un sous-répertoire PROJET. Donnez tous les droits sur ce répertoire à l utilisateur et au groupe propriétaires (c-a-d unix), mais aucun droit aux autres personnes. Vérifiez. Allez dans le sous-répertoire PROJET Créez dans ce sous-répertoire un fichier texte du nom de projet.txt Après avoir réfléchi un minimum et avoir fait un aller-retour avec les diapos du cours, tapez dans le fichier projet.txt quelques lignes de texte dans un format concis indiquant la procédure à adopter à votre avis pour que l ouverture de toute fenêtre de Terminal affiche un message de bienvenue personnalisé 2. Revenez dans le terminal et vérifiez à quel utilisateur et à quel groupe appartient le fichier que vous venez de créer (commande ls avec la bonne option). 1. pour les besoins du TP, tous les étudiants font partie de ce groupe, mais pensez que pour un projet à réaliser, vous pouvez demander la création d un groupe Unix limité aux étudiants de votre projet. Attention : il est possible que le groupe s appelle ig). 2. il faut modifier le fichier ~/.bash_profile et en particulier lui faire modifier la variable PS1.

Sortez du shell dans lequel la commande newgrp vous a placé à votre insu (exit). Méditez la phrase précédente et si vous ne la comprenez pas bien, n hésitez pas à mettre au défi votre enseignant de vous fournir une explication précise, y compris en termes de processus. Vérifiez que vous avez repris votre groupe de départ (id éventuellement avec l option -g). Collaborons (10 mn) Supposons que vous participiez au projet mis en place par votre voisin. Vous allez avoir besoin d accéder aux fichiers et répertoires du projet, afin d avancer le travail lié à ce projet. Nous allons d abord vérifier quelles manipulations vous pouvez effectuer sur ces fichiers et répertoires. Tournez-vous vers l étudiant(e) de l ordinateur d à côté et échangez vos noms de login. A partir du chemin absolu de votre arborescence personnelle, déduisez le chemin menant au répertoire d accueil de ce voisin. Vérifiez. Essayez de consulter le contenu du fichier projet.txt qu il a créé quelque part sous son répertoire PUBLIC. Pourquoi n est-ce pas possible? Identifiez-vous maintenant comme appartenant au groupe unix (newgrp, vérifez avec id) Pouvez-vous maintenant voir le contenu de son fichier projet.txt? Pourquoi? Pouvez-vous créer une copie de ce fichier (nommée par exemple copie.txt) dans son répertoire PROJET (cp)? Invoquez la commande ls avec la bonne option pour connaître les utilisateur et groupes propriétaires des fichiers du répertoire PROJET. Qui est propriétaire du fichier copie.txt? A votre avis, quel utilisateur voit diminuer son quota disque en raison de ce fichier copie.txt situé dans l arborescence de votre voisin? Pouvez-vous détruire le fichier projet.txt (rm)? Pourquoi? Si vous êtes parvenus à cet exploit, renommez le fichier copie.txt en projet.txt (commande mv, et non pas la commande cp). Notions de protocole et de synchronisation (15-20 mn) Maintenant que nous avons vérifié que vous avez effectivement la possibilité de changer le contenu du projet, vous allez avancer l état dans lequel se trouve le projet. Pour cela, rien de compliqué : ajoutez quelques idées et commentaires dans la feuille de route du projet, c-a-d le fichier projet.txt de votre voisin. Mais au fait, que pourrait-il se passer si un autre voisin de votre voisin essaye de faire la même opération que vous sur le fichier de votre voisin (c-a-d celui que vous êtes en train d éditer, vous suivez )?

Est-ce que vous auriez évité ces soucis si vous aviez adopté le protocole suivant? 1. faire une copie du fichier projet.txt dans un fichier monlogin.txt 2. éditer cette copie du fichier original 3. remplacer le fichier projet.txt par la copie modifiée (monlogin.txt)? Décrivez un scénario qui met en défaut le protocole défini ci-dessus Pourtant il existe une façon de procéder plus élaborée que celle proposée ci-dessus, mais néanmoins simple, qui vous permet d éviter ces soucis d accès concurrent à un même fichier (indice : utiliser la commande mv). Groupezvous à trois postes pour établir un protocole évitant toute perte de travail effectué par un collaborateur dans le fichier projet.txt. Vérifiez que le protocole fonctionne, et essayez de convaincre votre enseignant que ce protocole est robuste. Bravo, non seulement, vous venez de concevoir un protocole, mais vous avez vu un problème fondamental en informatique : la synchronisation des accès à une ressource partagée. Un peu de ménage (10 mn) Après avoir édité le fichier projet.txt (suivant un protocole défini ci-dessus), vérifiez dans le terminal que vos changements ont été pris en compte. Expérimentez à cette occasion la commande less à la place de la banale commande cat. Si le fichier fait plusieurs écrans de long, comment localiser rapidement avec cette commande les lignes que vous avez ajoutées? Après votre intervention dans le projet situé chez votre voisin, est-il possible de remettre le contenu de son répertoire PROJET exactement dans l état dans lequel il était avant que vous y fassiez les manipulations décrites ci-dessus? Pourquoi? Revenez dans votre propre répertoire PROJET et regardez si vos voisins y ont créé des fichiers. Notamment, regardez si votre fichier projet.txt existe encore et demandez à voir son contenu pour voir si vos voisins y on fait des contributions intéressantes. Après avoir vérifié que vos voisins ont fini les manipulations de votre projet décrites dans ce TP (ou celles inspirées par leur soif de connaissance), vérifiez si le fichier projet.txt vous appartient encore. Si ce n est pas le cas, faîtes les manipulations nécessaires pour que ce fichier vous appartienne à nouveau (copie, suppression, changement de nom ou peut-être tout simplement une petite touche amicale ). Supprimez toute trace du passage de vos collaborateurs dans votre répertoire.

2.3 Contenu public et contenu privé (15 mn) Dans votre répertoire d accueil (~), créez un répertoire de nom PRIVE. Positionnez les droits de ce répertoire pour que seul l utilisateur propriétaire ait tous les droits dessus, et que les autres entités (groupe et autres) n aient que les droits de traverser ce répertoire (rappel : droit x). Vérifiez. Convenez avec votre voisin de gauche d un nom de répertoire pas trop évident 3 pour stocker votre nouveau projet ultra secret et créez dans le répertoire PRIVE un sous-répertoire au nom choisi. Donnez les droits 777 à ce sousrépertoire. A quoi correspondent ces droits? Demandez à votre voisin de gauche (oui, le même que précédemment) d accéder à votre répertoire. Peut-il y arriver? Et en persévérant? Peut-il créer un fichier ou un répertoire dans le répertoire correspondant à votre projet secret? Pourquoi? Bien, vous désirez maintenant être sûr que ce projet n est bien accessible que des personnes connaissant l existence du projet et le nom du répertoire en question. Faîtes rapidement le vide dans votre Terminal (clear) pour qu aucun indice visuel ne subsiste sur votre écran. Ensuite, communiquez votre nom de login (mais pas le nom de votre projet secret!) à votre voisin de droite (oui, celui qui est un concurrent notoire de votre projet secret) et mettez le au défi d essayer d accéder depuis son ordinateur à votre nouveau projet secret. S il n y parvient pas, est-ce lié au fait qu il est sur un ordinateur différent? Est-ce lié aux droits du répertoire PRIVE? Est-ce lié aux droits du sous-répertoire de PRIVE qui correspond à votre projet secret?