trravaux prrattiiques liniux

35
Cursus Linux PS1 Travaux pratiques Travaux pratiques Laboratoire des Technologies GNU/ Linux, SUPINFO Révision datée du19-12-2007 Copyright © 2007 SUPINFO All rights reserved.

Upload: keums888

Post on 08-Nov-2015

3 views

Category:

Documents


1 download

DESCRIPTION

3.1. Rappels 3.1.1. L’interpréteur de commandes 3.1.2. Passer d’un utilisateur à l’autre rapidement 3.2. Opérations sur les fichiers et répertoires 3.3. Pipes et redirections 3.4. Les commandes find et locate 3.5. Commandes supplémentaires… 3.6. L'archivage avec tar et gzip 3.7. Édition de texte

TRANSCRIPT

  • Cursus Linux PS1

    Travaux pratiquesTravaux pratiques

    Laboratoire des Technologies GNU/Linux, SUPINFORvision date du19-12-2007Copyright 2007 SUPINFOAll rights reserved.

  • Table des matires1. Introduction .......................................................................................................................................................... 12. Organisation du FHS .............................................................................................................................................. 2

    2.1. Rpertoires principaux ................................................................................................................................. 23. Commandes de base ............................................................................................................................................... 3

    3.1. Rappels ..................................................................................................................................................... 33.1.1. Linterprteur de commandes .............................................................................................................. 33.1.2. Passer dun utilisateur lautre rapidement ............................................................................................ 4

    3.2. Oprations sur les fichiers et rpertoires ........................................................................................................... 43.3. Pipes et redirections ..................................................................................................................................... 53.4. Les commandes find et locate ....................................................................................................................... 63.5. Commandes supplmentaires ..................................................................................................................... 63.6. L'archivage avec tar et gzip .......................................................................................................................... 73.7. dition de texte ........................................................................................................................................... 7

    4. Gestion des utilisateurs et des groupes ....................................................................................................................... 84.1. Les utilisateurs et groupes ............................................................................................................................. 84.2. Gestion des identits .................................................................................................................................... 84.3. Suppression d'utilisateur et de groupe .............................................................................................................. 94.4. Modle de rpertoire personnel ...................................................................................................................... 9

    5. Gestion des permissions .........................................................................................................................................115.1. TP : gestion des permissions .........................................................................................................................11

    6. Gestion des disques ...............................................................................................................................................126.1. Gestion des disques ....................................................................................................................................126.2. Cas pratique ..............................................................................................................................................12

    7. Gestion des processus ............................................................................................................................................147.1. Gestion des processus .................................................................................................................................147.2. Planification de tches .................................................................................................................................14

    8. Configuration rseau .............................................................................................................................................158.1. Configuration manuelle et automatique ...........................................................................................................15

    9. Sed et Awk ..........................................................................................................................................................169.1. Sed ..........................................................................................................................................................169.2. Awk ........................................................................................................................................................16

    10. Scripting BASH ..................................................................................................................................................1810.1. Fichiers de configuration de Bash ................................................................................................................18

    10.1.1. Rappels ........................................................................................................................................1810.1.2. Customisation de Bash ....................................................................................................................18

    10.2. Scripting Bash .........................................................................................................................................1911. Le serveur X ......................................................................................................................................................22

    11.1. Avant de commencer .................................................................................................................................2211.2. Configuration et premier lancement du serveur X ...........................................................................................2211.3. Lancement d'une session graphique ..............................................................................................................2311.4. Configuration d'un display manager .............................................................................................................2411.5. X11 Forwarding avec SSH .........................................................................................................................24

    12. Installation de programmes ...................................................................................................................................2612.1. Travaux Pratiques : Installation de programmes ..............................................................................................26

    12.1.1. Installation de paquetages avec les outils urpm* ..................................................................................2612.1.2. Installation depuis les sources ...........................................................................................................26

    13. Machines virtuelles .............................................................................................................................................2813.1. Qemu .....................................................................................................................................................2813.2. Emulation l'aide de Wine .........................................................................................................................28

    14. Le noyau ...........................................................................................................................................................2914.1. Manipulation des modules du noyau .............................................................................................................2914.2. Compilation du noyau ...............................................................................................................................30

  • 14.3. Configuration du bootloader .......................................................................................................................31

    Cursus Linux PS1

  • Chapitre 1. IntroductionContent missing: FIXME.

    1

  • Chapitre 2. Organisation du FHS

    Table des matires2.1. Rpertoires principaux ..................................................................................................... 2

    2.1. Rpertoires principauxQ :

    Quelles sont les diffrences entre /bin et /usr/bin ?Q :

    Vous installez un logiciel a partir des sources. Par convention, dans quel rpertoire allez vous l'installer ?

    Q :Dans quels rpertoires pouvez-vous trouver la configuration d'un programme ?

    2

  • Chapitre 3. Commandes de base

    Table des matires3.1. Rappels ......................................................................................................................... 3

    3.1.1. Linterprteur de commandes .................................................................................. 33.1.2. Passer dun utilisateur lautre rapidement ................................................................ 4

    3.2. Oprations sur les fichiers et rpertoires ............................................................................... 43.3. Pipes et redirections ......................................................................................................... 53.4. Les commandes find et locate ........................................................................................... 63.5. Commandes supplmentaires ......................................................................................... 63.6. L'archivage avec tar et gzip .............................................................................................. 73.7. dition de texte ............................................................................................................... 7

    3.1. RappelsAvant de commencer, procdons quelques rappels.

    3.1.1. Linterprteur de commandesLendroit o vous pouvez taper des commandes dans un terminal sappelle linterprteur de commande (shell enanglais). Il en existe plusieurs, le plus utilis sous Linux tant Bash.Le texte qui prcde lendroit o vous pouvez saisir vos commandes, sappelle le prompt. Bien que celui soitentirement modifiable, voici de quoi est compos un prompt classique :

    Utilisateur @ NomDeLaMachine RpertoireCourant ($|#)

    Par exemple :

    root@localhost ~ #

    Le symbole final (# ou $) permet de distinguer rapidement les privilges de lutilisateur : # pour le super uti-lisateur : le root, $ pour un utilisateur classique. Ce symbole fait parti du prompt et peut donc tre chang.

    Ici, le ~ (symbole tilde) signifie quil sagit du rpertoire personnel de lutilisateur. Le rpertoire du superutilisateur tant /root et le rpertoire dun utilisateur classique tant situ, par convention, dans /home/Login de lutilisateur.

    Linterprteur de commande permet de complter automatiquement le nom des commandes et les chemins versles fichiers ou rpertoire. Pour cela, il suffit dappuyer sur la touche TAB et Bash fera de son mieux pour com-plter votre ligne. Dans le cas o plusieurs faons de complter sont possibles, il faudra appuyer une secondefois sur la touche TAB pour afficher la liste des possibilits.

    3

  • NoteLe fonctionnement dtaill de l'interprteur de commandes Bash sera l'objet d'un prochain cours.

    3.1.2. Passer dun utilisateur lautre rapidementDeux comptes utilisateurs sont prsents sur la machine :

    Le super utilisateur (root). Mot de passe : supinfo. Lutilisateur supinfo. Mot de passe : supinfo.

    Pour passer de lun lautre il suffit de taper su suivi du login de lutilisateur dsir :

    [root@linux ~]# su supinfo[supinfo@linux ~]$

    NoteLe fonctionnement dtaill de su sera abord dans le cours sur la gestion des utilisateurs.

    3.2. Oprations sur les fichiers et rpertoiresQ :

    Crer un fichier file1 et un dossier folder1 dans votre rpertoire personel.

    Q :Dans le rpertoire folder1, crer un lien symbolique nomm noyau qui pointe vers /usr/src/.

    Q :Lister le contenu de votre rpertoire courant, puis le rpertoire folder1. Copier le rpertoire folder1en folder2. Effacer le rpertoire folder1 puis renommer le folder2 en folder1.

    Q :Aller dans le rpertoire folder1/noyau/, puis utiliser la commande pwd -P pour afficher le rpertoireo vous vous trouvez. Utiliser la commande cd pour revenir au rpertoire prcdent. Enfin, afficher nouveau l'arborescence.

    Q :Afficher le fichier /var/log/messages avec les commandes cat, more, less, tail puis head. Dcrirerapidement les effets de chacunes.

    Q :Sur une premire console, afficher le fichier /var/log/auth.log en utilisant le rafrachissement au-tomatique de la commande tail. Connectez-vous une autre console virtuelle et observez le changementdu fichier sur la premire console.

    Commandes de base 4

  • Q :Afficher les lignes du fichier /var/log/messages qui contiennent le mot usb .

    Q :Crer un fichier un super fichier en l'crivant entre guillemets. L'effacer en utilisant la commanderm et l'auto-compltion de Bash partir du premier mot du fichier. Observer la syntaxe utilise par Bash.

    Q :Effacer tous les fichiers et dossiers se finissant par 1 .

    3.3. Pipes et redirections

    NoteLorsque vous rencontrez une erreur, vrifiez attentivement ce que vous avez tap. N'hsitez pas consulter l'aide des commandes pour vous assurer de l'ordre des arguments.

    commande --help

    man commande

    Q :Quels sont les trois flux standards ?

    Q :Lister en affichage complet le contenu du rpertoire /etc dans le fichier sortie_etc.

    Q :Concatner la liste des rpertoires et des fichiers de /var/log/ la suite de sortie_etc.

    Q :Utiliser cat combin avec less pour afficher le fichier sortie_etc.

    Q :Utiliser cat combin avec grep pour nafficher que les fichiers qui ont .conf dans leur nom et qui sontdans sortie_etc.

    Q :Lister tous les fichiers du rpertoire /etc contenant la suite de caractres env.

    Q :Lister le rpertoire /dev/ de 3 manires : Classique (ls), combiner avec more, puis avec less.

    Q :Afficher les noms de fichiers contenant la suite de caractres conf dans les 30 premiers fichiers du r-pertoire /etc.

    Q :Faire de mme pour les 10 dernires lignes.

    Q :Mettre jour la base de donne slocate.

    Commandes de base 5

  • Q :Rechercher tous les fichiers se terminant par .conf , rediriger le rsultat dans le fichier /home/supinfo/result puis afficher le fichier result avec la commande less seulement et seule-ment si la commande locate a russi.

    3.4. Les commandes find et locateQ :

    Rechercher un fichier portant le nom de messages dans /var.

    Q :Rechercher tous les fichiers se terminant par .log .

    Q :Rechercher tous les rpertoires portant le nom de log qui ont t accds depuis moins de 2 jours.

    Q :Rechercher tous les fichiers se terminant par .log sur le systme et y appliquer un touch afin d'enmodifier la dernire date d'accs. Vrifier ensuite avec la commande ls -l.

    Q :Rechercher tous les fichiers se terminant par .log sur le systme avec la commande locate et observerla vitesse.

    3.5. Commandes supplmentairesQ :

    Crer un fichier toto contenant la phrase linux rulez grce la commande echo et les redirections.

    Q :Convertir toutes les lettres minuscules (de a z) du fichier toto en lettres majuscules grce la com-mande tr, puis rediriger le tout vers le fichier tata. Enfin, grce loprateur &&, afficher le contenu detata.

    AstuceConsultez l'aide de la commande tr si ncessaire.

    Q :Le fichier /etc/passwd contient diverses informations relatives aux comptes des utilisateurs. Com-ment faire pour obtenir un fichier sys_users contenant le login de tous les utilisateurs du systme, hauteur d'un login par ligne, chaque ligne tant numrote ?

    Q :Afficher le nombre de comptes utilisateurs prsents sur la machine en une seule commande.

    Q :La commande ifconfig (en root) affiche les informations relatives au rseau. Comment faire pour obtenirun fichier ip_address contenant la liste des adresses IP configures, hauteur dune adresse IP parligne ?

    Commandes de base 6

  • Q :Quels sont les trois oprateurs que lon peut utiliser pour excuter plusieurs commandes la suite ?

    3.6. L'archivage avec tar et gzipQ :

    Crer une archive tar logs.tar contenant /var/log et crer une archive tar compresselog_files.tar.gz avec le mme contenu, observer la diffrence de taille.

    Q :Afficher les fichiers contenus dans l'archive log_files.tar.gz

    Q :Extraire les fichiers de l'archive log_files.tar.gz dans le rpertoire courant

    Q :En utilisant la compression offerte par Gzip, compresser de manire rcursive l'ensemble des fichiers ex-traits de la commande prcdente avec un taux de compression de 2 et visualiser l'opration.

    Q :Compresser l'archive log.tar avec un taux de 9.

    3.7. dition de texteLditeur de texte Vi (prononcer vi ae ) est lun des diteurs les plus rpandus dans le monde UNIX. Il vousfaut donc apprendre le matriser. Pour cela, tapez vimtutor et compltez le tutorial.

    Commandes de base 7

  • Chapitre 4. Gestion des utilisateurs et desgroupes

    Table des matires4.1. Les utilisateurs et groupes ................................................................................................. 84.2. Gestion des identits ........................................................................................................ 84.3. Suppression d'utilisateur et de groupe .................................................................................. 94.4. Modle de rpertoire personnel .......................................................................................... 9

    4.1. Les utilisateurs et groupesQ :

    Crez un utilisateur mandriva avec comme rpertoire home /home/mandriva (gnr automatique-ment) et avec comme mot de passe password (ne pas faire apparatre le mot de passe en clair sur laligne de commande).

    Q :Crez un groupe esi sans aucune option.

    Q :Dfinissez le groupe esi comme groupe principal de l'utilisateur mandriva.

    Q :Dfinissez les groupes secondaires de l'utilisateur mandriva comme tant : users et audio.

    Q :Listez les groupes de l'utilisateur mandriva.

    4.2. Gestion des identits

    NotePour se dconnecter rapidement d'une session dans un terminal, il existe le raccourci trs pratiqueCtrl+D. Ce raccourci quivaut taper la commande exit.

    Q :Changez votre identit de l'utilisateur root en utilisateur mandriva.

    Q :Listez les utilisateurs connects.

    Q :Dconnectez vous de l'utilisateur mandriva pour revenir en super utilisateur root.

    8

  • Q :Dsactivez le compte mandriva.

    Q :Changez votre identit en supinfo. Pourquoi le mot de passe de supinfo n'est-il pas demand ?

    Q :Essayez de vous logguer en tant que mandriva.

    Q :Revenez en root puis logguez vous en tant que mandriva. Pourquoi cela marche-t-il ?

    Q :Revenez en root et ractive le compte de l'utilisateur mandriva.

    Q :Modifiez le fichier /etc/passwd et remplacez le shell de mandriva par /bin/false.

    Q :Logguez-vous en tant que mandriva. Cela fonctionne-t-il ? Pourquoi ?

    NoteLa page de manuel de false peut vous aider.

    4.3. Suppression d'utilisateur et de groupeQ :

    Supprimez l'utilisateur mandriva et son rpertoire personnel.

    Q :Supprimez le groupe esi.

    NoteOn peut galement diter les fichiers /etc/passwd et /etc/group et supprimer les lignescorrespondantes.

    4.4. Modle de rpertoire personnelQ :

    Fates en sorte que, dsormais, pour tout rpertoire personnel cr automatiquement, des dossiers MesDocuments , Ma Musique , Mes Vidos et un fichier Bienvenue contenant unephrase de bienvenue soient crs l'intrieur.

    Crez ensuite un compte bernard avec gnration automatique du dossier personnel et vrifiez la crationdes dossiers.

    Gestion des utilisateurs et des groupes 9

  • NotePensez au dossier /etc/skel !

    Gestion des utilisateurs et des groupes 10

  • Chapitre 5. Gestion des permissions

    Table des matires5.1. TP : gestion des permissions .............................................................................................11

    5.1. TP : gestion des permissionsQ :

    Crer un fichier toto et un dossier foo. Quelles sont les permissions dfinies par dfaut ?Q :

    Afficher les permissions du fichier et du dossier.

    Q :Changer le umask 0077

    Q :Crer un fichier toto2 et un dossier foo2, puis afficher leurs permissions.

    Remettre le umask 0022.

    Q :Changer le propritaire et le groupe du fichier toto en root

    Q :Appliquer les permissions rwx pour l'utilisateur, rx pour le groupe, r pour les autres, en utilisant la nota-tion avec les lettres, puis avec les chiffres

    Q :Essayer d'arrter la machine en tant qu'utilisateur supinfo en utilisant la commande halt puis /sbin/halt. Pourquoi la commande halt ne fonctionne pas sans rentrer son chemin complet ?

    Q :Faites en sorte qu'un utilisateur normal puisse arrter la machine en utilisant le suid sur le fichier excu-table /sbin/halt.

    11

  • Chapitre 6. Gestion des disques

    Table des matires6.1. Gestion des disques ........................................................................................................126.2. Cas pratique ..................................................................................................................12

    6.1. Gestion des disquesQ :

    Quel sera le nom du priphrique correspondant au second disque d'un contrleur SCSI ?Q :

    Quel sera le nom du priphrique correspondant au premier disque du premier contrleur IDE ?Q :

    Crer une nouvelle partition Linux de type ext3 de 100Mo (avec fdisk) sur le disque dur esclave du pre-mier contrleur SCSI .

    Q :Installer un systme de fichiers ext3 sur la nouvelle partition.

    Q :Monter la partition dans le rpertoire /mnt/externe. Attribuer le rpertoire lutilisateur supinfo et augroupe root. Faire en sorte que l'utilisateur supinfo ait les droits de lecture/criture/excution, et que tousles autres aient les droits de lecture/excution.

    Q :Dmonter la partition puis remplir /etc/fstab afin de monter la partition automatiquement au dmar-rage.

    Q :Redmarrer et vrifier que le montage fonctionne.

    Q :Afficher la taille de la partition monte avec df puis avec du.

    6.2. Cas pratiqueL'entreprise GnuCorp possde un serveur sous Mandriva 2007 qui sert de serveur web. L'administrateur a t as-sez distrait, il n'a pas cr de partition pour /var. Maintenant que son systme est en production, les journauxcommencent reprsenter une part significative de l'espace disque utilis. Pour y remdier il souhaite mettre ledossier /var/log sur un autre disque sans changer la configuration des services dj prsent sur le systme.Etant occup, l'administrateur vous confie l'laboration de la procdure et vous fourni une machine virtuelle afind'effectuer des simulations.

    Q :Dmontez le disque SCSI que vous venez de prparer. Vous l'utiliserez comme disque de stockage pour /var/log.

    12

  • Q :Crez le systme de fichier sur le disque /dev/sdb1

    Q :Montez la partition /dev/sdb1 dans /mnt/externe et copiez le rpertoire /var/log dans le rpertoire/mnt/externe (donc sur le disque).

    NoteAfin de prserver les permissions, liens symboliques et appartenances, on va employerl'option --preserve=all

    Q :Dmontez le point de montage /mnt/externe. Ajoutez une entre dans /etc/fstab afin de monterla partition /dev/sdb1 automatiquement sur /var/log.

    Q :Redmarrer, et vrifier le fonctionnement de votre configuration.

    Gestion des disques 13

  • Chapitre 7. Gestion des processus

    Table des matires7.1. Gestion des processus .....................................................................................................147.2. Planification de tches .....................................................................................................14

    7.1. Gestion des processusQ :

    * Lancer yes > /dev/null et stopper la commande en cours l'aide du raccourci clavier.

    Q :* Utiliser la commande jobs qui vous permettra d'observer les "travaux" du shell courant.

    Q :* Passer la commande yes > /dev/null en arrire plan.

    Q :* Envoyer un signal SIGTERM ou SIGKILL au processus yes > /dev/null et vrifier qu'il a bien t quit-t.

    Q :* Editer le fichier /etc/resolv.conf avec vi en utilisant la commande nice. Lancer la commandetop et vrifier la priorit du processus. Toujours avec la commande top diminuer la priorit du processus 15.

    Q :* Lancer la commande top afin que celle-ci affiche tous les processus durant 3 rafraichissements, ol'cart entre chaque rafraichissement soit de 5 secondes et ce dans un fichier. (voir le man)

    7.2. Planification de tchesQ :

    Crer avec le super Administrateur le fichier /etc/cron.deny, pour autoriser les utilisateurs utiliser cron-tab, puis, avec un utilisateur Supinfo, crer une tche cron qui permet d'afficher "Etudiez linux" et cechaque 30 minutes du lundi au vendredi. Faites le en utilisant la commande crontab.

    * Editer la crontab afin de bien vrifier qu'elle a bien t cr. Une fois la tche effectue, refaire la mmechose mais en supprimant votre tche avant qu'elle ne s'excute.

    Q :* Utiliser at qui excutera des commandes 16 heures, minuit et dans 6 heures. Une fois ces tches pro-grammes, ditez les toutes afin de vrifier qu'elles ont bien t prises en compte. Puis effacer la 2mecommande sur les 3 prsentes.

    14

  • Chapitre 8. Configuration rseau

    Table des matires8.1. Configuration manuelle et automatique ...............................................................................15

    8.1. Configuration manuelle et automatiqueQ :

    Quelle est la commande permettant de configurer ses interfaces rseau ?Q :

    Quelles sont les trois commandes permettant de s'attribuer une adresse IP dynamiquement ?Q :

    Comment installer une carte Wifi si celle-ci n'est pas supporte sous Linux ?

    Q :Quelle est la commande qui vous permet de lister votre matriel ?

    Q :Comment ajouter une route par dfaut sur notre systme ?

    Q :Quel fichier est utilis pour spcifier les paramtres DNS du rseau ?

    Q :Depuis votre machine virtuelle, interrogez le serveur DHCP de SUPINFO afin d'obtenir la connectivitrseau.

    Q :Tentez de joindre le site www.supinfo.com

    Q :Affichez votre table de routage et notez l'adresse de votre passerelle( route par dfaut )

    Q :Supprimez votre route par dfaut, puis tentez de joindre www.supinfo.com : Que se passe-t-il ? Pourquoi?

    Q :Avec votre voisin, mettez-en place une connexion directe par cble. Prenez les adresses IP 192.168.0.1 et192.168.0.2

    Q :Sur les deux machines, testez la connectivit.

    Q :Affichez tous deux vos tables de routage. Que remarquez-vous ?

    15

  • Chapitre 9. Sed et Awk

    Table des matires9.1. Sed ..............................................................................................................................169.2. Awk ............................................................................................................................16

    9.1. SedQ :

    Crer une expression rgulire qui trouve une ligne commenant par Linux et finissant par Rulez, avecnimporte quels caractres au milieu.

    Q :Crer une expression rgulire qui reconnat le motif dune adresse email.

    Q :Crer une expression rgulire qui reconnat un nom de fichier (nom.extension) en 8.3

    Q :Crer une expression rgulire qui reconnat un nom dutilisateur Linux valide

    Q :Avec l'aide de SED, afficher les 5 premires lignes, du fichier contenant les attributs des utilisateurs sys-tmes. Sauvegarder ses lignes dans un fichier de backup.

    Q :Vous voulez empcher l'utilisation d'un shell tous les utilisateurs systmes, pour cela vous allez utiliserune commande SED sur le fichier qui contient les attributs des utilisateurs systmes. Pour des raisons descurit n'ditez pas directement ce fichier mais plutt un fichier de backup..

    9.2. AwkQ :

    A l'aide de Awk, afficher la liste des utilisateurs prsents sur le systme ainsi que leurs rpertoires person-nels.

    Q :Formater le rsultat de la commande ls -l pour afficher le propritaire de chaque fichier list.

    Q :Afficher le point de montage et la taille de chaque disque actuellement mont. Vous devrez classer ces r-sultats par ordre dcroissant.

    Q :Afficher les 10 commandes que vous avez le plus utiliss sur votre machine:

    Q :En utilisant Awk, afficher les 20 premiers nombres de la suite de Fibonacci.

    Pour rappel, la suite de Fibonacci dfinit qu'un nombre est obtenu par la somme des deux nombres le pr-

    16

  • cdent.

    Exemple: 0, 1, 1, 2, 3, 5, 8

    Sed et Awk 17

  • Chapitre 10. Scripting BASH

    Table des matires10.1. Fichiers de configuration de Bash ....................................................................................18

    10.1.1. Rappels ............................................................................................................1810.1.2. Customisation de Bash ........................................................................................18

    10.2. Scripting Bash .............................................................................................................19

    10.1. Fichiers de configuration de Bash10.1.1. Rappels

    La configuration de bash se trouve diffrents emplacements.

    Au niveau du systme, deux fichiers de configuration :

    /etc/profile (charg juste aprs stre loggu) /etc/bash.bashrc (charg pour une session dj loggue. Exemple : lors d'une session graphique, les

    terminaux virtuels souvrent sans demander de sauthentifier car lutilisateur sest dj loggu).

    Ces fichiers de configuration ne sont modifiables que par le root et affectent tous les utilisateurs du systme.

    Il est possible d'appliquer une configuration par utilisateur :

    ~/.bash_profile (charg juste aprs stre loggu) ~/.bashrc (charg pour une session dj loggue)

    Au dmarrage du shell, Bash va automatiquement charger la configuration systme puis ensuite la configurationpropre lutilisateur en cours. Le chargement de la configuration se fait par un source de chacun des fichiersde configuration.

    10.1.2. Customisation de Bash

    Q :Modifier la configuration de votre bash afin d'obtenir un message de bienvenue tel que le suivant lors del'ouverture d'un terminal :

    Bienvenue tourne depuis

  • AstuceLe type de systme d'exploitation est donn par la commande uname -o. Le temps d'activitdu systme est donn par la commande uptime.

    Q :Crer diffrents aliases et vrifier qu'ils fonctionnent. Faire en sorte qu'ils soient chargs au dmarrage devotre bash.

    Q :Modifier le prompt (variable d'environnement PS1) afin d'obtenir un prompt qui ressemble celui-ci :[ Heure courante ] nom d'utilisateur @ nom de la machine / nom du ter-minal ( repertoire courant ) $

    Exemple :

    [13:23] supinfo@localhost/2 (~) $

    AstuceBash peut rcuprer la plupart de ces donnes pour vous. Aidez-vous de la section PROMP-TING du manuel de bash.

    10.2. Scripting BashCette premire partie permet de se familiariser avec les notions du scripting bash en dveloppant de petitsscripts pour bien comprendre les bases.

    NoteTout au long de ce TP ne ngligez pas les sources d'informations utiles que sont :

    man bash

    Google

    Vrifiez aussi attentivement ce que vous avez tap lorsque vous rencontrez des erreurs.

    Scripting BASH 19

  • Dans le dossier personnel de l'utilisateur, crer un dossier bin . Tous les scripts crs durant ce TP de-vront se trouver l'intrieur.

    Q :Crer un fichier contenant du texte et ajouter la ligne suivante #! /usr/bin/vim au dbut du fi-chier. Rendre ce fichier excutable et l'excuter. Que se passe t-il et pourquoi ? Comment se nomme laligne ajoute en tte de fichier ?

    Q :Crer un fichier qui copie le fichier /var/log/messages et qui vide cette copie.

    NoteL'accs au fichier /var/log/messages est rserv l'utilisateur root.

    Q :Crer un fichier qui ne garde que les 20 dernires lignes du fichier /var/log/messages.

    Q :Modifier le script prcdent pour que le nombre de lignes conserver puisse tre paramtrable.

    Q :Faire en sorte que bash puisse excuter les scripts se trouvant dans le rpertoire bin uniquement entapant leur nom. Exemple : au lieu de faire /chemin/vers/mon_script pouvoir faire mon_script .

    Q :Crer un script permettant d'effectuer une sauvegarde de votre rpertoire personnel sous la forme une ar-chive compresse dans le rpertoire /var/tmp. Le nom dpendra de sa date de cration : archive-DD-MM-YYYY.tar.gz. (DD : jour, MM : mois, YYYY : anne).

    Q :Modifier le script prcdent pour que le rpertoire sauvegarder ainsi que le rpertoire de destinationpuissent tre redfinis par des variables d'environnement.

    Q :Planifier l'excution du script prcdent pendant l'heure en cours et celle venir des intervalles de 10minutes. Vrifier l'excution du script planifi.

    Q :Crer un script qui permette l'utilisateur de choisir son diteur prfr entre vim, nano et ed. Excuter lescript et vrifier la modification du choix de l'diteur via crontab -e.

    Q :Crer un script d'administration permettant d'ajouter un utilisateur. Le script devra interroger l'utilisateurafin de connatre les informations suivantes :

    le nom de l'utilisateur crer

    rpertoire personnel (Par dfaut : /home/login) rpertoire modle (Par dfaut : /etc/skel) le shell (Par dfaut : Bash)

    Scripting BASH 20

  • la date d'expiration (Par dfaut : aucune) le password

    l'diteur prfr (il faudra donc modifier le .bashrc de l'utilisateur cr)

    Le script devra vrifier que l'utilisateur qui le lance est bien le root. Dans le cas contraire, il devra afficherune note expliquant qu'il faut le lancer en tant que root, puis se terminer.

    Le script devra grer les erreurs et avertir proprement l'utilisateur. (ex: utilisateur ou rpertoire personnelexistant dj, valeur invalide rentre par l'utilisateur, etc).

    Scripting BASH 21

  • Chapitre 11. Le serveur X

    Table des matires11.1. Avant de commencer .....................................................................................................2211.2. Configuration et premier lancement du serveur X ...............................................................2211.3. Lancement d'une session graphique ..................................................................................2311.4. Configuration d'un display manager .................................................................................2411.5. X11 Forwarding avec SSH .............................................................................................24

    11.1. Avant de commencerAvant de commencer, nous allons prparer le systme pour la bonne ralisation du TP.

    Q :Installez les outils X11 disponibles dans les paquets suivants twm, xclock et xeyes :

    Q :Si vous avez dmarr une session graphique, coupez-la l'aide du raccourci clavier suivant : Ctrl + Alt +Backspace.

    Q :Faites une copie du fichier de configuration du serveur X dans votre dossier personnel. Supprimez ensuitele fichier de configuration original.

    AstuceLes fichiers relatifs au serveur X se trouvent le plus souvent dans le rpertoire /etc/X11.

    11.2. Configuration et premier lancement du ser-veur X

    Q :Lancez la configuration automatique du serveur X (option -configure de X) afin de gnrer un fichierde configuration gnrique.

    Q :Lancez ensuite X avec le fichier de configuration auto-gnr.

    Q :Afin de configurer X de faon plus prcise, configurez le serveur grce la commande intractive xorg-config.

    22

  • AstuceAidez-vous de la commande lspci pour rpondre aux questions.

    Cette commande permet d'afficher la liste du matriel branch sur les ports PCI. C'est unecommande trs utile pour obtenir des informations prcises sur le matriel (marque, rvision,chipset, etc.).

    11.3. Lancement d'une session graphiqueQ :

    Lancez ensuite le serveur X11 avec la commande startx et vrifiez son bon fonctionnement. En cas deproblme, recopiez le fichier de configuration que vous avez sauvegard au dbut du TP.

    Q :En tant qu'utilisateur supinfo, ditez le fichier ~/.xinitrc (le crer s'il n'existe pas) pour pouvoir lan-cer le gestionnaire de fentres twm ainsi que les applications suivantes : xterm, xeyes et xclock.

    NoteLa commande startx se charge de lancer le serveur X puis d'excuter les commandes setrouvant dans les fichiers /etc/X11/xinit/xinitrc et ~/.xinitrc.

    Si le fichier ~/.xinitrc est trouv, son contenu est excut. Sinon, startx cherche le fi-chier /etc/X11/xinit/xinitrc et excute son contenu.

    Q :Lancez startx et vrifiez le rsultat.

    Q :Sans fermer votre session X, basculez sur un terminal virtuel libre, connectez-vous en tant que root et lan-cez une nouvelle session graphique avec startx, mais cette fois-ci sur le DISPLAY N1.

    Basculez ensuite entre la session graphique de l'utilisateur root et celle de l'utilisateur supinfo et vice-ver-sa.

    NotePar dfaut, startx lance le serveur X sur le DISPLAY N0. Pour prciser, un autre DIS-PLAY, il faut utiliser la commande de la faon suivante :

    startx -- :NumroDuDisplay

    Q :Quittez les 2 sessions graphiques puis effacez le ~/.xinitrc de l'utilisateur supinfo.

    Le serveur X 23

  • 11.4. Configuration d'un display managerDans cette partie, nous allons mettre en place un display manager.

    Le display manager est le programme qui affiche l'invitation de connexion de manire graphique. Ce pro-gramme est charg de lancer une session graphique (environnement + applications) aprs que l'utilisateur se soitauthentifi.

    Le display manager tourne en arrire plan : c'est un DAEMON. Pour le dmarrer ou l'arrter il faut donc passerle script d'init se trouvant dans /etc/init.d. Sous Mandriva ce script s'appelle dm.

    Nous allons tout d'abord installer XDM (X Display Manager), le display manager par dfaut de l'environnementX.org. C'est un display manager trs simple et peu gourmant en mmoire.

    Puis nous allons installer le display manager plus complet GDM (GNOME Display Manager).

    Q :Installez XDM via urpmi (paquet xdm).

    Q :Dsactivez le login automatique en ditant le fichier /etc/sysconfig/autologin et en mettant lavaleur AUTOLOGIN no.

    Q :Assurez-vous qu'aucune session graphique n'est lance puis lancez XDM via son script d'initialisation.Vrifiez que vous pouvez vous connecter votre session X.

    Q :Coupez XDM puis installez GDM (paquet gdm).

    AvertissementCouper un display manager provoque l'arrt de toutes les sessions graphiques lances parlui.

    Q :Dsactivez la connexion automatique de l'utilisateur supinfo en modifiant le fichier /etc/X11/gdm/gdm.conf et en supprimant la ligne AutomaticLogin=supinfo.

    Q :Relancez le script d'initialisation du display manager et constatez que GDM se lance maintenant la placede XDM.

    NoteSous Mandriva, c'est l'ordre des fichiers se trouvant dans /etc/dm.d qui dfinit quel est le dis-play manager qui sera lanc.

    La commande /etc/X11/lookupdm affiche le display manager qui sera choisi.

    11.5. X11 Forwarding avec SSH

    Le serveur X 24

  • Q :Lancez une session X en tant que supinfo puis faites en sorte que seul votre partenaire ait accs votresession X et vice-versa.

    AstuceLa commande xhost permet de dfinir les autorisations de connexions une session X11.

    Q :Connectez vous en liaison scurise (SSH) sur la machine de votre partenaire et lancez son navigateurWeb (installez-le au pralable si ncessaire). Faites-en sorte que la fenetre de l'application s'affiche chezvous, puis chez lui.

    AstuceLa variable d'environnement DISPLAY permet de dfinir la session X utiliser.

    Le serveur X 25

  • 1 ???

    Chapitre 12. Installation de programmes

    Table des matires12.1. Travaux Pratiques : Installation de programmes ..................................................................26

    12.1.1. Installation de paquetages avec les outils urpm* ......................................................2612.1.2. Installation depuis les sources ...............................................................................26

    12.1. Travaux Pratiques : Installation de pro-grammes12.1.1. Installation de paquetages avec les outils urpm*

    Q :Supprimer tous les mdias configurs

    Q :Ajouter les mdias correspondant la distribution tels que gnrs par le site http://easyurpmi.zarb.org

    Q :Mettre jour la liste des paquets disponibles.

    Scnario : L'utilisateur supinfo souhaite publier des documents sur Internet. Vous dcidez donc d'installer le ser-veur Web Apache et ce avec le minimum d'effort.

    Q :Installer les paquetages apache et apache-mod_userdir.

    Q :Lancer le serveur grce la commande /etc/init.d/httpd start.

    Q :En tant qu'utilisateur supinfo, crer un rpertoire ~/public_html. Ajouter un fichier index.htmlcontenant une phrase de bienvenue dans ce rpertoire.

    Q :Installer le navigateur web Firefox et accder la page web personnelle de l'utilisateur supinfo l'adressehttp://localhost/~supinfo.1

    12.1.2. Installation depuis les sourcesScnario : L'administrateur souhaite installer depuis les sources le client FTP ncftp. Les tapes seront effectuesautant que possibles avec l'utilisateur non priviligi supinfo.

    Q :Grce wget, tlcharger le fichier suivant :ftp://ftp.ncftp.com/ncftp/ncftp-3.2.1-src.tar.bz2.

    26

  • Q :Dcompresser l'archive et rentrer dans le rpertoire dcompress.

    Q :Configurer l'application pour qu'elle s'installe dans /usr puis lancer la compilation.

    Q :Passer en root et lancer l'installation de l'application.

    Q :En tant qu'utilisateur supinfo, lancer l'application.

    Installation de programmes 27

  • Chapitre 13. Machines virtuelles

    Table des matires13.1. Qemu .........................................................................................................................2813.2. Emulation l'aide de Wine .............................................................................................28

    13.1. QemuDans cet exercice, vous devrez installer Qemu et faire dmarrer un LiveCD Linux l'intrieur.

    Q :Installez Qemu l'aide du gestionnaire de paquetage de Mandriva.

    Vous pouvez tlcharger le LiveCD de Damn Small Linux cet endroit :http://ftp.belnet.be/packages/damnsmalllinux/current/dsl-4.0-syslinux.iso. Pour rappel Damn Small Linux estl'une des plus petites distributions Linux existante en terme de place et donc l'une des plus lgres au point devue consommation de ressources.

    Q :Tlchargez le CD de Damn Small Linux.

    Q :Lancez Damn Small Linux l'aide de Qemu en supportant le rseau, avec un clavier franais.

    13.2. Emulation l'aide de WineQ :

    Installez wine l'aide des utilitaires Mandriva.

    Q :Nous allons maintenant installer et excuter mIRC l'aide de Wine. mIRC est un client IRC (Internet Re-lay Chat) trs populaire sous Windows. Rcuprez les fichiers d'installation partir du site officiel :http://www.mirc.com.

    28

  • Chapitre 14. Le noyau

    Table des matires14.1. Manipulation des modules du noyau .................................................................................2914.2. Compilation du noyau ...................................................................................................3014.3. Configuration du bootloader ...........................................................................................31

    14.1. Manipulation des modules du noyau

    NoteN'oubliez pas que si vous utilisez une machine virtuelle pour faire ce TP, le matriel vu par le sys-tme mul peut tre compltement diffrent de votre configuration matrielle relle.

    La commande lspci vous sera donc utile pour savoir quel est le matriel mul.

    Q :Connectez-vous en tant que root et affichez la version du noyau actuellement charg en mmoire.

    Q :Affichez la liste des modules chargs.

    Q :Affichez les informations sur le module pcnet32.

    Q :Vrifiez que vous avez accs internet. Lancez le client DHCP si ncessaire.

    Q :Dchargez le module pcnet32.

    Q :Testez votre connectivit Internet. Quel est le problme ?

    Q :Rtablissez votre connectivit Internet.

    29

  • Q :Reconstruisez la liste des dpendances des modules.

    14.2. Compilation du noyauQ :

    Tlchargez la dernire version stable de la branche 2.6 du noyau sur http://kernel.org.

    Q :Dcompressez l'archive dans /usr/src.

    NotePar convention, on dcompresse les sources du noyau dans le rpertoire /usr/src.

    Dans ce rpertoire, un lien linux doit pointer sur le rpertoire des sources du noyau, desorte que le chemin /usr/src/linux soit valide et pointe toujours sur les sources ac-tuelles du noyau.

    Q :Lancez l'cran de configuration et vrifiez que le support est activ : pour la carte rseau, pour vos disquesIDE et SCSI et pour vos systmes de fichiers.

    AstuceN'oubliez pas que pour dmarrer, le noyau doit pouvoir monter la partition /. Cette partitiontant sur un disque dur SCSI et formate en ext3, le noyau disposer les fonctionnalits sui-vantes en dur :

    La gestion des priphriques SCSI en gnral

    La gestion du chipset SCSI utilis par votre machine

    La gestion des disques durs SCSI

    Le support du systme de fichiers ext3

    La gestion du chipset rseau n'est pas ncessaire au dmarrage, elle peut donc tre active enmodule.

    Q :Quittez la configuration et sauvegardez les changements.

    Le noyau 30

  • Q :Lancez la compilation du noyau, puis des modules.

    AvertissementSur une machine virtuelle, cette tape prend normment de temps (environ 1 heure).De plus, il vous faudra probablement plusieurs essais avant de parvenir un noyau capablede dmarrer sans erreur.

    Q :O se trouve l'image du noyau qui a t compil ? Copier cette image dans /boot sous le nom vmli-nuz-version_du_noyau.

    14.3. Configuration du bootloaderQ :

    Installer et configurer LILO pour dmarrer sur vos noyaux. R-installez LILO sur le MBR et redmarrezle systme pour observer les changements.

    NoteLILO est un bootloader pour plateforme de type Intel x86. Il offre beaucoup moins de fonc-tionnalits que GRUB car il rside entirement en MBR. Cela signifie qu'il n'est pas li auxpartitions du systme, mais aussi qu'il faut rinstaller LILO dans le MBR chaque modifica-tion de son fichier de configuration (/etc/lilo.conf).

    Q :Maintenant configurez GRUB pour charger vos noyaux. Crer le fichier configuration de GRUB (/boot/grub/menu.lst) si celui-ci n'existe pas.

    NoteLa principale diffrence entre Lilo et GRUB c'est que GRUB n'a pas besoin d'tre rinstallsur le MBR aprs chaque changement de configuration.

    L'inconvnient majeur c'est que GRUB est dpendant de la partition sur laquelle se trouveson fichier de configuration. En cas de suppression de cette partition, GRUB se trouve dansl'incapacit de fonctionner.

    Le noyau 31

  • Q :Installez GRUB sur le MBR et relancez le systme pour constater les changements.

    Le noyau 32

    Cursus Linux PS1Table des matiresChapitre1.IntroductionChapitre2.Organisation du FHS2.1.Rpertoires principaux

    Chapitre3.Commandes de base3.1.Rappels3.1.1.Linterprteur de commandes3.1.2.Passer dun utilisateur lautre rapidement

    3.2.Oprations sur les fichiers et rpertoires3.3.Pipes et redirections3.4.Les commandes find et locate3.5.Commandes supplmentaires3.6.L'archivage avec tar et gzip3.7.dition de texte

    Chapitre4.Gestion des utilisateurs et des groupes4.1.Les utilisateurs et groupes4.2.Gestion des identits4.3.Suppression d'utilisateur et de groupe4.4.Modle de rpertoire personnel

    Chapitre5.Gestion des permissions5.1.TP : gestion des permissions

    Chapitre6.Gestion des disques6.1.Gestion des disques6.2.Cas pratique

    Chapitre7.Gestion des processus7.1.Gestion des processus7.2.Planification de tches

    Chapitre8.Configuration rseau8.1.Configuration manuelle et automatique

    Chapitre9.Sed et Awk9.1.Sed9.2.Awk

    Chapitre10.Scripting BASH10.1.Fichiers de configuration de Bash10.1.1.Rappels10.1.2.Customisation de Bash

    10.2.Scripting Bash

    Chapitre11.Le serveur X11.1.Avant de commencer11.2.Configuration et premier lancement du serveur X11.3.Lancement d'une session graphique11.4.Configuration d'un display manager11.5.X11 Forwarding avec SSH

    Chapitre12.Installation de programmes12.1.Travaux Pratiques : Installation de programmes12.1.1.Installation de paquetages avec les outils urpm*12.1.2.Installation depuis les sources

    Chapitre13.Machines virtuelles13.1.Qemu13.2.Emulation l'aide de Wine

    Chapitre14.Le noyau14.1.Manipulation des modules du noyau14.2.Compilation du noyau14.3.Configuration du bootloader