linux lpi_102

Upload: chaqif08

Post on 09-Apr-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Linux LPI_102

    1/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 4

    Accs et utilisation

    Cet ouvrage est diffus exclusivement au format numrique, gratuitement. Il

    est tlchargeable au format PDF sur le site LPI Francophonie, www.lpi-francophonie.org.

    Le contrat Creative Commons BY-NC-SA sous lequel il est mis dispositionvous donne un certain nombre de droits, mais vous impose galement derespecter un certain nombre de conditions :

    Les droitsVous tes libre de reproduire, distribuer et communiquer cet ouvrage, telquel ou aprs modification. Louvrage peut vous tre fourni dans un formatnumrique modifiable sur simple demande, envoyer [email protected].

    Les conditions respecter! BY = Paternit (by) : les noms des auteurs et diteurs de louvrage

    devront toujours tre mentionns, en utilisant le modle donn (cf.page prcdente), ceci mme si vous apportez des modifications et,dans ce cas, dune manire qui ne risque pas de suggrer quilssoutiennent ou approuvent les modifications apportes ;

    ! NC = Pas dutilisation commerciale (Non Commercial) : toutediffusion payante, mme aprs modification, est interdite ;

    ! SA = Partage des conditions initiales lidentique (Share Alike) : sivous modifiez, transformez ou adaptez cet ouvrage, vous navez ledroit de distribuer la cration qui en rsulte quen donnant les mmesdroits, et sous les m mes conditions.

    chaque rutilisation ou distribution de cet ouvrage, ou de toute uvre quien serait drive, vous devez faire apparatre clairement au public lesconditions contractuelles de sa mise disposition. La meilleure manire deles indiquer est un lien vers cette page web :

    http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

    Chacune de ces conditions peut tre leve si vous obtenez lautorisation dutitulaire des droits sur cette uvre.

    Rien dans ce contrat ne diminue ni ne restreint le droit moral de lauteur.

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 5

    Table des matires

    Pour citer cet ouvrage........................................................................................3

    Accs et utilisation..............................................................................................4Les droits ..................... ....................... ...................... ....................... ...................... 4Les conditions respecter .................... ....................... ....................... .................. 4

    Table des matires ..............................................................................5

    Introduction ........................................................................................11

    Chapitre 1. Programmation bash ....................................................15A. Lenvironnement bash .................................................................................15

    a) Les variables en bash. ...................... ....................... ....................... ................ 15b) Les fichiers de configuration ..................... ....................... ...................... ......... 17c) La famille bashrc .................... ....................... ...................... ....................... ..... 17

    B. Les scripts....................................................................................................18a) Script shell ....................... ...................... ....................... ....................... ............ 18b) Passage de paramtres un script.............. ...................... ....................... ..... 18

    C. Les expressions logiques............................................................................19

    D. Les boucles..................................................................................................20a) Test if ..................... ....................... ...................... ....................... .................... 20b) Test case...................... ...................... ....................... ....................... ................ 21c) Boucle for.................... ...................... ....................... ....................... ................ 21d) Boucles while ..................... ....................... ....................... ...................... ......... 22

    E. Les paramtres dentre dun script ...........................................................22F. Calculs..........................................................................................................24

    G. Exercices .....................................................................................................25

    Chapitre 2. Gestion des donnes avec SQL .................................27

    A. Introduction ..................................................................................................27

  • 8/8/2019 Linux LPI_102

    2/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 6

    B. Manipulation des donnes ..........................................................................28a) Insertion des donnes.................. ...................... ....................... ...................... 28b) Mise jour des donnes.............. ...................... ....................... ...................... 29c) Suppression des donnes ...................... ....................... ...................... ........... 30

    C. Interrogation.................................................................................................30a) Les fonctions dagrgation... ....................... ...................... ....................... ....... 31b) Dfinir des critres de slection avec la clause WHERE .................... ............... 32

    D. Jointure.........................................................................................................33

    E. Exercices......................................................................................................34

    Chapitre 3. X Window........................................................................ 35

    A. Prsentation.................................................................................................35

    B. Configuration du serveur.............................................................................36

    C. Les applications clientes .............................................................................40

    D. Lancer le serveur X .....................................................................................41E. Le gestionnaire daffichage : D isplay Manager ..........................................41

    F. Les gestionnaires de fentres : Window Manager.....................................43

    G. Accessib ilit .............. ............... ............... .............. ............... ............... .........43

    a) Ajuster les options du clavier et de la souris........................ ....................... ... 44b) Clavier visuel .................... ....................... ...................... ....................... ........... 44c) Ajuster les options daffichage .................... ...................... ....................... ....... 45d) Autres outils daccessibilit ..................... ....................... ...................... ........... 45

    H. Exercices......................................................................................................45

    Chapitre 4. Impression......................................................................47

    A. Terminologies...............................................................................................47

    B. Outils dimpression ......................................................................................48a) lpr...................... ....................... ...................... ....................... ....................... ... 48b) lpq...................... ....................... ...................... ....................... ....................... ... 49c) lprm..................... ....................... ...................... ....................... ....................... ... 49

    C. Fichiers de configuration.............................................................................50

    D. Exercices......................................................................................................51

    Chapitre 5. Gestion des utilisateurs et des groupesdutilisateurs .......................................................................................53

    A. Les utilisateurs.............................................................................................53B. Les groupes .................................................................................................54

    C. Les fichiers de configuration.......................................................................56

    Table des matiires

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 7

    a) Gestion des utilisateurs.............. ...................... ....................... ....................... . 56b) Gestion des groupes.......... ....................... ....................... ...................... ......... 57c) Fichiers de configuration par dfaut .................... ....................... .................... 58

    D. Gestion des comptes et des options de cration par dfaut.....................58a) Comment bloquer un compte ....................... ...................... ....................... ..... 59b) Gestion des informations dexpiration du compte....... ....................... ............ 59c) Destruction dun compte ....................... ....................... ...................... ............. 60

    D. Exercices......................................................................................................61

    Chapitre 6. Administration du systme GNU/Linux.....................63

    A. Les traces du systme.................................................................................63a) Les journaux (logs)......................... ...................... ....................... .................... 63b) La configuration... ....................... ....................... ...................... ....................... . 64c) La rotation des logs .................... ....................... ...................... ....................... . 65

    B. Excution automatique de tches...............................................................66a) Cron ...................... ....................... ...................... ....................... ....................... . 66b) at...................... ....................... ....................... ...................... ....................... ..... 67

    C. Localisation et internationalisation..............................................................68a) Dfinition du fuseau horaire........... ...................... ....................... .................... 68b) Les variables de localisation.. ....................... ...................... ....................... ..... 69c) Modifier lencodage des fichiers textes ....................... ....................... ............ 70

    D. Exercices......................................................................................................71

    Chapitre 7. Les rseaux TCP/IP.......................................................73

    A. Adressage IP................................................................................................73a) Les adresses IP ..................... ....................... ...................... ....................... ..... 73b) Les rseaux IP et les masques rseau ; les adresses de rseau et dediffusion............. ...................... ....................... ....................... ...................... ......... 74c) Les classes IP .................... ....................... ....................... ...................... ......... 75d) Les sous-rseaux........ ...................... ....................... ....................... ................ 76

    B. La suite TCP/IP............................................................................................76

    C. Les ports ......................................................................................................77

    D. Exercices......................................................................................................79

    Chapitre 8. Configuration du rseau ..............................................81A. Les fichiers de configuration .......................................................................81B. Dmarrage et arrt du rseau.....................................................................84

    a) Dmarrage classique ....... ....................... ...................... ....................... ..... 84b) Dmarrage en utilisant les fichiers de configuration ...................... ................ 84c) Dmarrage de toutes les interfaces............................. ....................... ............ 84

  • 8/8/2019 Linux LPI_102

    3/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 8

    d) Renouvellement de bail DHCP... ....................... ....................... ...................... 85C. Routage........................................................................................................85D. Les outils associs au rseau.....................................................................86

    a) ping .................... ....................... ...................... ....................... ....................... ... 86b) netstat ....................... ...................... ....................... ....................... .................. 87c) arp...................... ....................... ...................... ....................... ....................... ... 88

    d) traceroute ..................... ....................... ....................... ...................... ............... 88

    E. Exercices......................................................................................................89

    Chapitre 9. Services systmes de base ......................................... 91

    A. Maintien de lhorloge du systme ...............................................................91a) Configuration manuelle des horloges matrielle et logicielle ..................... ... 91b) Le protocole NTP : Network Time Protocol...................... ....................... ....... 93c) Configuration de base du serveur NTP ..................... ...................... ............... 93

    B. Le courrier lectronique...............................................................................95a) MTA ou Agent de transport de courrier......... ....................... ....................... ... 95b) Gestion des courriers lectroniques... ....................... ...................... ............... 96

    C. Exercices......................................................................................................98

    Chapitre 10. La scurit.................................................................... 99

    A. Les fichiers de configuration .....................................................................100a) Configuration du BIOS .................... ....................... ....................... ................ 100b) Restrictions de LILO .................... ...................... ....................... .................... 100c) Permissions des fichiers et rpertoires ..................... ...................... ............. 100d) Analyser le systme......................................................................................100e) Des limites pour les utilisateurs....................................................................101

    B. Scurit rseau..........................................................................................101a) TCP wrappers ...................... ....................... ...................... ....................... ..... 102b) Filtrage de paquets ...................... ...................... ....................... .................... 103c) Le shell scuris (SSH).................................................................................105d) Authentification du serveur ..................... ....................... ...................... ......... 106e) Authentification de lutilisateur......................................................................106f) Configuration de OpenSSH ..................... ....................... ...................... ......... 107

    C. Exercices....................................................................................................108

    Annexe 1 : exemple dexamen de certification 102...................109

    Questions........................................................................................................109

    Rponses........................................................................................................118

    Table des figures et des tableaux .................................................120

    Table des matiires

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 9

    Index des mots cls ........................................................................123

    Les auteurs .......................................................................................127

  • 8/8/2019 Linux LPI_102

    4/62

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 11

    Introduction

    La certification de lInstitut professionnel de Linux Linux professionalInstitute (LPI Inc.) permet de valider les connaissances et lexprience desadministrateurs systmes et rseaux qui travaillent avec le systmedexploitation GNU/Linux. Le niveau 1 Junior Level Linux Professional abrg en LPIC-1 ,concerne linstallation dune machine, sa connexion un rseau ainsi que les tches de maintenance simple.

    Cet ouvrage permet de prparer lexamen 102, qui constitue le secondexamen passer pour obtenir la LPIC-1.

    Il est publi par lAgence universitaire de la Francophonie (AUF) dans lecadre du LPI Francophonie. Il a reu le label Support de formation agrInstitut professionnel de Linux (LATM, LPI Approved Training Material).

    Dans son dition 2010 1re dition en 2007 il p rend en compte lesobjectifs dtaills de lexamen 102 mis jour en avril 2009 :

    ! version originale sur le site du LPI Exam 102 : Detailed Objectiveswww.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_102_detailed_objectives

    ! traduction en franais sur le site du LPI Francophonie : www.lpi-francophonie.org/spip.php?rubrique19

    Chaque chapitre traite dun sujet du programme de certification. En annexe,un exemple dexamen permet de vrifier ses connaissances et de sefamiliariser avec le style des questions poses lexamen.

    Pourquoi une certification Linux ?

    Les objectifs de la certification cre par le LPI Inc. sont multiples. En voiciquelques uns :

    ! pouvoir rpondre aux dtracteurs des logiciels libres en dmontrant quela communaut du logiciel libre est capable de sorganiser ;

    ! donner aux employeurs un outil permettant de juger les connaissanceset lexprience dune personne ;

  • 8/8/2019 Linux LPI_102

    5/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 12

    ! fournir aux centres de formations une structure commune pourlenseignement de ladministration systme/rseau base sur lutilisationde GNU/Linux.

    Par la cration dune certification, lide est galement de participer lapromotion de lutilisation des logiciels libres et son dveloppement, enparticulier du systme dexploitation GNU/Linux dans le domaine de

    ladministration systme/rseau .Une certification indpendante fonctionnant sur le modle du logiciellibre.

    La certification LPI valide les connaissances et lexprience acquises par lesadministrateurs utilisant les logiciels libres associs au systme GNU/Linux.

    Elle est indpendante des diffrentes distributions GNU/Linux, mme si denombreux acteurs du logiciel libre sont partenaires de linitiative.

    La communaut du logiciel libre est associe au programme de lacertification. Son volution, sa ractivit et son indpendance sont ainsigaranties.

    Le LPI Inc., un organisme neutre fond par la communaut du logiciellibre.

    Le LPI Inc. est une association but non lucratif base au Canada. Il estsoutenu par une large communaut de clients dentreprises, degouvernements, de centres dexamen, dditeurs de livres, de fournisseursde supports pdagogiques et dtablissements ducatifs et de formationdans le monde.

    Le LPI Inc. ne prpare pas la certification, il na pas vocation tre uncentre de formation ni vendre des supports de formation. Il dlivre toutefoisdes agrments de qualit pour les centres de fo rmation et pour les contenuspdagogiques qui prparent ses certifications. Son action resteprioritairement concentre sur la cration et la gestion des certifications. Lescertifications reprsentent son seul capital .

    Le LPI Inc. prsente les premires certifications dans les technologies delinformation ayant obtenu une accrditation professionnelle. Il favorise ainsiladoption et le dveloppement de normes ouvertes en association avec lesacteurs spcialiss du domaine. Il participe au dveloppement doutils sebasant sur des logiciels libres pour faire progresser les procdures dedveloppement des examens.

    Le LPI Francophonie.

    LAgence universitaire de la Francophonie (AUF) et le LPI Inc. ont cr leLPI Francophonie en 2003.

    Introduction

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 13

    Ce partenariat a permis dorganiser des sessions de prparation lacertification LPI via les Centres Linux et logiciels libres pour ledveloppement (C3LD). Un des objectifs est de promouvoir lusage deslogiciels libres et la certification des comptences humaines.

  • 8/8/2019 Linux LPI_102

    6/62

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 15

    Chapitre 1. Programmationbash

    Objectifs " Connatre Bash." Connatre les bases de la programmation du shell."Matriser le principe des scripts shell pourcomprendre les scripts systme." Savoir programmer des expressions logiques etarithmtiques ainsi que des boucles.

    Points importants Automatiser les tches administratives avec des scriptsbash est indispensable et trs efficace.Une bonne utilisation de Linux est indissociable desscripts

    Mots cls $*, $#, $0, $1, $2, $!, $$, $?, ~/.profile, ~/.bashrc,~/.bash_logout, ~/.inputrc, /bin/bash, /etc/bash_logout,/etc/bashrc, /etc/inputrc, /etc/profile, bash, case, do,done, else, env, esac, export, expr, fi, for, if, PATH,select, set, test, then, unset, while

    Bash est le shell de GNU/Linux, un shell tant linterface utilisateur dunsystme dexploitation. Il est bas sur le Bourne ShelldUnix, do son nom,qui est lacronyme de Bourne-again shell.

    A. Lenvironnement bash

    a) Les variables en bash

    Pour affecter un contenu une variable, on utilise la commande = de lamanire suivante :

    ma_variable='Ne pas oublier le chat'

  • 8/8/2019 Linux LPI_102

    7/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 16

    Attention ne pas mettre despace avant et aprs le signe = !!!

    Pour faire rfrence au contenu dune variable, on la prfixe par le signe $.

    echo $ma_variable

    Ne pas oublier le chat

    Pour effacer le contenu dune variable, on utilise la commande unset.

    unset ma_variable

    Le shell utilise des variables pour tenir compte des paramtres deconfiguration spcifiques des utilisateurs appels variablesdenvironnement.

    Les variables HOME, DISPLAY, PWD en font partie.

    echo $HOME

    /usr/home/nicolas

    Lors de lutilisation dun programme, le shell utilise la variabledenvironnement PATH pour retrouver le chemin daccs ce programme.On peut afficher le contenu de cette variable par la commande echo :

    echo $PATH

    /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games:/usr/X11R6/bin:/usr/home/nicolas:/:/usr/bsd:/usr/sbin:/usr/local/bin:/usr/bin/X11

    Pour quune variable soit visible de tous les shells (donc de toutes lescommandes lances depuis le shell courant), il faut lexporter par lacommande export.

    export MANPATH=/usr/share/docs

    Lors du dmarrage dune session shell, la plupart des variablesdenvironnement sont initialises et exportes partir des diffrents fichiers

    de configuration, tels que les fichiersbashrc etprofile.La commande env permet de dmarrer un shell avec des variablesdenvironnement dj positionnes des valeurs donnes. Ces variablesdenvironnement ont une dure de vie gale celle du shell dmarr.

    Chapitre 1. Programmation bash

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 17

    Par exemple, pour lancer la commande ma_commande en positionnant lavariable denvironnement ma_variable la valeur ma_valeur :

    env ma_variable=ma_valeur ma_commande

    La dure de vie et la visibilit de ma_variable sont limites la dure

    dexcution de ma_commande.

    b) Les fichiers de configuration

    Il y a plusieurs types de fichiers de configuration, ceux qui sont lus aumoment de la connexion (login) et ceux qui sont lus chaque lancementdun shell.

    Les fichiers lus au moment de la connexion au systme sont :

    ! /etc/profile, commun tous les utilisateurs (sil existe) ;

    ! ~/.bash_profile ou ventuellement ~/.bash_login ou ~/.profile/, spcifiques chaque utilisateur.

    Ils servent gnralement dcrire lenvironnement de lutilisateur.

    Les fichiers lus chaque lancement de shell sont :

    ! /etc/bashrc commun tous les utilisateurs (sil existe) ;

    ! ~/.bashrc spcifique chaque utilisateur.

    c) La famille bashrc

    Les fichiers de la famille bashrc sont lus chaque fois quun shell estlanc (e.g. commandes xtermou bash).

    Ils servent gnralement stocker les alias et les fonctions utilisscommunment.

    On peut dmarrer le shell bash avec diffrentes options lui indiquant lesfichiers de configuration lire au dmarrage :

    ! bash login : force la lecture des fichiers de connexion famille profile ;

    ! bash norc : pas de lecture des fichiers bashrc ;

    ! bash noprofile : pas de lecture des fichiers profile .Attention, toutes les nouvelles sessions de bash, puisquelles sont desprocessus fils, hritent des variables dfinies dans les fichiers profile lorsde la connexion.

    Le fichier /etc/bash_logout, sil est prsent, est excut la fin de la sessionbash de tous les utilisateurs.

  • 8/8/2019 Linux LPI_102

    8/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 18

    Le fichier ~/.bash_logout, sil est prsent, est excut la fin de la sessionbash spcifique un utilisateur.

    Le fichier inputrc permet de reconfigurer le clavier pour ajuster lefonctionnement des touches comme par exemple la touche deffacementarrire. Le fichier gnral est dans /etc/inputrc, les fichiers personnels dans~/.inputrc.

    B. Les scripts

    a) Script shell

    Un script shell est une liste dinstructions contenues dans un fichier.

    #!/bin/bash

    # Un petit script mon_script

    echo 'Ne pas oublier le chat'

    Pour pouvoir excuter ces instructions, deux conditions doivent treremplies :

    ! la premire ligne doit contenir#!/bin/bash (pour un shell script utilisant

    bash) ;! le fichier doit tre excutable (e.g. en utilisant la commande chmod +x) et

    lisible (e.g. avec les permissions 755)

    chmod +x mon_script

    ./mon_script

    Si toutes ces conditions ne sont pas remplies, il est toujours possible deforcer lexcution du script avec la commande bash.

    bash mon_script

    b) Passage de paramtres un script

    Les variables passes au script sur la ligne de commande sont accessiblesdans le script par les variables rserves $1 pour le premier argument, $2pour le deuxime et ainsi de suite.

    noter quil existe un oprateur shift qui dcale ces paramtres : la valeurcontenue dans $2 passe dans $1, celle contenue dans $3 passe dans $2 etainsi de suite. Cela permet essentiellement dutiliser plus de 9 paramtresen entre.

    Chapitre 1. Programmation bash

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 19

    Dautres variables rserves sont accessibles lintrieur dun script :

    ! $0 : nom du script ;

    ! $* : liste des paramtres ;

    ! $# : nombre de paramtres ;

    ! $$ : numro du processus en cours dexcution ;

    ! $? : valeur de retour de la dernire commande.

    #!/bin/bash

    # un autre script

    echo "mon script est $0"

    echo "il y a eu $# paramtres en entre"

    echo "le premier paramtre est $1"

    C. Les expressions logiques

    Les expressions logiques sont values laide de la fonction test, qui peutgalement scrire [ ].

    Le rsultat de lvaluation est stock dans la variable $? qui contient :

    ! 0 si le rsultat est vrai ;

    ! une valeur diffrente de 0 si le rsultat est faux.

    Pour vrifier si le fichier/bin/bash existe :

    test -f /bin/bash

    ou

    [ -f /bin/bash ]

    Pour vrifier si le fichier~/bin/mon_script est excutable :

    test -x ~/bin/mon_script

    ou

    [ -x /bin/mon_script ]

    Les expressions logiques peuvent tre combines par les oprateurslogiques && (ET/AND) et ||(OU/OR). Il est galement possible dutiliser lesconnecteurs -a (ET/AND) et -o(OU/OR).

  • 8/8/2019 Linux LPI_102

    9/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 20

    Pour vrifier si les fichiers /etc/profile et /etc/bashrc existent :

    test -f /etc/profile -a test -f /etc/bashrc

    ou

    test -f /etc/profile && test -f /etc/bashrc

    ou

    [ -f /etc/profile -a -f /etc/bashrc ]

    Quelques options de la commande test :

    ! -f : vrifie si le fichier est un fichier standard ;

    ! -d : vrifie si le fichier est un rpertoire ;

    ! -b : vrifie si le fichier est de type bloc ;

    ! -e : vrifie si le fichier existe indpendamment de son type ;

    ! -r : vrifie si le fichier est lisible ;

    ! -w : vrifie si le fichier est inscriptible ;

    ! -x : vrifie si le fichier est excutable.Dautres options seront donnes pour le traitement spcifique des nombres.

    D. Les boucles

    a) Test if

    Cette boucle sert pour les tests et branchements.

    Syntaxe (la partie else... est optionnelle) :if then

    ...

    else

    ...

    fi

    Chapitre 1. Programmation bash

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 21

    Pour tester lexistence du fichier monfichier.txt :

    #!/bin/sh

    if test -f monfichier.txt then

    echo " le fichier existe "

    fi

    b) Test case

    Ce test permet de spcifier les commandes excuter pour chacune desvaleurs prises par la variable passe en argument.

    Syntaxe :case in

    valeur1) commande1 ;;

    valeur2) commande2 ;;

    valeur3) commande3 ;;

    ...

    esac

    Pour tester la valeur du premier paramtre :

    #!/bin/sh

    case $1 in

    1) echo " un ";;

    2) echo " deux ";;

    3) echo " trois ";;

    esac

    c) Boucle for

    Cette boucle sert pour rpter les traitements un nombre de fois connu.

    Syntaxe :for in do

    commande1

    commande2

    commande3

    ...done

  • 8/8/2019 Linux LPI_102

    10/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 22

    Pour afficher les jours de la semaine :

    for jour in lundi mardi mercredi jeudi vendredi samedi dimanchedo

    echo $jour

    done

    d) Boucles while

    Cette boucle sert pour rpter les traitements un nombre de fois inconnu apriori. Le test de continuit se fait au dbut de la boucle. La boucle continuetant que la condition est vraie.

    Syntaxe :while do

    ...

    done

    Pour faire le test de lecture dune valeur jusqu ce que lutilisateur entre lavaleur 1 :

    #!/bin/shi=0

    while [ $i -ne "1" ] do

    read i

    done

    Il existe une autre boucle, qui utilise le mot cl until la place de while. Ellediffre dans le traitement de la condition : la boucle est excute jusqu ceque la condition soit vraie. Le test est donc effectu en fin de boucle et laboucle est toujours excute au moins une fois.

    E. Les paramtres dentre dun script

    La lecture dune valeur peut se faire par le passage de paramtres sur la

    ligne de commande (cf. prcdemment lutilisation des variables $1, $2, etc.)ou en lisant une entre au clavier depuis le script avec la commande read.

    Pour lire le nom dune personne dans la variable nom et afficher soncontenu :

    #!/bin/sh

    Chapitre 1. Programmation bash

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 23

    echo 'Entrez votre nom'

    read nom

    echo '' Vous vous appelez $nom ''

    Lentre au clavier lue avec la commande readpeut ensuite tre traite avecla commandecase vue prcdemment.

    #!/bin/sh

    echo ''entrez votre choix''

    read choix

    case $choix in

    1) echo " menu un ";;

    2) echo " menu deux ";;

    3) echo " menu trois ";

    esac

    La commande select est utilise pour demander un utilisateur de choisirune valeur et une seule dans une liste de valeurs pr-dfinies. Linvite afficher est indiquer dans la variable pr-dfinie PS3. La commande selecta deux arguments : la liste des valeurs proposes, et une variable danslaquelle sera stocke la valeur choisie. Un numro squentiel est

    automatiquement attribu chaque valeur propose. Le numro de la valeurchoisie sera stock dans la variable prdfinie REPLY.

    Syntaxe :select in

    On peut sortir de la boucle avec la commande break.

    Exemple utilisant les commandes selectet break :

    #/bin/bash

    PS3="Entrez le numro de votre commande -> "

    echo "Que dsirez-vous boire ?"

    select biere in "Rien, merci" "Skoll" "THB" "Dodo"

    do

    echo "Vous avez fait le choix numro $REPLY..."

    if [ "$REPLY" -eq 1 ] then

    echo "Au revoir!"break

    else

    echo "Votre $biere est servie."

    fi

    echo

    done

  • 8/8/2019 Linux LPI_102

    11/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 24

    F. Calculs

    Il est possible de comparer des nombres en utilisant la commande test,vueprcdemment, avec les options suivantes :

    ! -ltpour infrieur () ;! -lepour infrieur ou gal (=) ;

    ! -eqpour gal (=) ;

    ! -nepour diffrent de (!=).

    Pour tester le nombre de paramtres en entre :

    #!/bin/bash

    if [ $# -eq 0 ] then

    echo " Vous n'avez entr aucun paramtre"

    fi

    La commande expr permet deffectuer les quatre oprations arithmtiques

    de base, avec les oprateurs suivants :! + pour laddition ;

    ! - pour la soustraction ;

    ! \* pour la multiplication ;

    ! / pour la division.

    Par exemple, la commande expr 1 + 2 renvoie 3 .

    Pour afficher une table de multiplication :

    #!/bin/bash

    for i in 1 2 3 4 5 6 7 8 9 do

    expr $i \* $1

    done

    Pour compter jusqu 100 :#!/bin/bash

    i=0

    while [ $i -ne 100 ] do

    i= expr $i + 1

    echo $i

    Chapitre 1. Programmation bash

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 25

    done

    On peut galement crire expr sous la forme $(())

    #!/bin/bash

    i=0

    while [ $i -ne 100 ] do

    #i= expr $i + 1

    i=$(($i+1))

    echo $i

    done

    G. Exercices

    1. Dans le rpertoire personnel de lutilisateur, parmi ces couples defichiers, lesquels sont utiliss pour configurer lenvironnementbash ?

    ! bash et .bashrc

    !

    bashrc et bash_conf! bashrc et bashprofile

    ! bashrc et .bash_profile

    ! bash.conf et .bash_profile

    2. Quel fichier doit modifier lutilisateur dans son rpertoirepersonnel pour configurer la variable denvironnement PATH ?Donnez seulement le nom du fichier, sans le chemin daccs.

  • 8/8/2019 Linux LPI_102

    12/62

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 27

    Chapitre 2. Gestion desdonnes avec SQL

    Objectifs " Savoir interroger une base de donnes et manipulerles donnes en utilisant le langage SQL." Savoir crire des requtes de jointure sur plusieurstables et utiliser les sous-requtes.

    Points importants SQL (Structured Query Language) est un langage degestion de bases de donnes relationnelles. Il a tconu par IBM dans les annes 70. Il est devenu le

    langage standard des systmes de gestion de bases dedonnes relationnelles.

    Mots cls delete, from, group by, insert, join, order by, select,update, where

    A. Introduction

    Le langage SQL est la fois :

    ! un langage de manipulation de donnes (LMD) qui permet dinsrer,modifier ou supprimer des donnes ;

    ! un langage dinterrogation de donnes ;

    ! un langage de dfinition de donnes (LDD) qui permet de crer,modifier et supprimer des tables dans une base de donnes

    relationnelle ;! un langage de contrle de laccs aux donnes (LCD) qui permet de

    dfinir des rgles daccs aux donnes par les utilisateurs.

    Dans ce chapitre, laccent est mis sur les requtes SQL permettant demanipuler et dinterroger des bases de donnes. On utilise pour les

  • 8/8/2019 Linux LPI_102

    13/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 28

    exemples une base de donnes simple nomme Bibliothque etconstitue de deux tables, Livre et Editeur .

    Voici leur description, affiche grce la commande describe :

    mysql> describe Livre;

    +-------------+--------------+------+-----+---------+

    | Field | Type | Null | Key | Default |+-------------+--------------+------+-----+---------+

    | ISBN | varchar(50) | NO | PR | NULL |

    | Titre | varchar(100) | NO | | NULL |

    | Prix | float | YES | | NULL |

    | Id_Editeur | int(11) | NO | MUL | NULL |

    +-------------+--------------+------+-----+---------+

    mysql> describe Editeur;

    +-------------+--------------+------+-----+---------+

    | Field | Type | Null | Key | Default |

    +-------------+---------------+------+-----+--------+

    | Id_Editeur | int(11) | NO | PRI | NULL |

    | Nom | varchar(100) | NO | | NULL |

    | Telephone | varchar(30) | YES | | NULL |

    +-------------+--------------+------+-----+---------+

    B. Manipulation des donnes

    a) Insertion des donnes

    Lordre INSERTpermet dajouter une ou plusieurs lignes une table.

    Syntaxe :INSERT INTO NomTable[(Colonne1,Colonne2,Colonne3,...)]VALUES (Valeur1,Valeur2,Valeur3,...),(Valeur1,Valeur2,Valeur3,...), ... ;

    Lorsque lajout de lignes concerne toutes les colonnes de la table,lnumration des colonnes est facultative.

    Pour ajouter lditeur VUIBERT dans la table Editeur :

    INSERT INTO Editeur

    (Id_Editeur,Nom)

    VALUES (6,'VUIBERT');

    Chapitre 2. Gestion des donnes avec SQL

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 29

    Pour ajouter plusieurs lignes dans les tables Editeur puis Livre :

    INSERT INTO Editeur

    VALUES (1,'PEARSON EDUCATION','6666-333'),

    (2,'CAMPUS-DUNOD','999-666'),

    (3,'O\'REILLEY','6666-3333'),

    (4,'EYROLLES','5555-999'),

    (5,'DUNOD','3333-999');

    INSERT INTO Livre

    VALUES ('9782744071768','ARCHITECTURE DE L\'ORDINATEUR',50.6,1),

    ('9782100518067','TECHNOLOGIE DES ORDINATEURS ET DESRESEAUX',100.9,2),

    ('9782841772513','MAC OS X',70.9,3),

    ('9782212122732','SHELLS LINUX ET UNIX',60.3,4),

    ('9780596005283','LPI Linux certification in aNutshell',100.3,3),

    ('9782744071782','ALGORITHMIQUE EN JAVA 5',90.3,1),

    ('9782100518319','EJB 3 - DES CONCEPTS: L\'ECRITURE DUCODE',150.3,5)

    ;

    b) Mise jour des donnes

    Lordre UPDATE permet de modifier des lignes dans une table, la clause SETprcise la modification effectuer. Il sagit dune affectation dune valeur une colonne grce loprateur =, suivi d'une expression algbrique, duneconstante ou du rsultat provenant dun ordre SELECT.

    Les lignes sur lesquelles la mise jour a lieu sont dfinies grce la clauseWHERE.

    Syntaxe :UPDATE NomTable

    SET NomColonne = Valeur_Ou_Expression

    [WHERE qualification] ;

    Pour doubler les prix des livres de lditeur O'REILLY, dont lidentifiant est

    3 :UPDATE Livre SET prix=prix*2

    WHERE Id_Editeur=3;

  • 8/8/2019 Linux LPI_102

    14/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 30

    c) Suppression des donnes

    Lordre DELETEpermet de supprimer des donnes dans une table. La clauseFROMprcise la table traiter et la clause WHERE les lignes supprimer.

    Syntaxe :DELETE

    FROM NomTable[WHERE qualification];

    Pour supprimer toutes les lignes de la table Livre :

    DELETE FROM Livre;

    C. Interrogation

    Lordre SELECTpermet dextraire des donnes dune base.

    Syntaxe :SELECT [DISTINCT] coli, colj, ...

    FROM table1, table2, ...

    [WHERE critres de slection]

    [GROUP BY coli, colj, ... HAVING prdicat][ORDER BY coli [DESC], colj[DESC], ...];

    Dans une premire tape, on ne conserve que les lignes qui rpondent auxcritres de slection.

    Puis on ne conserve dans le rsultat obtenu que les colonnes dont la listeest donne parcoli, colj, ... Pour slectionner lensemble des colonnesdune table il suffit de remplacer la liste de ces colonnes par*.

    Loption DISTINCTest utilise afin de ne conserver que des lignes distinctes.

    La clause GROUP BY exp1, exp2, ... groupe en une seule ligne toutes leslignes pour lesquelles exp1, exp2,... ont la mme valeur (voir dtails plusloin).

    On peut aussi ordonner les lignes en les triant en fonction de la valeur dune

    colonne : ORDER BY coli. Par dfaut, le tri est ascendant. Loption DESC lerend descendant. Il est aussi possible dappliquer un deuxime critre de tricolj, puis un troisime etc.

    Pour afficher toutes les colonnes de la table Editeur :

    SELECT * FROM Editeur;

    Chapitre 2. Gestion des donnes avec SQL

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 31

    a) Les fonctions dagrgation

    Avec SELECT et HAVING on peut utiliser les fonctions dagrgation quipermettent de faire des statistiques sur les colonnes (tableau 1).

    Tableau 1. Fonctions dagrgation

    Fonction DescriptionAVG moyenne

    SUM somme

    MIN plus petite des valeurs

    MAX plus grande des valeurs

    VARIANCE variance

    STDDEV cart type

    COUNT(*) nombre de lignes

    COUNT(col) nombre de valeurs non nulles de la colonne

    Pour dterminer le nombre de lignes dans la table Livre :

    SELECT COUNT(*) FROM Livre;

    Pour dterminer le prix du livre le plus cher :

    SELECT MAX(Prix) FROM Livre;

    Pour afficher le nombre de livres par maison ddition :

    SELECT Livre.Id_Editeur,nom AS 'Maison d\'dition', COUNT(*)FROM Livre, EditeurWHERE Livre.id_Editeur=Editeur.Id_EditeurGROUP BY Id_Editeur;+------------+-------------------+----------+| Id_Editeur | Maison d'dition | COUNT(*) |+------------+-------------------+----------+

    | 1 | PEARSON EDUCATION | 2 || 2 | CAMPUS-DUNOD | 1 || 3 | O'REILLEY | 3 || 4 | EYROLLES | 1 || 5 | DUNOD | 1 |+------------+-------------------+----------+

  • 8/8/2019 Linux LPI_102

    15/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 32

    Dans l'exemple prcdent on a utilis loprateurAS pour donner un alias la colonne nom.

    En utilisant la clause HAVING, on peut appliquer une restriction sur lesgroupes crs grce la clause GROUP BY.

    Pour identifier les maisons ddition pour lesquelles la bibliothque dtientplus de trois livres :

    SELECT Livre.Id_Editeur, nom AS 'Maison d\'dition', COUNT(*)

    FROM Livre, Editeur

    WHERE Livre.id_Editeur=Editeur.Id_Editeur

    GROUP BY Id_Editeur HAVING COUNT(*) >= 3;

    b) Dfinir des critres de slection avec la clause WHERE

    La clause WHEREdfinit les critres de slection appliquer pour slectionnerun sous-ensemble de lignes.

    Elle est suivie dune expression logique (ayant la valeur vrai ou faux) quisera value pour chaque ligne.

    La clause WHEREest utilise avec les ordres SELECT, UPDATE et DELETE avec lamme syntaxe.

    Lexpression logique peut tre exprime par la comparaison de deuxexpressions ou plus au moyen dun oprateur logique. Les trois typesdexpressions savoir arithmtique, caractre ou date, peuvent trecompars au moyen des oprateurs dgalit ou dordre (=, !=, , =).

    Pour afficher par ordre de prix dcroissant les informations sur les livres dontle prix est suprieur 70 :

    SELECT * FROM Livre

    WHERE Prix >=70

    ORDER BY Prix DESC;

    LoprateurLIKE sert tester lgalit de deux chanes de caractres. Onpeut utiliser des caractres de remplacement :

    ! _ remplace exactement un seul caractre ;

    ! % remplace zro n caractres.

    Pour afficher les informations sur les livres dont le titre contient a endeuxime position :

    SELECT *

    FROM Livre

    Chapitre 2. Gestion des donnes avec SQL

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 33

    WHERE Titre LIKE "_A%";

    Pour vrifier quune valeur appartient un intervalle, on peut utiliserloprateurBETWEEN.

    Pour afficher les informations sur les livres dont le prix est compris entre 50et 100 :

    SELECT *

    FROM Livre

    WHERE Prix BETWEEN 50 AND 100;

    Pour vrifier si une donne appartient une liste de valeurs on peut utiliserloprateurIN.

    Pour vrifier si les livres Guide des shells Unix, Shells Linux et Unix etComprendre les shells Unixexistent dans la table Livres :

    SELECT *

    FROM Livre

    WHERE Titre IN ('Guide des SHELLS UNIX', 'SHELLS LINUX etUNIX','Comprendre les SHELLS Unix');

    Les oprateurs logiques AND, OR et NOT peuvent tre utiliss pour combinerplusieurs expressions logiques.

    LoprateurANDest prioritaire par rapport OR.

    Pour afficher les informations sur les livres dont le titre contient Unix et Linux :

    SELECT *

    FROM Livre

    WHERE Titre LIKE '%Linux%' AND Titre LIKE '%Unix%' ;

    D. Jointure

    Afin de regrouper plusieurs informations issues de plusieurs tables, on utiliseles jointures.

    Les tables impliques sont associes au moyen de cls trangres. Danslexemple de la base Bibliothque, la table Livre est associe la tableEditeur au moyen de lattribut Id_Editeur (cl trangre) qui se rfre la clprimaire de la table Editeur.

  • 8/8/2019 Linux LPI_102

    16/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 34

    Pour afficher les titres et les prix des livres (issus de la table Livres) et lesnoms des diteurs associs (issus de la table diteurs) :

    SELECT Titre, Prix, Nom AS Editeur

    FROM Livre

    JOIN Editeur ON

    Editeur.id_Editeur=Livre.Id_Editeur;

    E. Exercices

    3. Quel est leffet de la requte SQL suivante ?

    Update Livre Set Prix=100 Where Titre Like %Linux%

    ! Afficher la liste des livres dont le prix est 100 et le titre contient lemot Linux.

    ! Affecter la valeur 100 au champ Prix et la valeur %Linux% auchamp Titre des lignes de la table Livre.

    ! Affecter la valeur 100 au champ Prix des lignes dont le champ Titrecontient le mot Linux.

    ! Affecter la valeur 100 au champ Prix des lignes dont le champ Titrecontient le mot %Linux%.

    4. Comment supprimer une table appele livre partir dune basede donnes SQL ?

    ! rm livre

    ! delete table livre

    ! drop table livre

    ! delete livre

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 35

    Chapitre 3. X Window

    Objectifs " Comprendre les diffrents composants du systmedaffichage X Window sous Linux." Comprendre la logique du client-serveur utilise pourlaffichage, la notion de display manager et degestionnaire de fentres." Connatre les fichiers de configuration descomposants du systme X Window et tre capable deles modifier." Connatre des outils daccessibilit ddis auxpersonnes en situation de handicap.

    Points importants Le systme X Window est parfois dlicat configurer et utiliser. Il est utile de comprendre son fonctionnementet ses divers composants pour tre capable dersoudre les problmes. Mme si les versions voluent(X, XFree, Xorg) les bases restent les mmes.

    Mots cls /etc/X11/xorg.conf, assistance sonore, clavier dcran,DISPLAY, emacspeak, gdm (fichier de commande),Gestures, GOK, lecteur dcran, kdm (fichier decommande), logiciel Braille, logiciel Daltonisme, loupesdcran, Orca, simuler la souris avec les touches duclavier, X, xdpyinfo, xhost, xdm (fichier de commande),xwininfo.

    A. Prsentation

    Le systme X Window a t dvelopp au Massachusetts Institute ofTechnology(MIT) dans le cadre du projet Athena .

    Sous Linux, il existe une implmentation libre du systme X Window version11 release 6 (X11R6) pour les machines base de processeurs Intel (x86)appele Xfree86.

  • 8/8/2019 Linux LPI_102

    17/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 36

    Mais suite un dsaccord de licence de Xfree86, un nouveau projet baptisXorg a t dvelopp en 2004. Xorg est maintenant un projet part entirequi volue trs rapidement par rapport Xfree. Il a t intgr par dfaut laplace de Xfree dans la majorit des distributions actuelles.

    Comme le montre la figure 1, le systme est constitu dun serveur Xauquel se connectent des clients localement ou en rseau. Il peut sagir declients simples, comme xterm, ou plus labors, comme les WindowManager (WM), interfaces graphiques qui apportent les fonctionnalitsclassiques dune interface comme le dplacement de fentre, ou les XDisplay Manager (XDM), gestionnaires qui assurent lauthentification del'utilisateur et le choix de linterface graphique.

    Figure 1. Le modle client/serveur X

    Le serveur X gre le matriel daffichage, savoir lcran graphique, leclavier, la souris, la tablette graphique, etc. Il sexcute sur lordinateurauquel est connect ce matriel.

    B. Configuration du serveurLe fichier de configuration /etc/X11/xorg.conf est en gnral gnr par desutilitaires de configuration comme xorgconfigou Xorg -configure.

    Chapitre 3. X Window

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 37

    Lutilitaire xvidtunepermet dajuster de faon interactive les diffrents modesvidos et de gnrer un format de donnes utilisable dans le fichier/etc/X11/xorg.conf.

    Les distributions Linux proposent des utilitaires spcifiques :

    ! dpkg-reconfigure xserver-xorg (Debian) ;

    ! system-config-display(Fedora) ;

    ! sax2 (Suse).

    Le fichier/etc/X11/xorg.confest compos de plusieurs sections. Beaucoup desections sont optionnelles, cependant quelques unes sont indispensables aubon fonctionnement du systme.

    La figure 2illustre la hirarchie des sections du fichierxorg.conf.

    Figure 2. Relations entre les sections du fichierxorg.conf

    Lcran Screen est dfini par une carte graphique, Device, et un moniteur,Monitor. Dans certains cas, une section Monitor peut dpendre dune

    section Mode. Le clavier et la souris sont chacun dfinis par une sectionInputDevice. La combinaison de la section Screen et des InputDevice formeun ServerLayout.

    Sy ajoute la section Files qui indique les chemins et/ou le serveur despolices de caractres.

  • 8/8/2019 Linux LPI_102

    18/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 38

    Voici un exemple de quelques sections typiques dun fichierxorg.conf :

    ! les sections InputDevice permettent de dcrire tous les types depriphriques dentre. En pratique, il sagit souvent de claviers et desouris, mais il est galement possible de connecter des priphriquesplus exotiques tels que lesjoysticks et les tablettes de dessin :

    Section "InputDevice"

    Identifier "Keyboard1"Driver "keyboard"

    Option "XkbModel" "pc105"

    Option "XkbLayout" "fr"

    Option "XkbOptions" ""

    EndSection

    Section "InputDevice"

    Identifier "Mouse1"

    Driver "mouse"

    Option "Protocol" "ExplorerPS/2"

    Option "Device" "/dev/mouse"

    Option "ZAxisMapping" "6 7"

    EndSection

    ! la section Device permet de dcrire la carte vido et le module qui luiest associ :

    Section "Device"

    Identifier "device1"

    VendorName "S3 Incorporated"

    BoardName "S3 Savage4"

    Driver "savage"

    VideoRam 4096

    Option "DPMS"

    # Option "no_accel" # You may enable this if there aretimeouts when starting X

    EndSection

    ! la section Monitorpermet de dcrire les caractristiques du moniteur :

    Section "Monitor"

    Identifier "monitor1"

    VendorName "Generic"

    ModelName "1024x768 @ 70 Hz"

    HorizSync 31.5-57.0

    Chapitre 3. X Window

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 39

    VertRefresh 50-70

    EndSection

    ! la section Screen permet de dfinir les paramtres daffichage(rsolution, couleurs...) :

    Section "Screen"

    Identifier "screen1"Device "device1"

    Monitor "monitor1"

    DefaultColorDepth 24

    Subsection "Display"

    Depth 24

    Virtual 1024 768

    EndSubsection

    EndSection

    ! la section ServerLayout est la combinaison des sections Screen etInputDevice :

    Section "ServerLayout"

    Identifier "Default Layout"

    Screen "Screen1"InputDevice "Mouse1" "CorePointer"

    InputDevice "Keyboard1" "CoreKeyboard"

    EndSection

    ! la section Files contient les chemins vers les ressources utiliss par leserveur X. Cela peut correspondre aux rpertoires de polices decaractres, aux rpertoires dinstallation des modules du serveur X, ouencore aux chemins indiquant ladresse et le port de serveurs de policessur un rseau :

    Section "Files"

    RgbPath "/usr/X11R6/lib/X11/rgb"

    FontPath "/usr/X11R6/lib/X11/fonts/local"

    FontPath "/usr/X11R6/lib/X11/fonts/misc"

    FontPath "/usr/X11R6/lib/X11/fonts/75dpi"

    FontPath "/usr/X11R6/lib/X11/fonts/100dpi"ModulePath "/usr/X11R6/lib/modules"

    EndSection

  • 8/8/2019 Linux LPI_102

    19/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 40

    La commande xhost permet de spcifier la liste des machines ou desutilisateurs autoriss se connecter au serveur X :

    xhost + la_belle_machine.auf.org

    C. Les applications clientesLes applications clientes utilisent des fichiers de configuration spcifiquesnomms Xresources. Au lancement, le client vrifie quil existe un fichier.Xresource dans le rpertoire home de lutilisateur. Si ce nest pas le cas, ilutilise le fichier standard du systme /etc/X11/Xresources. Les fichiersXresources sont galement nomms Xdefaults ou .Xsession selon lesversions des systmes et serveurs X.

    En voici un extrait qui dcrit la manire dont vont safficher les clients xterm :

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    ! xterm (and friends)

    XTerm*highlightSelection: true

    ! Uncomment this to use color for the bold attribute

    XTerm*VT100*colorBDMode: on

    XTerm*VT100*colorBD: blue! Uncomment this to use color for underline attribute

    XTerm.VT100*colorULMode: on

    XTerm.VT100*underLine: off

    XTerm*VT100*colorUL: magenta

    ! Uncomment this to display the scrollbar

    XTerm*scrollBar: true

    La variable denvironnement DISPLAY permet de spcifier un client X lamachine serveur utiliser ainsi que, si plusieurs serveurs tournent sur lamachine, linstance du serveur utiliser :

    export DISPLAY:la_belle_machine.auf.org :0

    Le client doit avoir le droit de se connecter sur le serveur pour effectuer cette

    opration (cf. la commande xhostsvue prcdemment).

    Chapitre 3. X Window

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 41

    D. Lancer le serveur X

    Une session X peut tre lance de deux manires diffrentes :

    ! partir de la ligne de commande, avec le script startx. Par exemple :

    startx

    Ce script lance le script xinit, qui lancera le serveur X et le scriptxinitrc, qui lira le fichier Xresource, qui permettra le lancement delinterface (Window Manager) ;

    ! en utilisant un XDM qui est lanc automatiquement au niveaudexcution 5 (cf./etc/inittab, le fichier de configuration du processusinit, prsent dans le manuel de la mme collection consacr lexamen 101, chapitre 2 Le dmarrage de Linux).

    E. Le gestionnaire daffichage : DisplayManager

    Trois Display Managersont communment utiliss avec Linux :

    ! xdm, loriginal, configur dans /etc/X11/xdm ;! gdm, de Gnome, configur dans /etc/gdm ;

    ! kdm, de KDE, configur dans /etc/kde/kdm.

    Ils sont gnralement utiliss au niveau dexcution 5 (graphique) pourpermettre lutilisateur de se connecter et de choisir un Window Manager.

    Ils peuvent tre utiliss en rseau pour offrir une interface de connexiongraphique distance en utilisant le protocole XDMCP qui nest pas activpar dfaut pour des raisons de scurit.

    Les fichiers de configuration gnraux sont situs dans le rpertoire/etc/X11/xdm. Le fichier de configuration de base est xdm-config, il dfinit leschemins des autres fichiers de configuration de XDM.

    Le fichierXressources configure laspect graphique de lcran de connexion etle fichier Xsetup permet de personnaliser linterface XDM de login, par

    exemple en y ajoutant des applications graphiques.Quand lutilisateur dmarre sa session, le script Xsession sexcute afin deconfigurer et dmarrer lenvironnement graphique de lutilisateur. Ce scriptfait appel au script .xsession dans le rpertoire personnel de lutilisateur. Sice script existe, il permet de lancer le gestionnaire de fentres, des barres

  • 8/8/2019 Linux LPI_102

    20/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 42

    de tches, des applets et dautres programmes propres la session delutilisateur.

    Exemple de fichier/etc/X11/xdm/xdm-config :

    ! $XFree86: xc/programs/xdm/config/xdm-conf.cpp,v 1.1.1.2.4.21999/10/12 18:33:29 hohndel Exp $

    DisplayManager.servers: /etc/X11/xdm/Xservers

    DisplayManager.accessFile: /etc/X11/xdm/Xaccess

    ! All displays should use authorization, but we cannot be sure

    ! X terminals will be configured that way, so by default

    ! use authorization only for local displays :0, :1, etc.

    DisplayManager._0.authorize: true

    DisplayManager._1.authorize: true

    DisplayManager*resources:/etc/X11/xdm/XresourcesDisplayManager*session:/etc/X11/xdm/Xsession

    DisplayManager*authComplain: false

    ! SECURITY: do not listen for XDMCP or Chooser requests

    ! Comment out this line if you want to manage X terminals withxdm

    DisplayManager.requestPort: 0

    Le fichier /etc/X11/xdm/Xservers dtermine la liste des serveurs

    X gr par XDM :# $XConsortium: Xserv.ws.cpp,v 1.3 93/09/28 14:30:30 gildea Exp$

    # $XFree86: xc/programs/xdm/config/Xserv.ws.cpp,v 1.1.1.1.12.21998/10/04 15:23:14 hohndel Exp $

    # Xservers file, workstation prototype

    # This file should contain an entry to start the server on the

    # local display; if you have more than one display (not screen),

    # you can add entries to the list (one per line). If you also

    # have some X terminals connected which do not support XDMCP,

    # you can add them here as well. Each X terminal line should

    # look like:

    # XTerminalName:0 foreign

    :0 local /usr/X11R6/bin/X

    Le fichier /etc/X11/xdm/Xaccess gre laccs XDMCP, permettant auxmachines distantes de se connecter la machine locale via XDMCP, defaon obtenir une invite dauthentification. Voici un extrait de ce fichier :

    # La premire ligne pour les requtes directes

    *

    Chapitre 3. X Window

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 43

    # Les lignes suivantes pour les requtes indirectes

    * CHOOSER BROADCAST

    Le premier * signifie que nimporte quel hte peut demander une invitedauthentification XDM.

    La ligne CHOOSER spcifie les htes qui peuvent se connecter XDM

    en utilisant des requtes indirectes. Dans ce cas, nimporte quel hte peutdemander la machine une liste dhtes potentiels auxquels se connecter(la seconde ligne * ). Lutilisateur obtiendra alors, la place de linvitedauthentification, une application chooser, qui lui fournira une liste deshtes dtects sur le rseau et acceptant des connexions XDMCP.

    F. Les gestionnaires de fentres : WindowManager

    Il est pratiquement impossible dutiliser X sans un gestionnaire de fentres,qui offre des menus, des barres de titres pour les fentres et tout ce qui estncessaire pour disposer dune interface graphique agrable.

    La fentre racine (root) du gestionnaire couvre lcran complet dumoniteur et reprsente le bureau .

    part KDE et Gnome qui sont les plus courants, on peut citer lesgestionnaires WindowMaker, fvwm, icewm, twm, et beaucoup dautres !

    G. Accessibilit

    Linux offre un panel doutils daccessibilit destins aux personnes ensituation de handicap. Lobjectif est de garantir une indpendance la plusgrande possible de ces personnes.

    Les options daccessibilit peuvent tre actives travers certainsparamtres du serveur X. Les environnements Gnome et KDE proposentaussi des programmes daccessibilit, dans le menu Systme !Prfrences!Outils daccessibilit (figure 3).

  • 8/8/2019 Linux LPI_102

    21/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 44

    Figure 3. Outils daccessibilit sous Gnome

    a) Ajuster les options du clavier et de la souris

    Plusieurs options dutilisation du clavier et de la souris sont offertes :

    ! rgler la frquence de rptition des caractres, soit pour dsactiver larptition dun caractre lorsque la touche du clavier est enfonce, soitpour fixer un dlai trs long de rptition des caractres. Le rglage deces paramtres peut aider les personnes souffrant de troubles moteurs ;

    ! modifier le comportement de certaines touches telles que , et afin quelles restent actives mme aprs leur libration(touches rmanentes). Ceci peut tre utile pour les personnes quirencontrent des difficults pour appuyer simultanment sur plusieurstouches ;

    ! inverser la fonction des boutons droit et gauche de la souris ;

    ! modifier la taille du pointeur de la souris, pour lagrandir afin damliorersa visibilit ;

    ! contrler le pointeur de la souris avec des touches du clavier. Cettefonctionnalit est conue pour les personnes ayant des difficults utiliser la souris.

    b) Clavier visuel

    Le clavier visuel est utile pour les personnes ayant des difficults utiliserun clavier ordinaire, mais qui peuvent utiliser la souris.

    GOK (Gnome On-Screen Keyboard) est un clavier dcran puissant qui offre,en complment des fonctionnalits ordinaires dun clavier, des raccourcispour les menus et les barres doutils des programmes.

    Chapitre 3. X Window

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 45

    c) Ajuster les options daffichage

    Les utilisateurs malvoyants peuvent bnficier dajustements desparamtres daffichage, notamment des options de polices, de contraste etde grossissement dcran.

    Gnome offre la bote de dialogue Apparence (Systme ! Prfrences! Apparence) qui donne la possibilit de modifier la police (Time, Arial,

    Courier, etc), le style de la police (gras, italique, ) et sa taille.Sous KDE une bote de dialogue similaire est accessible partir dellment Apparence du panel Configuration du Systme .

    KDE et Gnome offrent aussi plusieurs thmes, certains thmes sontmeilleurs que dautres en terme de lisibilit. Par exemple certains sont trsfaibles en contraste, dautres sont riches en contraste.

    Une loupe dcran agrandit une partie de lcran, gnralement la zonesitue immdiatement autour de la souris. La loupe dcran Kmag estintgre KDE.

    d) Autres outils daccessibilit

    Des programmes supplmentaires sont offerts pour aider les personnesayant des besoins spciaux :

    ! Gnopernicus offre aux personnes non-voyantes la possibilit de lirelcran et denvoyer ces informations vers diffrents priphriques :Braille, sortie audio ;

    ! Orca est un autre lecteur dcran fournit par Gnome ;

    ! Emacspeak est un lecteur dcran pour lditeur emacs ;

    ! BRLTTY fournit un accs la console Linux/Unix pour une personneaveugle.

    H. Exercices

    1) quoi sert un fichier Xresources ?

    ! contrler lapparence des clients X.

    ! affecter des ressources pour le serveur X.! dfinir les droits daccs au serveur X en rseau.

  • 8/8/2019 Linux LPI_102

    22/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 46

    2) Lorsque vous utilisez xdm, lequel des fichiers suivants peut treutilis pour dmarrer un gestionnaire de fentres ?

    ! Xservers

    ! Xaccess

    ! xdm-config

    ! Xsession! Xsetup_0

    3) Quelle option faut-il utiliser afin dafficher distance uneapplication X Window ?

    ! -display

    ! -connect

    ! -remote

    ! -xhost

    4) Dans le fichier xorg.conf, une section InputDevice ne peut pasdcrire :

    !

    un clavier! une souris

    ! une tablette de dessin

    ! un moniteur

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 47

    Chapitre 4. Impression

    Objectifs " Comprendre les filtres et les queues dimpression." Savoir grer les queues dimpression." Connatre les outils dimpression." Connatre les fichiers de configuration CUPS.

    Points importants Sous Linux, les logiciels dimpression voluent. Dudmon LPD, hrit dUnix, en passant par sonamlioration avec LPRNG puis l'utilisation de CUPS, laphilosophie a profondment chang. Mais lacompatibilit des commandes de base est en gnralassure.

    Mots cls /usr/bin/lpr, /usr/bin/lprm, /usr/bin/lpq, ghostscript,fichiers de configuration et utilitaires du serveurCUPS

    A. Terminologies

    La plupart des serveurs dimpression sous Linux sont compatibles avec lesystme dimpression traditionnel BSD (Berkeley Software Distribution).

    On appelle travaux dimpression, ou jobs, lensemble des fichiers soumis limpression.

    Le serveur dimpression, ou spooler, est le programme responsable de larception, de la mise en queue dimpression et de lenvoi vers limprimante

    des travaux dimpression. Le spooleroffre aussi les moyens pour consulterou annuler les impressions en cours.

    Exemples de serveurs dimpression :

    ! LPR : Le systme dimpression historique du BSD ;

  • 8/8/2019 Linux LPI_102

    23/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 48

    ! LPRng est une version amliore du LPR, il fusionne les fonctionsdimpression du systme V avec celle du systme Berkeley ;

    ! CUPS (Common Unix Printing System) utilise le protocole IPP (InternetPrinting Protocol) pour la gestion des travaux et des queuesdimpression ;

    ! PDL (Page Description Langage) est le langage qui permet ladescription dune mise en page de faon indpendante du priphrique.Les langages PostScript et PCL sont deux exemples du langage PDL.

    Le filtre est un programme qui traite les jobs avant leur envoi verslimprimante. Le serveur dimpression envoie lesjobs vers le filtre, ce derniertransforme ces jobs en format PDL support par limprimante cible.

    Unix/Linux imprime directement les fichiers en format texte. Pour ceux quisont dans un format diffrent, on utilise des filtres qui les transforment auformat PostScript. Cela permet de les envoyer directement une imprimantePostScript.

    Comme toutes les imprimantes ne supportent pas le langage PostScript, onutilise une imprimante PostScript virtuelle, ghostscript, qui finalementtraduit le PostScript en langage PDL de limprimante.

    Exemples de programmes Ghostscript : Aladdin Ghostscript (versioncommerciale), GNU Ghostscript et ESP Ghostscript (CUPS).

    B. Outils dimpression

    Dans cette partie nous allons voir les commandes utilises pour imprimerdes fichiers et pour grer des queues dimpression.

    a) lpr

    La commande /usr/bin/lpr est utilise pour envoyer une demandedimpression une imprimante. Cest une version modernise de lacommande Unix lp (line print) utilise auparavant.

    Il faut bien comprendre que lon peut associer diffrentes queuesdimpression une mme imprimante.

    Supposons que lon veuille imprimer un fichier appel ma_lettre , voici

    deux manires de limprimer :! envoyer la demande limprimante par dfaut,

    lpr ma_lettre

    Chapitre 4. Impression

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 49

    ! envoyer la demande limprimante imp ,

    lpr -Pimp ma_lettre

    Voici quelques options de la commande lpr :

    ! -P : envoie la demande la queue ;

    !

    -# : imprime copies ;! -o : permet de passer une ou plusieurs options, comme le

    mode paysage etc.

    La commande mpage permet de crer un fichier PostScript, prt treimprim, partir de plusieurs fichiers en format texte ou PostScript. Elle offrela possibilit de rduire le texte pour mettre plusieurs pages par feuilleimprime.

    mpage -4 le_fichier.txt l_autre_fichier.ps

    b) lpq

    La commande /usr/bin/lpq permet dafficher le contenu des queuesdimpression.

    Pour afficher les demandes de la queue par dfaut :

    lpq

    Pour afficher les demandes de toutes les queues :

    lpq -a

    Pour afficher les demandes de la queue imp :

    lpq -Pimp

    c) lprm

    La commande /usr/bin/lprm permet de dtruire des demandes dans les

    queues dimpression.Les autorisations de destruction par utilisateur sont dcrites dans le fichier/etc/lpd.perms (cf. une description plus prcise plus loin).

    Pour dtruire la dernire demande dimpression :

    lprm

  • 8/8/2019 Linux LPI_102

    24/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 50

    Pour dtruire la dernire demande dimpression de lutilisateur mejdi :

    lprm mejdi

    Pour dtruire toutes les demandes :

    lprm -a

    ou

    lprm -

    On peut galement faire rfrence la demande par son numro que lonrcupre avec la commande lpqvue prcdemment.

    De mme que pour les commandes prcdentes, lprm supporte loption -P qui permet de faire rfrence une autre queue que la queue par dfaut.

    C. Fichiers de configuration

    Le fichier de configuration principal de CUPS est /etc/cups/cupsd.conf.

    Chaque ligne de ce fichier est soit une directive de configuration, soit uneligne vide, soit un commentaire.

    Les directives de configuration sont volontairement similaires cellesutilises par le serveur web Apache.

    Quelques directives intressantes utilises dans le fichiercupsd.conf :

    ! Browsing dfinit si la rcupration des informations des imprimantesdistantes doit tre active ;

    ! BrowseAddress dfinit une adresse o diffuser les informations sur lesimprimantes ;

    ! BrowseAllow accepte les paquets arrivant de machines nommes oudadresses IP ;

    ! BrowseDeny refuse les paquets de demande dinformations sur lesimprimantes arrivant de machines nommes ou dadresses IP ;

    ! BrowseInterval dfinit lintervalle maximum entre les demandesdinformation sur les imprimantes ;

    ! BrowseOrderdfinit le contrle daccs aux informations des imprimantes(allow,deny ou deny,allow) ;

    ! ServerNamedfinit le nom complet du serveur ;

    Chapitre 4. Impression

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 51

    ! Listendfinit le port IPP dcoute du serveur CUPS ;

    ! . dfinit les contrles daccs linterface web du serveur CUPS.

    Exemple de fichier/etc/cupsd.conf:

    # Autoriser le partage sur le rseau local

    listen 192.168.1.*:631Browsing On

    BrowseAddress 192.168.210.255

    BrowseDeny All

    BrowseAllow 192.168.210.*

    BrowseOrder deny,allow

    #Autoriser les stations du rseau local accder #notreserveur ServeurCUPS via ladresse

    #http://ServeurCUPS :631

    Order Allow, Deny

    Allow 192.168.210.*

    D. Exercices

    5. Quelle commande utilisez-vous pour suspendre ou mettre enattente une queue dimpression ?

    ! lpr

    ! lpq

    ! lpc

    ! lpd

    ! prm

    6. Que va faire la commande suivante : cat hosts | lpr -#2

    ! Imprimer le fichierhosts sur limprimante par dfaut deux fois.

    ! Classerhosts et imprimer le classement comme tche #2.

    ! Envoyer le fichier hosts limprimante et le mettre dans la queuenumro 2.

    ! Envoyer le fichierhosts sur la sortie standard puis envoyer la tcheen cours limprimante 2.

  • 8/8/2019 Linux LPI_102

    25/62

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 53

    Chapitre 5. Gestion desutilisateurs et des groupesdutilisateurs

    Objectifs " Savoir crer des utilisateurs." Savoir grer les groupes et la participation desutilisateurs dans diffrents groupes." Connatre les fichiers de configuration."Modifier les comptes des utilisateurs et lesinformations de configuration par dfaut.

    Points importants Le systme de gestion des utilisateurs sous Linux estsimple mais efficace. Cependant, il a quelqueslimitations.

    Mots cls /bin/false, /etc/default/useradd, /etc/group,/etc/gshadow, /etc/passwd, /etc/shadow, /etc/skel,groupadd, groupdel, groupe, groups, grpconv,grpunconv, id, newgrp, passwd, pwconv, pwunconv,useradd, userdel, usermod, utilisateur

    A. Les utilisateurs

    Pour la cration dun utilisateur, on utilise la commande /usr/sbin/useradd,ou son alias /usr/sbin/adduserqui est un lien symbolique vers la commande

    prcdente pour des raisons de compatibilit historique.Syntaxe :

    /usr/sbin/useradd [options] nom-utilisateur

    Quelques options utiles :

    ! -c : commentaire ;

  • 8/8/2019 Linux LPI_102

    26/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 54

    ! -g : groupe ;

    ! -s : shell.

    Pour ajouter un utilisateur mejdi dans le groupe chefs avec le shell tcsh :

    /usr/sbin/adduser -c 'Mejdi le chef' -g 'chefs' -s '/bin/tcsh'mejdi

    Les options par dfaut se trouvent dans le fichier /etc/default/useradd, ou biensont listes par loption -Dde la commande useradd.

    # useradd defaults file

    GROUP=100

    HOME=/home

    INACTIVE=-1

    EXPIRE=

    SHELL=/bin/bash

    SKEL=/etc/skel

    Chaque utilisateur possde un identifiant ou UID (user identifier), numrognr automatiquement et compris entre 500 et 60 000. Un autre intervallede valeurs peut si ncessaire tre impos. Il doit dans ce cas tre spcifidans le fichier/etc/login.defs.

    Pour activer le compte, ladministrateur doit dfinir un mot de passe pour lecompte par la commande /usr/bin/passwd :

    Syntaxe :/usr/bin/passwd nom-utilisateur

    Exemple :

    /usr/bin/passwd mejdi

    Cette commande permet galement lutilisateur de changer lui-mme sonmot de passe.

    B. Les groupesUn utilisateur appartient toujours au moins un groupe dit groupe primaire(primary group).

    Chapitre 5. Gestion des utilisateurs et des groupes dutilisateurs

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 55

    Si le groupe nest pas spcifi au moment de la cration du compte deuxstratgies gnrales sont employes pour assigner un groupe par dfaut :

    ! le groupe par dfaut est le mme pour tous. Il sappelle par exemple users ;

    ! la distribution RedHat a introduit la notion de groupe priv pa r utilisateurou UPG (User Private Group). Le nom du groupe est identique celuidu login.

    Selon la stratgie employe, le masque par dfaut (umask) de cration estinitialis 022 dans le premier cas (classique) et 002 dans le deuximecas (UPG).

    Si un utilisateur cre un fichier, celui-ci appartiendra par dfaut au groupeprimaire de lutilisateur.

    Un utilisateur peut appartenir dautres groupes, ce sont les groupessecondaires.

    Pour connatre la liste des groupes auxquels lutilisateur appartient, on utilisela commande id.

    Dans lexemple qui suit, lutilisateur moi appartient au groupe primaire normal et aux groupes secondaires compta et chefs .

    id

    uid=1421(moi) gid=1664(normal)groupes=1664(normal),2010(compta),2008(chefs)

    La commande newgrp permet de changer temporairement de groupeprimaire, condition que le nouveau groupe soit un groupe secondaire delutilisateur ou que lutilisateur en connaisse le mot de passe.

    newgrp chefs

    La commande iddonne alors :

    id

    uid=1421(moi) gid=2008(chefs)

    groupes=1664(normal),2010(compta),2008(chefs)

    La commange groups permet elle aussi dafficher les groupes auxquelsappartient un utilisateur.

    groups

    normal compta chefs

  • 8/8/2019 Linux LPI_102

    27/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 56

    Pour ajouter un groupe, on u tilise la commande groupadd :

    groupadd forcats

    Pour supprimer un groupe, on utilise la commande groupdel :

    groupdel forcats

    Ces commandes mettent jour le fichier/etc/group.

    Pour grer les utilisateurs dun groupe, on utilise la commande gpasswd :

    Les options sont les suivantes :

    ! -a : ajout dun utilisateur ;

    ! -d : retrait dun utilisateur ;

    ! -A : affectation dun administrateur au groupe.

    gpasswd -a nicolas forcats

    La commande tait prvue lorigine pour ajouter un mot de passe communau groupe et permettre aux utilisateurs appartenant un mme groupe dese connecter avec le mme mot de passe, ce qui explique le nom de la

    commande. Cette possibilit nexiste plus pour des raisons de scuritvidentes.

    C. Les fichiers de configuration

    a) Gestion des utilisateurs

    Le fichier/etc/passwd contient les informations sur les utilisateurs, structuresen sept champs :

    ! login ;

    ! UID ;

    ! GID ;

    ! mot de passe ou x sil existe un fichier/etc/shadow ;

    ! description de lutilisateur ;! rpertoire par dfaut de lutilisateur ;

    ! shell.

    Les sept champs sont prsents sur une ligne et spars par le caractre : .

    Chapitre 5. Gestion des utilisateurs et des groupes dutilisateurs

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 57

    Exemple de ligne extraite dun fichier /etc/passwd avec utilisation dun fichier/etc/shadow :

    nicolas:x:502:502:Nicolas L:/home/nicolas:/bin/tcsh

    Depuis quasiment lorigine, la majorit des distributions Linux utilise unfichier /etc/shadow pour stocker les mots de passe. La scurit est bien

    meilleure car il est protg en lecture. Le fichier/etc/passwd est, lui, lisible partoutes les applications.

    Pour crer un fichier /etc/shadow partir dun fichier /etc/passwd onutilise la commande /usr/sbin/pwconv.

    Pour revenir la configuration prcdente (i.e. stockage des mots de passedans le fichier/etc/passwd), on utilise la commande /usr/sbin/pwunconv.

    Attention fixer correctement les droits sur ces fichiers : 600 ou mme 400pour/etc/shadow et 644 pour/etc/passwd.

    Ne pas oublier de vrifier, lors de lutilisation de la commande pwunconv, deremettre les mmes droits sur le fichier/etc/passwd.

    b) Gestion des groupes

    Le fichier/etc/group contient les informations sur les groupes, structures en

    quatre champs :! nom du groupe ;

    ! mot de passe du groupe ou x sil existe un fichier/etc/gshadow ;

    ! GID ;

    ! liste des utilisateurs du groupe.

    Les quatre champs sont prsents sur une ligne et spars par le caractre : .

    Ligne de fichier/etc/group avec utilisation d'un fichier/etc/gshadow :

    normal:x:555:niry,andrei,kader,nicolas

    De mme que pour le fichier /etc/passwd, pour crer un fichier /etc/gshadow partir dun fichier/etc/group on utilise la commande :

    /usr/sbin/grpconv

    Pour revenir la configuration prcdente (i.e. stockage des mots de passedans le fichier/etc/group et destruction de /etc/gshadow) :

    /usr/sbin/grpunconv

  • 8/8/2019 Linux LPI_102

    28/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 58

    c) Fichiers de configuration par dfaut

    Le fichier/etc/login.defs contient les informations par dfaut sur la validit descomptes et des mots de passe des utilisateurs. Ces informations sontstockes dans le fichier/etc/shadow lors de la cration du compte :

    ! MAIL_DIR : rpertoire mail par dfaut (e.g. /var/spool/mail) ;

    ! PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_MIN_LEN, PASS_WARN_AGE : informations

    concernant la validit du mot de passe ;! UID_MIN, UID_MAX : plage des numros identifiant des utilisateurs (UID)

    lors de lutilisation de useradd ;

    ! GID_MIN, GID_MAX : plage des numros identifiants des groupes (GID) lorsde lutilisation de groupadd ;

    ! CREATE_HOME : cration automatique du rpertoire home lors delutilisation de useradd ;

    ! PASS_MAX_DAYS : nombre de jours maximum dutilisation dun motde passe ;

    ! PASS_MIN_DAYS : nombre de jours minimum entre deux changementsde mot de passe ;

    ! PASS_MIN_LEN : taille minimum dun mot de passe ;

    ! PASS_WARN_AGE : nombre de jours denvoi d'un avertissement avant

    que le mot de passe nexpire.

    D. Gestion des comptes et des options decration par dfaut

    Les options de configuration dun compte peuvent tre modifies par lacommande usermod :

    ! -l : nouveau nom dutilisateur ;

    ! -c : commentaire ;

    ! -g : groupe (il doit exister au pralable) ;

    ! -s : shell ;

    ! -d : chemin du rpertoire home ;

    ! -u : identifiant utilisateur (UID) ;

    ! -p : mot de passe entrer en format md5 ;

    ! -e : informations dexpiration du compte.

    Chapitre 5. Gestion des utilisateurs et des groupes dutilisateurs

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 59

    Les options de configuration dun groupe peuvent tre modifies par lacommande groupmod :

    ! -n : nouveau nom du groupe ;

    ! -g : identifiant du groupe (GID).

    a) Comment bloquer un compte

    Un moyen simple est de faire prcder le mot de passe par un ! dans lesfichiers de configuration. Lors de lutilisation d'un fichier /etc/shadow, on peutremplacer galement le x dans le fichier/etc/passwd par un * .

    Une autre mthode consiste utiliser les commandes passwdet usermod :

    passwd -l

    usermod -L

    Pour dbloquer le compte en utilisant les mmes commandes :

    passwd -u

    usermod -U

    On peut aussi dtruire le mot de passe :

    passwd -d

    Enfin, on peut affecter un utilisateur le shell par dfaut /bin/false, ce quilempche de se connecter.

    b) Gestion des informations dexpiration du compte

    Pour modifier les informations par dfaut (/etc/login.defs) et les informationsdexpiration, on utilise la commande /usr/bin/chage :

    chage [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ] [ -Iinactive ] [ -E expire ] [ -d last_day ] user

    Options :

    ! -ldonne les valeurs actuelles du compte ;

    ! -Epermet de fixer une date dexpiration sous la forme Unix standard ou

    sous la forme YYYY/MM/DD ;! -Mpermet de changer la valeur de PASS_MAX_DAYS contenue dans le

    fichier/etc/login.defs ;

    ! -mpermet de changer la valeur de PASS_MIN_DAYS contenue dans lefichier/etc/login.defs ;

  • 8/8/2019 Linux LPI_102

    29/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 60

    ! -w permet de changer la valeur de PASS_WARN_AGE contenue dansle fichier/etc/login.defs ;

    ! -d permet de changer la date de dernier changement de mot de passesous la forme Unix standard ou sous la forme YYYY/MM/DD.

    La figure 4 rcapitule les diffrentes informations associes la vie ducompte.

    Figure 4. Informations dexpiration dun compte associes la commande en ligne

    c) Destruction dun compte

    On utilise la commande /usr/sbin/userdel. Loption -r permet de dtruiregalement le contenu du rpertoire home.

    /usr/sbin/userdel -r mejdi

    Chapitre 5. Gestion des utilisateurs et des groupes dutilisateurs

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 61

    D. Exercices

    1. Quelle est la commande Unix qui permet de crer un utilisateuruser1 qui appartient au groupe auf ?

    ! useradd -m -g user1 auf

    ! useradd -m user1 -group auf! add -m -g auf user1

    ! useradd -m -g auf user1

    2. Lutilisateur mejdi a t dplac dans le dpartement BECO. Vousvoulez changer son groupe principal en beco. Quelle est lacommande la plus simple pour raliser cela ?

    3. Quelle commande allez-vous utiliser pour verrouiller le compte delutilisateur nicolas ?

    4. Lutilisateur nicolas de votre serveur a oubli son mot de passe.Quelle commande allez-vous utiliser pour changer son mot depasse en supposant que vous avez ouvert une session en tant queroot ?

    5. Le rpertoire suivant contient les fichiers qui sont copis dans lerpertoire de lutilisateur au moment de la cration de son compte :

    ! /etc/skel

    ! /etc/users

    ! /etc/passwd

    ! /etc/hosts

  • 8/8/2019 Linux LPI_102

    30/62

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 63

    Chapitre 6. Administrationdu systme GNU/Linux

    Objectifs " Rviser les principales techniques dadministration dusystme." Connatre la gestion du systme de logs, laprogrammation des tches priodiques." tre capable de localiser le systme en plusieurslangues autres que langlais.

    Mots cls /etc/localtime, /etc/timezone, locale, /usr/share/zoneinfo,/var/log, anacron, anacrontab, at, cron, crontab, date,

    iconv, ISO-8859, LANG, LC_*, LC_ALL, logrotate,tzselect, Unicode, UTF-8

    A. Les traces du systme

    a) Les journaux (logs)

    Tous les vnements qui affectent les processus sont enregistrs dans desfichiers appels fichiers journaux ou journaux (logs files ou logs). Pardfaut les journaux sont placs dans larborescence /var/log. Certainsdmons (daemons) gnrent leurs journaux dans des arborescencesspcifiques. Par exemple les logiciels Samba et Apache enregistrent leurs

    journaux dans /var/log/samba et /var/log/apache.

    La plupart des messages de logs sont grs par le dmon systme syslogd.

    Voici quelques fichiers journaux importants :

    ! cron : contient les messages concernant cron ;

    ! maillog : messages relatifs au systme de courrier ;

  • 8/8/2019 Linux LPI_102

    31/62

    Prparation lexamen 102 pour la certification LPIC-1

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 64

    ! messages : presque tous les messages du systme sauf les messagesdauthentification qui se trouvent dans dautres fichiers spcifiques ;

    ! secure ou auth : messages relatifs lauthentification des utilisateurs, lagestion de la base de donnes dutilisateurs, etc. ;

    ! dmesg : messages provenant du noyau.

    Le fichier journal le plus utile et le plus consult est /var/log/messages car la

    plupart des messages produits par le systme y sont enregistrs.La commande tail f permet dafficher dynamiquement le contenu desdernires lignes dun fichier journal ce qui permet den suivre lvolution etde visualiser immdiatement les nouveaux vnements.

    tail f /var/log/messages

    b) La configuration

    La configuration du dmon syslogd, dont la tche est lenregistrement desmessages de logs, se fait dans le fichier/etc/syslog.conf.

    Les messages de logs sont diviss en groupes. Dans chaque groupe ils sontclasss par priorit.

    Les groupes de messages de logs sont les suivants :

    ! auth et authpriv : authentification ;

    ! cron : messages de lutilitaire cron ;! kern : messages du noyau ;

    ! mail : le systme de courrier ;

    ! user : messages des processus utilisateurs.

    Les diffrentes priorits des messages, tries par ordre croissant, sont lessuivantes :

    ! emerg

    ! alert

    ! crit

    ! err

    ! warning

    ! notice

    ! info

    ! debug

    ! *

    ! none.

    Chapitre 6. Administration du systme GNU/Linux

    Ouvrage sous contrat Creative Commons BY-NC-SA p. 65

    Chaque ligne de configuration de /etc/syslog.conf contient une liste degr