Linux à l'EPFL

101
Linux à l’EPFL Premiers pas Michèle Coulmance, DIT-SB EPFL Avril 2008

Transcript of Linux à l'EPFL

  • Linux lEPFL

    Premiers pas

    Michle Coulmance, DIT-SB EPFL

    Avril 2008

  • ii

  • Prambule

    Ce support de cours doit tre considr comme un document de travail, commenter et annoter au fur et mesure. Il est destin fournir rfrences etlments, certains dentre eux nauront pas une dure de vie trs longue (toutchange si vite en informatique !),dautres sont trs spcifiques lutilisation delinux lEPFL. Il ne sagit donc pas dun manuel de rfrence .

    Quelques liens qui pourront vous aider en trouver dautres !

    Le portail linux de lepflhttp://linux.epfl.ch

    Le guide de survie du dbutant sous linuxhttp://www.delafond.org/survielinux

    Le portail linux francophonehttp://linuxfr.org

    lea Linux Electronique Aide, ou Linux Entre Amishttp://lea-linux.org

    Aides diverseshttp://www.ac-creteil.fr/reseaux/systemes/linux/Welcome.html

    http://linux.epfl.chhttp://www.delafond.org/survielinuxhttp://linuxfr.orghttp://lea-linux.orghttp://www.ac-creteil.fr/reseaux/systemes/linux/Welcome.htmlhttp://www.ac-creteil.fr/reseaux/systemes/linux/Welcome.html

  • iv Prambule

  • Table des matires

    Prambule iii

    1 Historique et distributions, rappel 11.1 Petit historique . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Distributions : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 Structure du systme dexploitation 32.1 Le noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Le systme de fichier . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Linterface shell . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.4 Le serveur X Window . . . . . . . . . . . . . . . . . . . . . . . 4

    3 Un tour dans lenvironnement graphique 73.1 Pr-requis : notion dutilisateur . . . . . . . . . . . . . . . . . . . 73.2 Super-utilisateur : . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3 Dmarrer une session . . . . . . . . . . . . . . . . . . . . . . . . 8

    4 Les premires commandes 94.1 Avant tout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2 Lies aux utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . 104.3 Fichiers et chemins . . . . . . . . . . . . . . . . . . . . . . . . . 104.4 Manipulation de texte . . . . . . . . . . . . . . . . . . . . . . . . 104.5 Les redirections des commandes . . . . . . . . . . . . . . . . . . 114.6 Les tubes (pipe) . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.7 La commande script : . . . . . . . . . . . . . . . . . . . . . . . . 11

    5 Objectif installation 135.1 Lexploration du systme . . . . . . . . . . . . . . . . . . . . . . 13

    5.1.1 Le partitionnement . . . . . . . . . . . . . . . . . . . . . 135.1.2 Les paramtres rseau : . . . . . . . . . . . . . . . . . . . 155.1.3 Les paramtres pour X : . . . . . . . . . . . . . . . . . . 155.1.4 Le matriel pour booter . . . . . . . . . . . . . . . . . . . 16

    5.2 Une premire installation . . . . . . . . . . . . . . . . . . . . . . 16

  • vi TABLE DES MATIRES

    6 Lutilisateur 196.1 Informations et authentifications, bases de donnes locales et cen-

    tralises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.1.1 Locales : . . . . . . . . . . . . . . . . . . . . . . . . . . 196.1.2 Centralises : . . . . . . . . . . . . . . . . . . . . . . . . 20

    6.2 Cration de compte . . . . . . . . . . . . . . . . . . . . . . . . . 206.2.1 local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.2.2 centralis . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    6.3 Environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . 226.4 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . 24

    6.4.1 Configuration par dfaut, gnrale : . . . . . . . . . . . . 246.4.2 Fichiers de configuration de lutilisateur : . . . . . . . . . 246.4.3 Quelques essais de modifications . . . . . . . . . . . . . . 24

    6.5 Environnement X . . . . . . . . . . . . . . . . . . . . . . . . . . 266.6 En prime : les scripts, un aperu . . . . . . . . . . . . . . . . . . 26

    7 Premire approche du systme de fichier 317.1 Disques physiques, partitions et systmes de fichiers . . . . . . . 31

    7.1.1 Disques . . . . . . . . . . . . . . . . . . . . . . . . . . . 317.1.2 Partitions : . . . . . . . . . . . . . . . . . . . . . . . . . 317.1.3 RAID et LVM . . . . . . . . . . . . . . . . . . . . . . . 317.1.4 Systme de fichier . . . . . . . . . . . . . . . . . . . . . 32

    7.2 Montage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337.2.1 Montage dune ressource distante : . . . . . . . . . . . . . 337.2.2 Automontage : . . . . . . . . . . . . . . . . . . . . . . . 33

    7.3 Gestion de priphriques : . . . . . . . . . . . . . . . . . . . . . 347.3.1 Gestion dynamique des priphriques, udev et HAL . . . 34

    7.4 Structure des rpertoires . . . . . . . . . . . . . . . . . . . . . . 367.5 Quelques commandes relatives aux fichiers . . . . . . . . . . . . 37

    7.5.1 Quelques exemples dutilisation . . . . . . . . . . . . . . 387.5.2 Les liens . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    7.6 Permissions de base : . . . . . . . . . . . . . . . . . . . . . . . . 387.6.1 Modification des permissions : . . . . . . . . . . . . . . . 397.6.2 Appartenance . . . . . . . . . . . . . . . . . . . . . . . . 397.6.3 Droits spciaux sur un fichier : sticky bit, setuid, setgid . . 39

    7.7 ACL (Access Control List) . . . . . . . . . . . . . . . . . . . . . 407.8 Archivage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    7.8.1 Options : . . . . . . . . . . . . . . . . . . . . . . . . . . 417.8.2 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    8 Niveaux de fonctionnement, processus 438.1 Dmarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438.2 Arrt du systme . . . . . . . . . . . . . . . . . . . . . . . . . . 448.3 Niveaux de fonctionnement . . . . . . . . . . . . . . . . . . . . . 44

  • TABLE DES MATIRES vii

    8.4 dmarrer en mode single user : . . . . . . . . . . . . . . . . . . . 458.5 Scripts de dmarrage . . . . . . . . . . . . . . . . . . . . . . . . 46

    8.5.1 examen du fichier /etc/inittab . . . . . . . . . . . . . 468.5.2 Examen des scripts du rpertoire /etc/init.d . . . . . 46

    8.6 En cas de problmes . . . . . . . . . . . . . . . . . . . . . . . . 478.7 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    8.7.1 Examen de ltat du systme . . . . . . . . . . . . . . . . 478.7.2 Tuer un processus . . . . . . . . . . . . . . . . . . . . . . 478.7.3 Modes dexcution dun processus . . . . . . . . . . . . . 48

    9 Gestion des packages 499.1 RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499.2 yum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    9.2.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . 509.2.2 Utilisation en ligne de commande : . . . . . . . . . . . . 519.2.3 Nouveaux outils graphiques . . . . . . . . . . . . . . . . 51

    10 NFS 5310.1 Ct serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5310.2 Ct client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    11 Scurit 5511.1 Introduction SELinux : . . . . . . . . . . . . . . . . . . . . . . 5511.2 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    11.2.1 Paramtrage plus fin, exemple dun serveur NFS3 . . . . . 56

    12 SAMBA 5912.1 Serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5912.2 Client, les outils . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    12.2.1 Graphiques . . . . . . . . . . . . . . . . . . . . . . . . . 6012.2.2 Lignes de commande . . . . . . . . . . . . . . . . . . . . 61

    13 Connexions distance 6313.1 SSH, Secure SHell . . . . . . . . . . . . . . . . . . . . . . . . . 63

    13.1.1 ssh et scp . . . . . . . . . . . . . . . . . . . . . . . . . . 6313.1.2 ssh et les cls . . . . . . . . . . . . . . . . . . . . . . . . 64

    13.2 Autres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6413.3 Terminal distant . . . . . . . . . . . . . . . . . . . . . . . . . . . 6413.4 VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    Annexe 65

  • viii TABLE DES MATIRES

    A Organisation linuxline.epfl.ch 65A.1 Rpertoires de base . . . . . . . . . . . . . . . . . . . . . . . . . 65

    A.1.1 fedora . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65A.1.2 RedHatEnterprise . . . . . . . . . . . . . . . . . . . . . . 65

    A.2 Mises jour Fedora . . . . . . . . . . . . . . . . . . . . . . . . . 65A.3 Accs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    B Editeur VI 67B.1 Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    B.1.1 Mode commande . . . . . . . . . . . . . . . . . . . . . . 67B.1.2 Mode insertion . . . . . . . . . . . . . . . . . . . . . . . 67B.1.3 Mode ligne . . . . . . . . . . . . . . . . . . . . . . . . . 68B.1.4 Quelques indications sommaires . . . . . . . . . . . . . . 68

    B.2 Mode demploi . . . . . . . . . . . . . . . . . . . . . . . . . . . 68B.3 Autres diteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    C kickstart 71

    D grub 75D.1 Spcifier une partition et des fichiers dans le GRUB : . . . . . . . 75

    D.1.1 Dsignation des priphriques de stockage . . . . . . . . 76D.1.2 Dsignation des partitions . . . . . . . . . . . . . . . . . 76D.1.3 Dsignation des fichiers par leur nom . . . . . . . . . . . 76D.1.4 Dsigner un priphrique par dfaut . . . . . . . . . . . . 76

    D.2 Quelques exemples de commandes . . . . . . . . . . . . . . . . . 77D.2.1 Commandes de base pour amorcer un noyau . . . . . . . 77D.2.2 Retrouver sur quelle partition sont les fichiers damorage 77D.2.3 Restaurer un secteur de boot sur un disque dur . . . . . . 77

    D.3 Exemple de fichier /etc/grub.conf . . . . . . . . . . . . . . . 77

    E vncviewer et X-win32 79E.1 La base, vnc, Virtual Network Computer : . . . . . . . . . . . . . 79

    E.1.1 Ct linux : . . . . . . . . . . . . . . . . . . . . . . . . . 79E.1.2 Ct windows : . . . . . . . . . . . . . . . . . . . . . . . 80

    E.2 X-win32 : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80E.2.1 Ct linux : . . . . . . . . . . . . . . . . . . . . . . . . . 80E.2.2 Ct windows : . . . . . . . . . . . . . . . . . . . . . . . 80

    E.3 Outils graphiques sous linux, reposant sur VNC . . . . . . . . . . 80E.3.1 Serveurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 80E.3.2 Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

  • TABLE DES MATIRES ix

    F CD-DVD commandes en lignes 83F.1 Obtenir ladresse dun graveur : . . . . . . . . . . . . . . . . . . 83F.2 commande cdrecord . . . . . . . . . . . . . . . . . . . . . . . 83F.3 Crer une image iso : . . . . . . . . . . . . . . . . . . . . . . . . 84F.4 Autres utilitaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

    F.4.1 paquetage dvd+rwtools . . . . . . . . . . . . . . . . . 84F.4.2 growisofs . . . . . . . . . . . . . . . . . . . . . . . . 84

    G Quelques raccourcis clavier 85

    Index 89

  • x TABLE DES MATIRES

  • Chapitre 1

    Historique et distributions,rappel

    1.1 Petit historique

    1969 : Ken Thompson (laboratoires de Bell) crit la premire version de ce quidevait par la suite sappeler Unix. Le nom Unix tait un calembour sur lesystme dexploitation Multics (Multiplexed Information and Computing Service)et a t crit Unics en premier lieu (UNiplexed Information and ComputingSystem).1971 : Ritchie et Thompson ecrivent le noyau dUnix en C.1974 1977 : le code source dUnix est distribu librement aux universits. UNIXgagne la faveur de la communaut scientifique et universitaire. Il a t ainsi labase des systmes dexploitation des principales universits.1978 : UNIX, 7me dition. Cette version a t dveloppe expressment pourtre porte sur diverses architectures matrielles. En outre, avec la version 7, ATTannonce quils font payer des licences pour accder aux sources du systme. Cequi incite luniversit de Californie Berkeley crer sa propre variante : BSDUNIX.1984 : Richard Stallman, au MIT (Massachussetts Institute of Technology) lanceun mouvement pour le dveloppement des logiciels libres ;ce qui dbouche sur lacration de la FSF : Free Software Foundation, autour du projet GNU (GNUs NotUnix) : http://www.gnu.org1987 : X Window, une interface client/serveur graphique dveloppe au MIT.1991 : Linus Torvald dcide de dvelopper un systme dexploitation utilisant aumieux les fonctionnalits du processeur 386 dIntel : naissance de Linux.

    Chaque composant du noyau (systme de fichiers, gestion de mmoire etc.) estsous la responsabilit dune personne qui centralise les dveloppements decentaine de dveloppeurs communiquant via Internet. Code source, et codebinaire sont librement et gratuitement distribus. Tout acqureur peut librement

    http://www.gnu.org

  • 2 Historique et distributions, rappel

    utiliser, modifier, et mme commercialiser un produit, mais il est tenu de mettregratuitement la disposition de la communaut les modifications.

    1.2 Distributions :

    Une distribution comprend le noyau, des pilotes de priphriques, desbibliothques, des utilitaires dinstallation et de post-installation, ainsi que deslogiciels.

    Quelques distributions : Slackware, la premire des distributions qui a popularis Linux. RedHat : a dvelopp le paquetage, un paquetage comprenant un logiciel, sa

    documentation, et des utilitaires pour simplifier linstallation, la dsinstallationet la mise jour. Ce concept a t repris ensuite par dautres distributions. Ladistribution de Redhat tant devenue commerciale, cest Fedora qui a repris lasuite pour la distribution non commerciale. Debian : le dveloppement de Debian est ralis via Internet de la mme

    manire que le dveloppement du noyau Linux. Utilise son propre format depaquetage. Cest la distribution des utilisateurs confirms et des puristes. Ubuntu : cest LA distribution la mode ! Cest une distribution base sur

    Debian, et adapte par la socit Canonical afin dtre plus facilement prise enmain. (pour faire un peu de mauvais esprit : debian.org alors que ubuntu.com ) SuSE : distribution dorigine allemande, possde ses propres outils

    dinstallation, utilise les paquetages RedHat. SuSE sponsorisait le groupeXfree86 pour le dveloppement de serveurs X de cartes graphiques rcentes. Mandriva (ex Mandrake) : une bonne distribution pour les dbutants

  • Chapitre 2

    Structure du systmedexploitation

    2.1 Le noyau

    Contrle les terminaux, les imprimantes, les disques, et autres priphriques Gre et alloue les ressources pour les utilisateurs. Gre le systme de fichier

    2.2 Le systme de fichier

    Range les donnes de faon hirarchique

    2.3 Linterface shell

    Un processus excut en mode utilisateur ne peut pas accder directement auxressources de la machine. Le shell, interprteur de commande, reprsentelinterface utilisateur.Les utilisateurs vont interagir sur le Noyau du Systme dExploitation grace uninterprteur de commande . Il existe plusieurs interprteurs de commande :C-Shell, Korn-shell, Bourne-shell. Les fonctionnalits sont les mmes, lessyntaxes sont diffrentes.Ils vont jouer le rle dune interface entre lutilisateur et le noyau. Un shell lit cequi provient du terminal, et traduit les requtes des utilisateurs en actionstransmises au noyau. Une requte dun utilisateur peut tre simple, lister lecontenu dun rpertoire par ex., ou beaucoup plus complexe. Une fois la requteformule, le shell a la responsabilit dinterprter la commande et de latransmettre au noyau pour que les ressources ncessaires puissent tre alloues, lenoyau tant responsable de lordonnancement et de la synchronisation de larequte.

  • 4 Structure du systme dexploitation

    2.4 Le serveur X Window

    Cf. historique, cest un systme graphique fonctionnant sur le mode client/serveur,le serveur dsignant ici un terminal X, les clients des applications X, clients etserveurs dialoguant selon un protocole X.

    Lapplication serveur gre non seulement lcran, mais galement la souris et leclavier (=> on peut avoir des diffrences de fonctionnement de clavier en modeconsole et en X-Window).

    Mme si la clbre ligne de commande demeure loutil favori des utilisateurschevronns, il y a donc dj bien longtemps que les utilisateurs peuvent bnficieraussi dun environnement graphique, et dune souris cliquer ! Linux offre unepanoplie dinterfaces graphiques qui peuvent tre installes sur une distribution.

    Mais : linterface graphique nest rien dautre quun programme qui tourne sur lesystme. Elle ne fait pas partie du noyau Linux ni du systme de base. Elle estsimplement un outil puissant qui permet dutiliser les capacits graphiques devotre machine.

    Dans le souci du respect des standards, un standard avait t cr pour dfinircomment dessiner et dplacer des fentres sur lcran, comment permettre lutilisateur dagir avec le clavier et la souris ainsi que dautres aspects importantsdun systme graphique. Ce standard a t nomm X Window System, souventabrg en X11 ou simplement X. Il est utilis sur la plupart des systmes Unix,Linux et apparents.

    Au dpart : projet Xfree86.

    Mais ce dernier ayant opt pour une licence incompatible avec la GPL (GNUGeneral Public License), lutilisation de Xorg est dsormais recommande. Lesdiffrences entre Xorg et XFree86 sont actuellement minimes. Si lon connat undes deux systmes, on connait peu prs lautre.

    Sur RedHat Enterprise jusqu la version 3 : Xfree86-4.3, depuis la version 4xorg-x11

    Sur Fedora : xorg-x11

    A la base : des applications graphiques (/usr/X11R6/bin), et un gestionnaire defentres graphiques .

    Puis : dveloppement densembles cohrents de clients X : cest ce quon appellebureau (desktop). On dispose alors de beaucoup doutils, on peut accder auxapplications graphiques sans mme connatre leur nom.

    Le choix du bureau reste un choix avant tout personnel : KDE, ou Gnome ?

    Les deux ont des avantages ... et des inconvnients. Cependant : mme si vousprfrez et utilisez Gnome, veillez installer konqueror (paquet kdebase) unexplorateur de KDE qui prsente des fonctionnalits intressantes.

  • 2.4 Le serveur X Window 5

    '

    &

    $

    %

    Pour mmoire, des gestionnaires anciens mais trs lgers : twm : Le Tab Window Manager minimaliste, proposant la bote

    outils la plus basique. fvwm2 : Driv du gestionnaire de fentres twm incorporant

    une apparence 3D un site parmi dautres : http://www.plig.org/xwinman/intro.html

    http://www.plig.org/xwinman/intro.htmlhttp://www.plig.org/xwinman/intro.html

  • 6 Structure du systme dexploitation

  • Chapitre 3

    Un tour dans lenvironnementgraphique

    3.1 Pr-requis : notion dutilisateur

    Chaque utilisateur dclar peut dmarrer une session de travail, et accder uncertain nombre de ressources.

    Chaque utilisateur dispose :

    Dun nom dutilisateur, et dun numro dutilisateur. Dun groupe, et numro de groupe. Dun mot de passe. Dun rpertoire initial de travail. Dun interprteur shell.

    3.2 Super-utilisateur :

    Compte root : compte de ladministrateur.

    ATTENTION : root a tous les droits. Evitez de travailler syst-matiquement sous le compte root !On verra plus tard la commande sudo 6.2.1 la page 20

  • 8 Un tour dans lenvironnement graphique

    3.3 Dmarrer une session

    Un petit tour dans lenvironnement graphique Les 4 bureaux le menu principal les prfrences etc.

    '

    &

    $

    %

    Un paramtrage fin de Gnome est aussi possible avecgconf-editorCest un peu comparable la base de registres Windows (enmieux, forcment . . .). Toutes les options de configurations sontaccessibles dun seul coup, et on peut galement intervenir sur desparamtres cachs On peut visualiser les configurations en entrant dans un browserlurl about:config

    On peut aussi dmarrer par dfaut en mode console, cest mmeparfois indispensable ... on reviendra sur ce point plus tard

  • Chapitre 4

    Les premires commandes

    Pour ouvrir un terminal :

    Menu principal, system tools

    ou bien bouton de droite dans un bureau

    et ... vos lignes de commandes !'

    &

    $

    %

    Le rappel des commandes : en appuyant sur les flches de dfi-lement haut/bas on peut obtenir un rappel des prcdentes lignesde commandes entres. La compltion : la touche tab permet de complter automa-

    tiquement une ligne de commande (recherche automatique dechemins par exemple)

    4.1 Avant tout

    man : Quand tout a chou, lisez le manuel !

    Avec konqueror , un des explorateurs possibles faisant partie dupaquetage kdebase , on peut pointer sur lURL #une_commandepour obtenir laffichage de la page du manuel de une_commande

    whatis, apropos : recherche par mots-cl ou par fragments de mots-cl

    Pour crer les bases de donnes de recherche whatis et apropos :lancer la commande /usr/sbin/makewhatis

  • 10 Les premires commandes

    locate la_commande : emplacement de la commande Pour crer les bases de donnes : locate -u

    4.2 Lies aux utilisateurs

    who : quels sont les utilisateurs connectswhoami : afficher lU-ID effectifid : caractristiques (U-ID et G-ID) dun utilisateur

    4.3 Fichiers et chemins

    cd : se dplacer dans larborescencepwd : o est-on dans larborescencerm : effacer un fichierls : afficher les caractristiques des fichiers et rpertoirescp : copier un fichiercat ou more : examiner le contenu dun fichier#

    "

    !

    Notations particulires dans les arborescences :. reprsente le rpertoire courant.. reprsente le rpertoire pre, cad le rpertoire de niveau imm-diatement suprieur au rpertoire courant. reprsente le rpertoire initial (rpertoire home) dun utilisateur

    4.4 Manipulation de texte

    grep : trs puissant, recherche une chane ou une expression rgulire dans unfichier et affiche les lignes contenant cette chane

    diff : compare 2 fichiers ASCII et affiche les lignes diffrentes.

    cat : affichage et regroupement de fichiers

    head -n/tail -n : affichage des n premires/dernires lignes dun fichier

    tail -f : lecture dun fichier en continu, visualisation du fluxdentre dans ce fichier au fur et mesure. Pratique pour examinerles fichiers de log, et voir "en direct" ce qui se passe

  • 4.5 Les redirections des commandes 11

    4.5 Les redirections des commandes

    Le shell travaille avec 3 fichiers : stdin : entre standard associe au clavier stdout : sortie standard associe au clavier stderr : sortie standard derreur associe au clavierIl est possible de rediriger les entres ou sorties standard vers des fichiers, ou versdautres commandes.

    Redirection de la sortie standard : commande > nom-de-fichierls al > mon_listing

    le rsultat de la commande sera crit dans un fichier

    Redirection de lentre standard : commande < nom-de-fichierRedirection de lerreur standard : (commande) >& nom-de-fichier

    4.6 Les tubes (pipe)

    La barre verticale | (pipe) est utilise pour permettre la communication entre2 processus.commande_1 | commande_2La sortie dune commande est utilise comme lentre de la commandesuivante.On peut dire que cest quivalent rediriger la sortie standard dunecommande vers un fichier, puis utiliser ce fichier comme entre standard pour lacommande suivante.Plusieurs commandes peuvent tre ainsi combines.

    ls /usr/bin | grep lp

    ls /etc/init.d/p* | xargs cat

    ls | xargs du sh

    4.7 La commande script :

    Permet de sauver dans un fichier les commandes et leurs rsultats

    script -f essai.txt

    ...

    exit (pour terminer la commande script et fermer le fichier)

  • 12 Les premires commandes

  • Chapitre 5

    Objectif installation

    5.1 Lexploration du systme

    Quelques outils graphiques :

    hardware browser

    system monitor

    on peut retrouver toutes les informations dans les fichiers du r-pertoire /proc

    Pour une nouvelle machine :on peut vrifier les listes de compatibilit hardwaresur le site http://bugzilla.redhat.com/hwcert/

    le site http://bugzilla.redhat.com permet aussi de recher-cher les bugs rpertoris, ou den signaler.

    5.1.1 Le partitionnement

    swap

    Presque toutes les distributions vous obligent utiliser une partition de swap(=fichier dchange). Cette partition servira crire lorsque la mmoire vivedborde. Dans le temps, on disait que le swap devait faire le double de la taille dela RAM. Maintenant que le kernel a chang et que les RAM sont normes ainsique les disques durs, une fois la RAM est gnralement suffisant..

    racine, note /

    Ici se trouve la partition racine du systme. Obligatoire. Plus ou moins grandeselon ce que vous mettrez dessus. Sachez que la saturation de cette partition est

    http://bugzilla.redhat.com/hwcert/http://bugzilla.redhat.com

  • 14 Objectif installation

    dangereuse pour le systme. Tous les rpertoires ci-dessous se placeront ici sivous ne leur spcifiez pas de partition spcifique.

    /boot

    Il peut tre bon que le systme de dmarrage soit sur une partition part. Donc un/boot en ext2, de trs petite taille (150 Mo).

    /home

    Ici seront vos donnes. Lintrt de les sparer physiquement est de pouvoir parexemple rinstaller Linux sans toucher vos donnes. Donnez la taille que vousvoulez. Le format peut tre ext2 ou ext3.Attention : il peut tre intressant de prvoir un automontage home. Dans ce cas lil faudra donner un autre nom cette partition, et les rpertoires des utilisateursseront monts sous le nom symbolique de home.

    /usr

    Ici seront installs les programmes. Cette partition doit tre de grande taille(minimum 1,5 Go) si vous voulez beaucoup de programmes. Vous pouvez ne pascrer de /usr. Simplement, votre / devra alors tre plus grande. Et attention nepas installer trop de programmes qui satureraient alors /. Format ext2 ou ext3.(Cette partition est facultative)

    /var

    Cest la partition dans laquelle le systme crit rgulirement des donnes.Comme la partition racine (/) ne doit jamais saturer, il est prudent que les donneschangeantes soient sur une partition part. Une centaine de Mo minimum peutconvenir. Beaucoup plus si vous voulez tre un serveur web. Format ext2 ou ext3(Cette partition est facultative).

    En rsum

    Tous les rpertoires qui nont pas une partition spcifique seront automatiquementinstalls dans la partition /, dite partition racine, ou partition root, mais ne pasconfondre avec le rpertoire /root qui est le rpertoire de lutilisateuradministrateur root !Au minimum : swap, /boot, / (racine, root) , /ma_partitionEt toujours disposer dau moins UNE partition quon ne touchera pas si lon doitrinstaller le systme.

  • 5.1 Lexploration du systme 15

    #

    "

    !

    lorsquon installe une nouvelle version du systme, il est bon desauvegarder le rpertoire /etc , le rpertoire /var , le rpertoire/homeSi le rpertoire /home est sur une partition,on pourra rinstallersans toucher cette partition.

    Examinez le partitionnement existant :

    fdisk ou parted

    df

    cat /etc/fstab

    ou bien outils graphiques

    Regardez si on le modifiera ou non, et comment.Vrifiez la taille mmoire.

    free

    ou bien outils graphiques

    5.1.2 Les paramtres rseau :

    Examinez votre configuration rseau : Nom de machine et routeur :

    fichier /etc/sysconfig/networkcommande /sbin/arp addresse IP :

    fichier /etc/sysconfig/network-scripts/ifcfg.eth0commande ifconfig -a Serveur de nom : fichier /etc/resolv.conf

    Si on peut bnficier dun service DHCP , Dynamic HostConfiguration Protocol, cest le serveur DHCP qui fournit toutesces informations

    5.1.3 Les paramtres pour X :

    Dans le fichier /etc/X11/xorg.conf ou /etc/X11/XF86Config-4 (pourXfree86), on peut noter les spcifications pourkeyboard, keyboard_layout, mouse, monitor, deviceIl peut tre utile de sauvegarder ce fichier.

  • 16 Objectif installation

    5.1.4 Le matriel pour booter

    un CD boot.iso :Limage iso pour dmarrer une nouvelle installation se trouve dans le sousrpertoire images des distributions.

    Attention la manire de graver le CD boot.iso , ce CD DOITtre bootable .

    '

    &

    $

    %

    La commande dd permettait la fabrication de disquettes damor-age, elle est plutt utilise maintenant pour fabriquer un supportdamorage USB :dd if=bootdisk.img of=/dev/sda( condition que le bios supporte le dmarrage partir dun pri-phrique USB)

    '

    &

    $

    %

    Limage qui va permettre le dmarrage de linstallation est spci-fique la distribution que lon veut installer : si on a grav un CDde boot partir du rpertoire fedora/fc5, on ne pourra pas dmarrerune installation de fedora fc7 !Il est donc trs important de bien reprer le rpertoire partir du-quel on a fabriqu le matriel de boot pour pouvoir ensuite indi-quer le bon rpertoire NFS ,Network File System) lors de linstal-lation.

    5.2 Une premire installation

    Redmarrez lordinateur partir de la disquette ou du CD Choisissez mode nfs Entrez les paramtres rseaux

    Attention, en cas derreur ce niveau, les corrections ne sont pastoujours prises en compte, il faut alors imprativement redmarrerune installation.

    Serveur linuxline.epfl.ch Rpertoire

    Fedora : /export/mirror/fedora/f8/i386/osRedHat Enterprise : /export/RHE/ws-5/update1/x86_32/iso

    Install custom

  • 5.2 Une premire installation 17

    Partitionnement :choisir Manually partition DiskDruid, examiner lepartitionnement propos, sexercer le modifier Use grub : ne PAS cocher use a GRUB password Firewall : no firewall (juste pour la premire installation) Entrez le mot de passe root Choix des groupes de paquetage :Select individual packages

    NE PAS INSTALLER TOUS LES PAQUETAGES, rflchir cequon veut !

    #

    "

    !

    les paramtrages utiliss pour linstallation sont stocks automati-quement dans un fichier /root/anaconda-ks.cfgOn peut donc ensuite sauvegarder, ventuellement modifier ce fi-chier, et lutiliser pour une autre installation en mode kickstart,voir C la page 71.

    '

    &

    $

    %

    RHE : ATTENTIONLors du premier dmarrage : SAUTEZ ltape denregistrementpropose par dfaut ! Cliquez sur Tell me why i need ... , etsur lcran suivant slectionnez I can no complete registration... . Vous pourrez ensuite accrditer votre machine en utilisant unscript qui vous est fourni lorsque vous recevez votre accrditation,ou en utilisant une ligne de commande.

  • 18 Objectif installation

  • Chapitre 6

    Lutilisateur

    6.1 Informations et authentifications, bases de donneslocales et centralises

    6.1.1 Locales :

    Examen des fichiers /etc/passwd, /etc/shadow,/etc/group laide des commandes cat ou more ouen glissant le fichier dans un diteur passwd : diffrents champs

    nom emplacement pour le mot de passe crypt (ou renvoi au fichier/etc/shadow)

    numro dutilisateur numro de groupe rpertoire initial de travail interprteur shell group : diffrents champs

    Nom emplacement pour un ventuel mot de passe numro de groupe ventuelle numration des membres du groupe

    #

    "

    !

    Un mme utilisateur peut appartenir plusieurs groupes diffrents,la commande newgrp permet de sidentifier comme appartenant tel ou tel groupe, et de bnficier des permissions alloues cesgroupes. La commande groups permet de voir quels groupeson appartient

  • 20 Lutilisateur

    Les ACL , Access Control Lists, sont reconnues et utilisables, ellespermettent de positionner des permissions avec un grain beaucoupplus fin que les simples niveaux utilisateur/groupe. Voir la section7.6.3.3 la page 40.

    6.1.2 Centralises :

    Il est possible de chercher des donnes dans dautres bases de donnes que lesfichiers locaux.La plus importante pour lEPFL : LDAP, Lightweight Directory Access Protocol,annuaire pour toute la communaut de lEPFL

    Server : ldap.epfl.ch Base : o=epfl, c=ch

    Accs aux donnes publiques contenues dans LDAP :http://bottin.epfl.ch

    Recherche dans la base LDAP en ligne de commande (si le paquetageopenldap-clients a t install !)ldapsearch -x -v -h ldap -b o=epfl,c=ch cn=coulmanceldapsearch -x -v -h ldap -b o=epfl,c=ch cn=WinAd

    Accs une personnalisation :http://dinfo.epfl.ch/cgi-bin/accountprefsvous permet de modifier les paramtres rpertoire home et inter-prteur de commande de votre compte, aprs authentification.

    Lordre de consultation pour les principales bases de donnes est fix dans unfichier#/etc/nsswitch.conf...passwd : files ldapshadow : files ldapgroup : files ldaphosts : files dns

    6.2 Cration de compte

    6.2.1 local

    utilisation dun outil graphique au clic sourisSystems settings, Users and Groupsou appel en ligne de commandesystem-config-users

    http://bottin.epfl.chhttp://dinfo.epfl.ch/cgi-bin/accountprefs

  • 6.2 Cration de compte 21

    Accs aux commandes en tant que "root"

    On peut, en tant quutilisateur, lancer une commande qui ncessite les droits de"root" en faisant prcder cette commande de sudo Il faut cependant quelutilisateur fasse partie dun groupe possdant les droits "sudoers".man sudoAjouter lappartenance au groupe wheel dun utilisateur localExaminer et modifier avec la commande visudo

    6.2.2 centralis

    Paramtrage et validation de laccs une base LDAP :utilisation dun outil graphique au clic sourisSystems settings, Authentication

    ou appel en ligne de commandesystem-config-authentication

    (au besoin relancer ssh /etc/init.d/sshd , et le gdm managergdm-restart )

    Cration dun rpertoire de travail pour un utilisateur existant dans LDAPcp -r /etc/skel /repertoire-home/nom-utilisateur

    Attribution de ce rpertoire lutilisateur :chown -r nom-utilisateur /repertoire-home/nom-utilisateur

    '

    &

    $

    %

    On DOIT filtrer les autorisations de connections en modifiant dansle fichier/etc/ldap.confla valeur du paramtre pam_filter .Par exemple pour autoriser les utilisateurs des groupes 10072 et10073pam_filter |(gidNumber=10072)(gidNumber=10073)

    '

    &

    $

    %

    Il est possible dutiliser un mode encrypt pour communiquer avecle serveur LDAP, cf. la case Use_TLS . Si on utilise cette option,il faut installer un certificat.http://certauth.epfl.ch/CA/cacert.htmlCe certificat est normalement install dans le rpertoire/etc/openldap/cacerts , mais on peut configurer le nom dac-cs au certificat dans le fichier /etc/ldap.conf

    http://certauth.epfl.ch/CA/cacert.html

  • 22 Lutilisateur

    Il peut tre ncessaire dajouter dans le fichier /etc/ldap.confune ligne nss_initgroups backlink pour diminuer le tempsde login des utilisateurs dclars dans le serveur LDAP de lEPFL

    Il existe aussi des groupes grs au niveau du serveur LDAP delEPFL, voir http://dinfo.epfl.ch/groupes

    ATTENTION :si on utilise lauthentification LDAP, la configura-tion par dfaut peut rendre impossible laccs aux comptes locaux,y compris le compte root si laccs au rseau est dfectueux

    On peut pallier ce problme en modifiant le fichier /etc/pam.d/system-authet en ajoutant des options :default=bad authinfo_unavail=ignore successs=okuser_unknown=ignore

    sur la ligne

    account [default=bad...] /lib/security/pam_ldap.so

    Il est indispensable davoir une copie de sauvegarde du rpertoire pam.d avanttoute intervention sur les fichiers contenus dans ce rpertoire !

    6.3 Environnement

    Un utilisateur va pouvoir personnaliser son environnement en paramtrant lesvariables denvironnement dans des fichiers dits fichiers cachs (dont le nomcommence par un point, et qui ne sont vus que si on ajoute loption -a lacommande ls .Si on a choisi linterprteur de commande bash les deux fichiers qui vontpermettre de personnaliser lenvironnement de lutilisateur sont :

    .bash_profile excut la connexion, personnalisation de la session detravail

    .bashrc lu au moment de lexcution de .bash_profile : dfinition desalias, dfinitions de fonctions etc.

    Les variables denvironnement

    Elles vhiculent de linformation entre plusieurs application. Chaque applicationou programme peut lire ou modifier la valeur dune de ces variables, il suffit quilsconnaissent le nom de la variable pour y accder.

    http://dinfo.epfl.ch/groupes

  • 6.3 Environnement 23

    Tous les systmes dexploitation proposent un certain nombre de ces variables quipermettent aux applications dobtenir des informations sur la configuration dusystme, par ex. la variable TMP fournit le chemin du dossier temporaire.La valeur dune variable denvironnement peut tre propre chaque utilisateur ;par exemple, la variable HOME destine fournir le chemin daccs au rpertoirepersonnel de lutilisateur contiendra la valeur /disqueA/titi pour lutilisateurtiti, et /disqueC/toto pour toto. Pour les deux utilisateurs, un programmeutilisant la variable HOME (le nom de la variable est prcd du $ si lon veutindiquer la valeur de la variable ) fonctionnera de la mme manire, quelque soitlutilisateur, et quelque soit lemplacement physique des rpertoires personnels.Un utilisateur peut dfinir et utiliser ses propres variables denvironnement. Ilsuffit de modifier le fichier .bashrc pour dfinir,par exemple, une variabledonnant le chemin daccs un rpertoire de donnes :REPERTOIRE_DONNEES=/partage/donnees_a_traiterAfin que cette variable soit utilisable par les programmes lancs par lutilisateur, ilfaut exporter cette variable, la rendre publique, en ajoutantexport REPERTOIRE_DONNEESLes programmes et autres processus lancs ensuite hriteront de cette variable, etpourront lutiliser.

    Quelques variables denvironnement :

    HOME rpertoire de connexion de lutilisateur

    USER nom de login de lutilisateur

    PATH chemin de recherche pour les commandes externes

    MANPATH chemin de recherche pour les sections de manuel

    SHELL type de shell

    PRINTER imprimante par dfaut.

    Pour examiner et positionner les variables denvironnement : set et unset

    Les alias

    C est le mcanisme qui permet de dsigner une commande, ou une suite decommandes, par un nouveau nom, le nom dalias, et dajouter des options quiseront automatiquement associes une commande.La commande alias permet de voir quels sont les alias, et den dfinir denouveaux. Pour supprimer un alias : unalias

    Exemple dalias :

    alias l.=ls -d .* --color=ttyalias ll=ls -l --color=ttyalias ls=ls --color=tty

  • 24 Lutilisateur

    6.4 Fichiers de configuration

    6.4.1 Configuration par dfaut, gnrale :

    On trouve les fichiers de configuration gnrale dans le rpertoire /etc

    /etc/profile, /etc/bashrc , rpertoire /etc/profile.d

    Seul ladministrateur peut les modifier.

    Le rpertoire /etc/skel contient un ensemble pr-dfini de fichiers deconfiguration pour un utilisateur type.Cest pourquoi on le recopie au moment dela cration dun compte utilisateur, voir la section 6.2.2 la page 21.

    6.4.2 Fichiers de configuration de lutilisateur :

    Rappelons que plupart du temps il sagit de fichiers dits silencieux, leur nomcommence par un point, et par dfaut ils napparaissent pas avec la commande lslance sans option , voir la section 6.3 la page 22. Ils sont pris en compteAPRES les fichiers de configuration par dfaut, et vont permettre lutilisateur depersonnaliser son environnement :

    /.bash_profile, /.bashrc , mais aussi /.emacs si on travaille aveclditeur emacs , les rpertoires /.gnome ou /.kde

    Rappel : reprsente le rpertoire home de lutilisateur)

    6.4.3 Quelques essais de modifications

    Variable PATH Examiner cette variable denvironnement :set | grep PATH Modifier la variable denvironnement PATH en ditant et en

    modifiant le fichier bash_profile pour ajouter un nouveauchemin, par ex. /usr/local Faire prendre en compte les nouveaux paramtres :source .bash_profile Rexaminer la nouvelle valeur de la variable :set | grep PATH

  • 6.4 Fichiers de configuration 25

    Personnaliser les couleurs daffichage de la commande ls Examiner le contenu du fichier par dfaut/etc/DIR_COLORS Recopier ce fichier en fichier de configuration de lutilisateurcp /etc/DIR_COLORS /.dir_colors Examiner la variable denvironnement LS_COLORSset | grep LS_COLORS Faire prendre en compte lvaluation du fichier .dir_colors

    en ajoutant dans le fichier /.bashrceval /usr/bin/dircolors -b $HOME/.dir_colors

    Eventuellement modifier la variable LS_OPTIONSexport LS_OPTIONS=color=auto Modifier le fichier .dir_colors comme on veut Faire prendre en compte les modificationssource .bashrc Tester :set | grep LS_COLORSls

    Essayer de crer ou de modifier un alias, et faire prendre en comptecette modification

    '

    &

    $

    %

    PATH est initialis avec une liste minimale de chemin dans le fi-chier /etc/profile . Lutilisateur pourra complter cette listedans son fichier .bash_profile

    MAIS ATTENTION le rpertoire courant, not ., ne doit pas tou-jours tre systmatiquement explor afin de diminuer le risquedutilisation de commandes non standard, et non fiables (ventuelsleurres).Si le rpertoire courant est explor, pour ces mmes raisons, il estprfrable quil le soit en dernier.Sil nest pas explor, il ne faudra pas oublier de donner la rf-rence de la commande excuter dans le rpertoire courant :./ma-commande , et non pas ma_commande .

  • 26 Lutilisateur

    6.5 Environnement X

    Le bureau charg par dfaut pour lensemble des utilisateurs est dfini dans lefichier /etc/sysconfig/desktop .

    Un utilisateur peut choisir le bureau quil souhaite utiliser :

    Commande switchdesk (paquetages switchdesk et switchdesk-gui ) ;ou bien trouver lentre Desktop switching tool dans les menus deconfiguration.

    Ou bien, tout la main : Crer un fichier fichier /.Xclients puis dfinirle chemin complet du gestionnaire que lon veut appeler dans ce fichier :

    /usr/bin/startkde , ou bien /usr/bin/gdm

    On rend ce fichier excutable , chmod +x .Xclients , et cettenouvelle configuration individuelle sera prise en compte lorsquelutilisateur lancera la commande startx

    Ressources X :

    Fichiers de configuration des ressources

    /usr/lib/X11/app-defaults entre autres

    6.6 En prime : les scripts, un aperu

    INITIATION

    #!/bin/bash# exemple2:test des parametres passes en ligne de commande#echo "mon nom est $0"echo " Jai $# parametres"echo " Les voici : $* "echo " Le premier est : $1"#

  • 6.6 En prime : les scripts, un aperu 27

    APPEL DE FONCTIONS

    #!/bin/bash# tstfic, appel de fonction# entrer sur la ligne de commande des noms de fichiers et de repertoires## Fonction

    ifile() {if test -f $fthen

    return 0else

    return 1fi}

    # Corps du scriptfor idof=$1echo "$1"shiftif ifilethen

    echo "$f est un fichier"else

    echo "$f nest pas un fichier"fidone

    #

  • 28 Lutilisateur

    CHAINES DE CARACTERES

    #!/bin/bash# Substitution dun pattern un autre dans un fichier texte# i.e., "subst Smith Jones letter.txt".ARGS=3E_BADARGS=65 # Wrong number of arguments passed to script.# Test number of arguments to script (always a good idea).if [ $# -ne "$ARGS" ]thenecho "Usage: basename $0 old-pattern new-pattern filename"exit $E_BADARGS

    fi#old_pattern=$1new_pattern=$2#if [ -f "$3" ]then

    file_name=$3else

    echo "File \"$3\"does not exist."exit $E_BADARGS

    fi## Substitution pour TOUTES les occurences, cf. man sedsed -e "s/$old_pattern/$new_pattern/g" $file_name# s is, of course, the substitute command in sed,exit 0 # Succes : returns 0.

  • 6.6 En prime : les scripts, un aperu 29

    VARIABLES

    #!/bin/bash# Variables: assignment and substitutiona=375hello=$aecho hello # Not a variable reference, just the string "hello".echo $helloecho ${hello} # Identical to above.#hello="A B C Decho $hello # A B C Decho "$hello" # A B C D# Quoting a variable preserves whitespace.echo $hello #$hello# Notice te effect of different types of quotingexit 0

    LECTURE DUN FICHIER

    #!/bin/bash# Lecture et affichage du fichier /etc/fstab.File=/etc/fstab{read line1read line2} < $File#echo "Premiere ligne de $File:"echo "$line1"echoecho "Seconde ligne de $File:"echo "$line2"exit 0

    Quelques exemples sur/net/linuxline/export/mirror/divers/cours/exo_rep

  • 30 Lutilisateur

  • Chapitre 7

    Premire approche du systme defichier

    7.1 Disques physiques, partitions et systmes de fichiers

    7.1.1 Disques

    Descripteur de disque : /dev/hda ou /dev/sda

    Sous linux,tout est fichier, toute ressource est vue comme un fi-chier, exemple du rpertoire /dev

    7.1.2 Partitions :

    Un disque physique est en gnral dcoup en partitions, ce sont des divisionsfonctionnelles du disque. Des informations sur ces partitions sont obtenues grce la commande df Examen (et/ou cration) des partitions dun disque :

    fdisk /dev/hda

    parted

    7.1.3 RAID et LVM

    RAID Redundant Array of Independent Disk : RAID 1 mirroring , RAID 5 disk array with block-interleaved distributed parity LVM Logical Volume Management : permet de saffranchir des contraintesphysiques, et de crer des groupes de volumes pouvant contenir plusieurs disquesphysiques, ou fragments de disques physiques. Un groupe de volume sera ensuitedcoup en volumes logiques.Quelques commandes pour examiner : pvdisplay

  • 32 Premire approche du systme de fichier

    vgdisplay lvdisplayUne commande utile : lvmdump

    7.1.4 Systme de fichier

    Dans chaque partition (ou volume logique), ladministrateur installe un systmede fichiers.Chaque partition peut contenir un et un seul systme de fichier, et un systme defichier ne peut tre sur plusieurs partitions.Systmes de fichiers sous linux : ext2 , le classique ; ext3 : systmes defichiers journaliss , ce qui permet de maintenir la cohrence des metadonnes(inodes etc.)Mais linux connat galement vfat , et dautres !

    Tous les dtails sur le systme de fichier Linux par dfaut, ext2 ladressehttp://e2fsprogs.sourceforge.net/ext2intro.html

    Les structures de contrle du systme de fichier sont : la VTOC (= label), lesuperbloc, les blocs de groupe de cylindres, et la table des inodes.Le systme de fichiers est dcrit par le superbloc. Etant donn quil contient desdonnes critiques, le superbloc est dupliqu. Les copies sont utilises lorsquuneerreur disque altre le premier superbloc.Lors du montage dun systme de fichiers, on copie le superbloc en mmoire, ettoutes les oprations de cration et deffacement de fichiers modifient cesuperbloc en mmoire. Do les problmes dincohrence lorsque le systme nestpas arrt proprement . La commande fsck permet de vrifier lintgrit dunsystme de fichier et de corriger, dans la mesure du possible, les incohrences. Pardfaut, elle est lanc au dmarrage du systme.Paramtrage possible : cf la 6me colonne de /etc/fstab , cf. galement lepositionnement de Maximum mount count dumpe2fs /dev/sda1 | grep ount count#

    "

    !

    Le rpertoire lost+found est un rpertoire particulier dun sys-tme de fichier Unix dans lequel lOS place les fichiers ou les mor-ceaux de fichiers retrouvs ou endommags lors dune vrificationde lintgrit dun systme de fichier ( fsck ) A examiner dans lecas o il y a eu des problmes !

    http://e2fsprogs.sourceforge.net/ext2intro.html

  • 7.2 Montage 33

    7.2 Montage

    Lorsque le systme dmarre, le systme de fichier root (cad / ) est mont. Puisles autres systmes de fichiers seront monts selon les instructions contenues dansle fichier /etc/fstabLABEL=/ / ext3 defaults 1 1LABEL=/boot1 /boot ext2 defaults 1 2LABEL=/travail /travail ext3 defaults 1 2/dev/hda /media/cdrecorder auto pamconsole,exec,

    noauto,managed 0 0

    7.2.1 Montage dune ressource distante :

    On peut galement monter une partie dun systme de fichier se trouvantphysiquement sur le disque dur dun ordinateur distant : cest ce quon appelle unmontage NFS (Network File System) :

    mount linuxline:/export/mirror/redhat /monredhat

    Ce type de montage est possible

    Si le super-utilisateur de lordinateur distant a autoris cette exportation Examen des fichiers exports par un ordinateur : showmount enom_machine Paramtrage des autorisations dexportation : fichier/etc/exports Si linux est capable de reconnatre le type du systme de fichier monter (cf.

    option t de la commande mount )

    7.2.2 Automontage :

    Lorsquon a besoin daccder une ressource, un dmon automount peut lancerla commande mount de faon transparente pour lutilisateur.

    Exemple : ls /net/linuxline/export/mirror/redhat

    est quivalent mount linuxline :/export/mirror/redhat \/net/linuxline/export/mirror/redhat

    ls /net/linuxline/export/mirror/redhat

  • 34 Premire approche du systme de fichier

    Fichiers de configuration :

    /etc/auto.master# Sample auto.master file# This is an automounter map and it has the following format# key [ -mount-options-separated-by-comma ] location# For details of the format look at autofs(5).#/misc /etc/auto.misc --timeout=60/net /etc/auto.net/home /etc/auto.home

    /etc/auto.home#coulmance localhost:/maison/coulmancefabbri localhost:/groupe_dit/fabbrimichele ditsbpc16:/travail/michele#

    Pour crer un point de montage : mkdir point_de_montageUn point de montage nest rien dautre quun rpertoire VIDEUn montage nest possible que si le point de montage est VIDE

    7.3 Gestion de priphriques :

    7.3.0.1 Prambule :

    On peut galement utiliser la commande mount pour monter les priphriquesamovibles disquettes, cdrom, zip etc. Le point de montage prdfini estactuellement /media (jadis /mnt )Exemple :mount /dev/fd0 /media/floppyou simplementmount /media/floppy sil existe une ligne dcrivant ce point de montage dansle fichier /etc/fstab .umount /media/floppy pour librer la ressource Attention : il faut que le pointde montage ne soit plus utilis pour pouvoir dmonter !

    7.3.1 Gestion dynamique des priphriques, udev et HAL

    Ou : les mystres de lapparition de licne sur le bureau enfin dvoils.A lire tte repose ...

  • 7.3 Gestion de priphriques : 35

    Le kernel ( partir de la version 2.6) dtecte lajout dun nouveau priphrique. Ilcharge les modules ncessaires au bon fonctionnement du nouveau matriel.Toutes les caractristiques techniques que le kernel obtient en interrogeant lematriel sont disponibles dans /sys . Tous les fichiers trouvs dans cette partiede larborescence sont gnrs en direct par le kernel, cest une gestion totalementdynamique des priphriques quon ajoute/supprime chaud.

    ls /sys

    Pour que les programmes extrieurs au kernel puissent accder un priphrique,il faut nommer le priphrique en mettant un fichier dans /dev (sous linuxTOUT est fichier, y compris le matriel).Cest udev qui se charge de crer dynamiquement les fichiers dans /dev . udevest un programme qui va tre inform par le kernel quun nouveau matriel estconnect et quil faut lui donner un nom (=fichier) dans /dev , travers desrgles dfinies dans /etc/udev

    ls -lr /dev/disk/bypathudevinfo -a -p /sys/block/sdaudevtest /sys/block/hda

    Avec fedora6 ou RHEL5 :on peut examiner ce qui se passe lorsquon connecte une cl USBudevmonitor env

    Une fois que le nouveau priphrique est devenu utilisable travers un fichier, ilreste avertir les utilisateurs que ce matriel est disponible. Cest HAL , HardwareAbstraction Layer, qui va sen charger en collectant et en rendant accessibles lesinformations

    lshal

    Ensuite il faut faire parvenir les informations collectes par HAL lutilisateur.HAL va poster un message, message qui sera pris en compte par dautresprogrammes utilisateurs grce D-bus (qui permet aux applications decommuniquer entre elles )Finalement des logiciels de l environnement graphiquegnome-volume-manager par exemple, vont tre capable grce DBUS de savoirquand un CDROM est introduit, de quel type de CD il sagit, et quelle estlapplication lancer : lire un cd audio par exemple, et jouer la musique, ou bienmonter le priphrique et ouvrir nautilus pour montrer les fichiers.

  • 36 Premire approche du systme de fichier

    ls l /etc/hal/device.d

    HAL est galement capable de lancer le programme fstab-sync , qui vaconsulter /etc/fstab et voir si il y a une entre pour le nouveau priphrique.Si il nen voit pas alors il va en ajouter une la fin du fichier fstab. Lesmodifications sont conserves en mmoire, et lentre ajoute dans fstab estsupprime si le priphrique est dbranch. On a donc un fstab dynamique.

    7.4 Structure des rpertoires

    Les fichiers sont organiss en structure arborescente et hirarchique, quon peutreprsenter sous la forme dun arbre renvers.

    tout est fichier, toute ressource est vue comme un fichier, voir lasection 7.1.1 la page 31

    Les rpertoires sont des fichiers permettant dorganiser la structure enarborescence.Le point de dpart de larborescence est reprsent par / , cest ce quon appellele rpertoire racine,ou root.Rpertoires la racine : /bin commandes essentielles, utilisables en mode monoutilisateur, entre

    autres bash, csh ... /boot tout ce qui est ncessaire au boot, /dev fichiers spciaux = points dentre vers les priphriques /etc fichiers de configuration /home rpertoire ou point de montage pour les rpertoires home des utilisateurs /lib bibliothques ncessaires aux programmes de /bin et /sbin /media point de montage pour les priphriques amovibles /mnt ancien point de montage pour ces priphriques amovibles /opt rpertoire prvu pour des commandes optionnelles /proc toutes les infos. sur ltat du systme /root rpertoire home du compte administrateur (doit tre accessible mme

    en fonctionnement niveau 1) /sbin commandes essentielles utilises plutt par le compte administrateur. /sys voir la section 7.3.1 la page 35 /tmp fichiers temporaires gnrs par le systme et les processus /usr point de montage dune arborescence contenant des programmes et

    librairies partages ; /usr/bin, /usr/sbin, /usr/lib, /usr/share... /var fichiers susceptibles de changer, journaux des activits du systmes(logs),

    files dattente pour les impressions, applications journalises(cron) etc.

  • 7.5 Quelques commandes relatives aux fichiers 37

    '

    &

    $

    %

    /dev/null et /dev/zero : les donnes crites sur ces fichiersvirtuels spciaux sont limines. On peut aussi se servir de cespseudo-fichiers pour effacer le contenu dun fichier :cat /dev/null > fichier__effacerMais ATTENTION ces fichiers ne DOIVENT JAMAIS tre effa-cs.Commandes pour les recrer au cas o :mknod -m 666 /dev/null c 1 3mknod -m 666 /dev/zero c 1 5chown root :root /dev/null /dev/zero

    Chaque fichier ou rpertoire peut tre caractris par un nom absolu :ls /etc/init.d

    ou par un nom relatif, cest dire exprim par rapport au rpertoire courant.Par ex., partir de /home/user1 :ls ../../etc/init.d Rappel : reprsente le rpertoire home de lutilisateur

    7.5 Quelques commandes relatives aux fichiers

    cd pour se dplacer dans larborescence pwd pour savoir quel est le rpertoire courant mkdir pour crer un rpertoire rmdir pour effacer un rpertoire cp copie dun fichier ou rpertoire mv dplacement dun fichier ou rpertoire rm effacement dun fichier touch cration dun fichier vide, ou modification des dates de cration dun

    fichier existant cat/more examiner le contenu dun fichier find recherche dun fichier du affichage de lespace occup par un ficher ou un rpertoire ls sffichage des caractristiques de fichiers et rpertoires

    Nombreuses options communes, dont

    -R,-r : rcursif

    -i : interactif

  • 38 Premire approche du systme de fichier

    7.5.1 Quelques exemples dutilisation

    7.5.1.1 ls

    Nombreuses options, parmi les principales :

    -a affiche tous les fichiers, y compris les fichiers dits silencieux

    -l donne les principales caractristiques des fichiers, le type (fichier ourpertoire), les permissions, le propritaire, la taille, la date de la derniremodification, etc

    Obtenir le listing des rpertoires dun utilisateur :ls -l | grep ^dObtenir le listing des fichiers dits silencieux, dont le nom commence par un point :ls a | grep "^\."

    7.5.1.2 find

    Rechercher (et pouvoir liminer automatiquement) certains fichiers :find . \(-name core) -size +1c printfind . type f mtime +7 print0 | xargs -0 rm -f

    7.5.1.3 du

    Afficher lespace occup par des utilisateurs :cd /homels | xargs du -sk

    7.5.2 Les liens

    Ils permettent dassocier plusieurs noms un mme fichier, daccder un fichierpar diffrents chemins daccs.Cration dun lien : ln s ce-qui-existe nom-symboliqueVisualisation des liens : ls l

    7.6 Permissions de base :

    Un rpertoire/fichier appartient un utilisateur, et un groupe.Les utilisateurs permettent ou non laccs aux objets leur appartenant.Seul le super utilisateur peut passer outre les permissions. 3 niveaux didentifiants :

    1. Propritaire User, utilisateur qui cre lobjet2. Groupe Group, groupe auquel appartient le propritaire du fichier3. Autres Others, utilisateurs autres que le propritaire et les membres du

    groupe

  • 7.6 Permissions de base : 39

    3 types de permissions :1. Lecture read, permet dafficher le contenu dun rpertoire ou dun fichier

    2. Ecriture write, permet de modifier le contenu dun fichier ou dunrpertoire, de crer, de copier, ou de supprimer un fichier.

    3. Excution execute, permet dexcuter un programme, permet de pouvoirentrer dans un rpertoire.

    7.6.1 Modification des permissions :

    chmodUtilisation de la notation symbolique :Classes : user utilisateur group groupe other autres all tousPermissions : read write exxecuteOprateurs : = affectation + ajout - suppressionExemple : chmod g+rw, o-w afac

    7.6.2 Appartenance

    chown : changer le propritaire dun fichier uniquement si on est root.Exemple :chown coulmance:dit-sb un_fichier

    ATTENTION : vrifier o lon est dans larborescence avant delancer une commande chmod ou chown en mode rcursif !

    7.6.3 Droits spciaux sur un fichier : sticky bit, setuid, setgid

    7.6.3.1 sticky bit :

    Un utilisateur ayant le droit dcrire dans un rpertoire peut aussi effacer unfichier dans ce rpertoire. Lorsquon positionne le sticky bit pour ce rpertoire,il faut, pour pouvoir effacer un fichier dans ce rpertoire, avoir le droit dcrire, et

  • 40 Premire approche du systme de fichier

    tre propritaire du fichier quon veut effacer, ou propritaire du rpertoire, ouadministrateur.Exemple : le rpertoire /tmp est protg par un sticky bit Appliqu un fichier, le sticky bit prend un sens totalement diffrent : un fichierexcutable ayant le sticky bit positionn reste en mmoire mme aprs la fin deson excution, pour pouvoir tre relanc plus rapidement. Seul ladministrateur ale droit de positionner le sticky bit sur un fichier excutable.

    7.6.3.2 setuid et setgid :

    Si un fichier excutable est setuid , il va tre excut avec les droits dupropritaire, et non avec les droits de lutilisateur qui le lance.Exemple : la commande /usr/bin/passwd , qui permet lutilisateur demodifier son mot de passe est setuid root , cest dire quelle permettra unutilisateur de modifier le fichier /etc/passwd , fichier dans lequel seul root a unaccs en criture.De mme un programme excutable setgid sexcutera avec les droits dugroupe auquel il appartient.Exemple : /usr/sbin/sendmail

    7.6.3.3 Positionnement de ces droits spciaux :

    sticky bit : chmod o+t nom_de_repertoire setuid : chmod u+s nom_de_fichier setgid : chmod g+s nom_de_fichier

    7.7 ACL (Access Control List)

    Les ACL permettent de positionner les permissions avec une granularit plus fineque la granularit de base.Elles permettent dtendre le nombre dutilisateurs et degroupes ayant des droits sur un mme fichier.Le systme de fichier ext3 supporte les ACL, condition quil soit mont avecloption acl (voir la section 7.1.4 la page 32), ce qui est actuellement uneoption par dfaut pour RedHat et Fedora.

    Commandes : getfacl, setfaclExemple : setfacl -m user:titi:rwx un_fichiersmbcacls si on travaille sur des ressources montes par Samba, voir la section11.2.1 la page 58

    7.8 Archivage

    la commande star (ancienne commande = tar ) permet de crer une archive enregroupant une partie dune arborescence de fichiers dans un fichier unique. Ce

  • 7.8 Archivage 41

    fichier peut tre cr sur le disque dur, sur une bande de sauvegarde etc.

    7.8.1 Options :

    c gnrer une archive t visualiser le contenu dune archive x extraire une archive v verbose (afficher des informations sur les oprations) z compresser ou dcompresser f nom du fichier

    7.8.2 Utilisation

    crer en mode verbose une archive qui sera stocke (option -f) dans un fichier /export/etc.tar de toute larbores-cence /etcstar -cvf ./etc.tar /etc

    lister le contenu du fichier archive etc.tarstar -tvf ./etc.tar

    extraire le contenu de larchive etc.tarstar xvf etc.tar

    La taille du fichier etc.tar est identique la taille de larborescence originale, maison peut compresser ce fichier (outils gzip).

  • 42 Premire approche du systme de fichier

  • Chapitre 8

    Niveaux de fonctionnement,processus

    8.1 Dmarrage

    Le disque dun PC peut tre partitionn. On peut faire coexister plusieurssystmes dexploitation sur un mme disque dur, un par partition.

    Un et un seul systme dexploitation est actif la fois, cest celui qui est charg enmmoire au moment du dmarrage de lordinateur.

    Le premier secteur dun disque contient ce quon appelle le Master Boot Record(MBR) qui dcrit le partitionnement du disque. Il est aussi lorigine duchargement, on dit aussi amorce ou boot du systme actif.

    Le processus de dmarrage dun PC commence par lexcution automatique dunprogramme de chargement situ dans le BIOS (Basic Input Output System), quirside dans la mmoire morte (ROM).

    Cest ce programme qui va charger le programme de chargement du MBR..

    Le chargeur peut offrir la possibilit de choisir le systme dexploitation que lonveut effectivement dmarrer.

    Le programme de chargement, son tour, chargera le secteur de boot du systmedexploitation choisi.

    A lheure actuelle : tant sous Windows que sous linux les chargeurs sontmultiboot, donc on peut toujours avoir le choix de dmarrer Windows ou linux

    De prfrence : installer dabord Windows, puis linux, qui prendra en comptelexistence de Windows, et permettra un multi-boot.

    Chargeur linux multiboot : actuellement GRUB (voir la section D la page 75) aremplac LILO

  • 44 Niveaux de fonctionnement, processus

    Examen des messages de dmarrage : dmesg fichiers /var/log outil graphique system logs

    8.2 Arrt du systme

    commande shutdown :Options-h halt-r rebootshutdown -h nowshutdown -r now'

    &

    $

    %

    Il existe des risques dincohrence au niveau du systme de fi-chiers si le systme nest pas arrt proprement, si la copie enmmoire du super-bloc n a pas t correctement rcrite.Update du super bloc : Commande syncLorsquil y a des problmes, le systme tente de rparer les in-cohrences au reboot suivant en lanant la commande fsck (oue2fsck ).On peut ensuite aller regarder dans le rpertoire lost+foundpour essayer de rcuprer ce qui na pas t reconstitu (rpertoiretoujours cr lorsquon cr un systme de fichier).

    8.3 Niveaux de fonctionnement

    Le chargement du noyau linux va permettre linitialisation des structures dedonnes internes, le reprage des priphriques prsents, le chargement desmodules ncessaires.Le systme linux offre plusieurs niveaux de fonctionnement. A chacun deux vacorrespondre un certain nombre de services pour les utilisateurs. Le rle de lacommande init , qui a comme argument le niveau de fonctionnement choisi, estdactiver les processus ncessaires ce niveau.Niveaux de fonctionnement :

    0 Hors service : lalimentation peut alors tre coupe sans danger

    1 Mode mono-utilisateur (pour administration systme)

    2 Mode multi-utilisateurs mais sans les fonctionnalits rseau.

    3 Mode multi-utilisateurs avec rseau

  • 8.4 dmarrer en mode single user : 45

    4 Inutilis

    5 X11

    6 Mise hors service et redmarrage : sert durant le redmarrage du systme partir dun niveau de fonctionnement (2, 3, 4, 5). Le systme passeraensuite au niveau 0.

    Lors de la phase de dmarrage, init doit savoir quel niveau placer le systme.Pour cela, il recherche dans le fichier /etc/inittab la ligne qui configure ceniveau par dfaut :id :5 :initdefault :

    Pour connatre le niveau de fonctionnement : runlevelPour changer de niveau de fonctionnement : telinit , ou inittelinit 3 pour entrer en mode rseau si on est en niveau 1telinit 5 pour entrer en mode graphique

    telinit est surtout utile lorsquon a du dmarrer en mode single user et que lon teste au fur et mesure le dmarragesdes diffrents services

    noter : Ctrl-Alt-F1 . . . Ctrl-Alt-F6 : passage en consolestexteCtrl-Alt-Backspace pour tuer X

    8.4 dmarrer en mode single user :

    A partir de la fentre de dmarragee pour entrer en mode ditione pour diter la ligne kernel /boot/vmlinuz ...ajouter single la fin de cette ligneb pour booter

    =>Mise en vidence des problmes de scurit. . .

  • 46 Niveaux de fonctionnement, processus

    8.5 Scripts de dmarrage

    8.5.1 examen du fichier /etc/inittab

    Le processus init commence dabord par excuter le script/etc/rc.d/rc.sysinit , qui contient des commandes de contrle etdinitialisations pour les diffrents processus :Initialisation du PATH , initialisation du nom de la machine (hostname), du nomde domaine ventuellement, initialisation du swap , montage du pseudo-systmede fichier /proc , etc.Puis il excute les scripts spcifiques au niveau dexcution demand, scripts dontlnumration se trouve dans les rpertoires/etc/rc.d/rc0.d,rc1.d,...,rc6.d (correspondant aux niveaux defonctionnement). On remarquera quen fait ne se trouvent dans ces rpertoires quedes liens symboliques vers les scripts lancer ; tous les scripts concernant ledmarrage et larrt dun service sont regroups dans le rpertoire /etc/init.d. On peut dcider des scripts quon veut lancer au dmarrage de linux, et quelniveau de fonctionnement on veut dmarrer ce service

    8.5.2 Examen des scripts du rpertoire /etc/init.d

    more /etc/init.d/lpd

    A tout moment, pour stopper, dmarrer, relancer, examiner ltat dun service :/etc/rc.d/init.d/lpd status/etc/rc.d/init.d/lpd stop/etc/rc.d/init.d/lpd start/etc/rc.d/init.d/lpd restartEquivalent la commande : service nom_du_service

    Il nest donc pas ncessaire darrter et relancer le systme lorsquon modifie unparamtre de configuration dun service, il suffit de relancer ce service.menu System settings, Server settings, Services : outil graphique

    chkconfig offre un outil simple en ligne de commande pour maintenir lahirarchie du rpertoire /etc/rc.d tout en vitant aux administrateurs de manipulerles diffrents liens symboliques de ce rpertoire.Pour afficher les paramtres des services pour chaque niveau dexcution :chkconfig listPour modifier les dmarrages de services au prochain reboot :chkconfig level n service onchkconfig level n service off

  • 8.6 En cas de problmes 47

    Il est important de bien contrler les services lancs au dmarrage,en particulier tous les services pouvant mettre en cause la scuritde la machine

    8.6 En cas de problmes

    Pas daffolement !

    Essayer de dmarrer en mode single user , voir la section 8.3 page 45

    Essayer de dmarrer avec un cd de boot : Aprs une installation, ou aprs unemise jour du kernel, il est sage de fabriquer un CD pour redmarrer au caso il y a un problme de bootloader.mkbootdisk :pour fabriquer une image iso qui permettra de redmarrer unnoyau 2.6.9-55.ELmkbootdisk device rescue-2.6.9-55.iso iso 2.6.9-55.EL

    Pour savoir quel est le noyau actif : uname a

    Essayer dutiliser un Linux Live CD : Mini-linux sur un CD pourdpannages, dmonstration ,etc. (DSL, Knoppix, Basilisk etc.)http://fr.wikipedia.org/wiki/Damn_Small_Linux :http://distrowatch.com/dwres.php?resource=cd

    A partir du CD 1 de la distribution, ou de la disquette de boot au prompt, boot>entrez linux rescueVous aurez ensuite la possibilit de monter par dfaut toutes les partitionsdtectes, ou bien de nen monter aucune.

    A partir dune disquette de dmarrage Grub (voir la section D la page 75retrouver ce quil faut pour dmarrer le noyau existant sur le disque,restaurer le MBR

    8.7 Processus

    8.7.1 Examen de ltat du systme

    Menu system tool, system monitor outil graphiqueuptime, free, ps, top commandes en ligne

    8.7.2 Tuer un processus

    kill signal PID PID numro du processus quon veut tuer et quon a repr par ex. grce ps-el signal signal quon envoie au processus, les plus utiliss tant SIGHUP etSIGKILL

    http://fr.wikipedia.org/wiki/Damn_Small_Linuxhttp://distrowatch.com/dwres.php?resource=cd

  • 48 Niveaux de fonctionnement, processus

    SIGHUP ou 1 : relire les fichiers de configuration SIGKILL ou 9 : Crvecharogne ! ,

    kill 9 viter autant que possible, mais fort utile dans les casdsesprs ! On ne peut tuer que les processus qui vous appar-tiennent, heureusement, attention lorsquon lance cette commandecomme administrateur !

    8.7.3 Modes dexcution dun processus

    avant-plan, ou foreground, ou fg arrire-plan, ou background, ou bg

    Excution squentielle en avant-plan

    Le shell cre un processus fils qui va excuter la commande, puis se met en attentede la terminaison du fils avant dafficher nouveau linvite de commande, ou depasser la commande suivante : le processus sexcute en avant-plan.

    Excution parallle en arrire-plan

    Le shell cre un processus fils qui va excuter la commande, puis sans attendre laterminaison du fils, affiche le numro du job ainsi que le numro didentificationdu premier processus fils, et affiche son invite de commande, ou passe lacommande suivante.

    Syntaxe dexcution en arrire-plan

    commande &Pour passer de foreground backgroud : Ctrl-z , puis bg

  • Chapitre 9

    Gestion des packages

    9.1 RPM

    RedHat PackageManager : outil puissant, trs utileCf une documentation http://linuxline.epfl.ch/Doc/

    installation de nouveaux packagesrpm ivh nom_packageOption intressante -aid permet dajouter les paquets ncessaires la rsolutionde dpendances, si cest possible. mise jour :rpm Fvh nom_packageimportant pour appliquer les patchs de scurit dsinstallation :rpm e nom interrogations :

    rpm qa pour voir les packages installs rpm ql nom pour voir la liste des fichiers dpendant dun package install rpm qlp nom_package pour voir la liste des fichiers contenus dans un

    package rpm q scripts nom pour voir les scripts de pr et post installation. rpm qc nom pour voir les fichiers de configuration lis un package rpm qf nom_de_fichier pour savoir quel package appartient un fichier rpm qip nom_package pour obtenir des informations sur un package Importation de cls : rpm import *GPG-KEY*#

    "

    !

    Un cas particulier : la mise jour du noyau A lheure actuellelutilisation de la commande rpm permet de mettre jour le noyauet de modifier automatiquement le fichier grub.conf .Par dfautlancien noyau est conserv, on pourra donc toujours redmarreravec lancienne version en cas de problme.

    http://linuxline.epfl.ch/Doc/

  • 50 Gestion des packages

    9.2 yum

    Yellowdog Updater Modified (un quivalent de apt-get pour Debian) Unecouche au dessus de RPM, permet dinstaller et de mettre jour plus facilement,et en paramtrant les sites partir desquels on veut rechercher les mises jour oules nouveaux paquetages.

    9.2.1 Configuration

    fichiers /etc/yum.conf

    la ligne gpgcheck=1 signifie que par dfaut les paquets doiventtre signs et quon doit avoir la cl permettant de vrifier lau-thenticit de ces paquets.

    Rpertoire /etc/yum.repos.d : il contient les fichiers qui vont permettre desadresser certains serveurs./etc/yum.repos.d/fedora.repo[base]name=Fedora Core $releasever - $basearch - Base#baseurl=ftp://linuxline/fedora/fc6/osmirrorlist=ftp://linuxline/fedora/yum-fc6/local-baseenabled=1gpgcheck=1

    /etc/yum.repos.d/fedora-updates.repo[updates-released]name=Fedora Core $releasever - $basearch - Released Updates#baseurl=ftp://linuxline/fedora-updates/5/i386mirrorlist=ftp://linuxline/fedora/yum-fc6/local-updatesenabled=1gpgcheck=1

    Ne pas oublier dimporter les cls pour la vrification des paque-tages, surtout avec loption gpgcheck=1

    On peut prciser dans le fichier de configuration /etc/yum.conf que certainspaquetages ne DOIVENT PAS tre mis jour.exclude=mysql*

  • 9.2 yum 51

    Sous Fedora :Aller sur le site http://rpm.livna.orgInstaller un paquetage livna-releaseExaminer les changements apports dans le rpertoireyum.repos.d

    9.2.2 Utilisation en ligne de commande :

    Examiner : yum list installed yum list updates yum list gcc* yum info Mettre jour :

    yum update nom_paquetage yum update Installer :

    yum install nom_paquetage Dsinstaller :

    yum remove nom_paquetage

    9.2.3 Nouveaux outils graphiques

    A partir de Fedora 5 et de RHEL5 on dispose de boites outils graphiques pourutiliser yumpirut (add/remove software) pour grer linstallation et la dsinstallationde paquetagespup (Package Updater) pour grer les mises jour

    Comparaison des outils rpm et yum : Recopier un paquetage, parexemple php-5 partir de linuxlineEssayer de linstaller avec la commande rpm -ivh php-5*Puis utiliser la commande yum install php*

    #

    "

    !

    Les distributions Debian (et donc ubuntus) utilisent un autreformat pour grer les paquetages (.deb) et donc un autre ou-til :Advanced Package Tool pour grer les paquetages.Cependant actuellement il existe des outils apt dans les distribu-tions RedHat, et des outils rpm dans les distributions Debian.

    http://rpm.livna.org

  • 52 Gestion des packages

  • Chapitre 10

    NFS

    Network File System

    10.1 Ct serveur

    autoriser lexportation

    Fichier /etc/exports :##Exemple dexportation##Rep_local_export _qui(comment)#/export/sic-ii suntest1.epfl.ch(rw)/export/mirror *.epfl.ch(ro,insecure)#

    relancer les services NFS

    /etc/init.d/nfs restart

    vrifier

    showmount -e localhost

    Attention si on a activ un firewall, voir la section 11.2 la page56

  • 54 NFS

    10.2 Ct client

    vrifier les ressources exportes

    showmount -e serveur_distant

    Essayer un montage

    mount machine_distante_serveur:/rep_exp/mnt/rep_test

    automontage

    Voir la section 7.2.1 la page 33 Si cest bon, on peut essayer un auto-montage :Fichier /etc/auto.master/home auto.home --timeout 100/net auto.net

    /home et /net : rpertoires sous lesquels seront mont les ressources daprs lesrgles dfinies dans auto.home et auto.net Ces points de montage doivent tre VIDES#exemple de fichier /etc/auto.home:#user1 host1:/export/&user2 localhost:/rep_local/&

  • Chapitre 11

    Scurit

    11.1 Introduction SELinux :

    file:///net/linuxline/export/RHE/doc/rhe/RH-DOCS/rhel-rg-fr-4/ch-selinux.htmlhttp://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/

    SELinux fournit un systme de contrle daccs obligatoire (ou MAC, delanglais Mandatory Access Control) intgr au noyau Linux. Sous un systmestandard de contrle daccs discrtionnaire Linux (ou DAC, de langlaisDiscretionary Access Control), une application ou un processus excut en tantquutilisateur (UID ou SUID) reoit la permission de lutilisateur sur des objetstels que des fichiers, des sockets et dautres processus. Lexcution dun noyauMAC SELinux permet de protger le systme contre des applicationsmalveillantes ou dfectueuses qui peuvent endommager ou dtruire le systme.SELinux dfinit les droits daccs et de transition de chaque utilisateur,application, processus et fichier du systme. SELinux gouverne alors lesinteractions de ces sujets et objets laide dune politique de scurit qui spcifiele degr de rigueur ou de souplesse dune installation donne de Red HatEnterprise Linux.

    Les applications sont confines : le comportement dune application peut tretudi, quels sont les ports utiliss, quels sont les fichiers utiliss, en criture, enlecture, etc ; des rgles de fonctionnement normal de cette application sontainsi gnres, et toute dviation ces rgles sera soit empche si le mode estenforcing , soit signale si le mode est permissive .

    Pour vrifier le statut de SELinux : sestatus v

    Pour examiner les droits daccs SELinux des fichiers : ls Z(user :role :type)

    file:///net/linuxline/export/RHE/doc/rhe/RH-DOCS/rhel-rg-fr-4/ch-selinux.htmlfile:///net/linuxline/export/RHE/doc/rhe/RH-DOCS/rhel-rg-fr-4/ch-selinux.htmlhttp://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/

  • 56 Scurit

    11.2 Firewall

    Activation dun firewall : Bote outil graphique :Menu System Settings, Security levelsystem-config-securitylevel

    Fichier : /etc/sysconfig/iptables

    Examiner le fichier /etc/sysconfig/iptablesActiver le firewall en autorisant sshExaminer nouveau le fichier

    A tout moment on peut stopper lensemble des contrles du :/etc/init.d/iptables stop Voir la section 8.5.1 la page 46

    11.2.1 Paramtrage plus fin, exemple dun serveur NFS3

    Avec le firewall actif : toutes les demandes NFS sont rejetes.Que faire pourautoriser les accs sur le port NFS ?La commande rpcinfo -p localhost permet de visualiser les associationsport/services. Les informations se trouvent dans le fichier /etc/services .MAIS un certain nombre de services peuvent utiliser des ports dynamiquementallous par le portmapper . Si lon veut autoriser laccs ces services au traversdun systme protg par un firewall, il est indispensable dempcher lallocationdynamique et de contraindre le portmapper allouer des ports fixes pour ceservice.On va paramtrer cette allocation statique dans un fichier /etc/sysconfig/nfsqui, sil existe,est lu par dfaut au moment du dmarrage du service NFS , on peutvrifier en examinant le script de dmarrage /etc/init.d/nfs .

    Cration du fichier

    /etc/sysconfig/nfs

    #fichier /etc/sysconfig/nfs:

    MOUNTD_PORT=4002LOCKD_TCPPORT=4001LOCKD_UDPPORT=4001STATD_PORT=4000#

    redmarrer le service

    /etc/init.d/nfs restart

  • 11.2 Firewall 57

    configurer des nouvelles rgles

    : Il faut ouvrir les ports : portmapper 111 nfs 2049 mountd 4000 4003Do les rgles suivantes :

    -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 111 -j ACCEPT-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 2049 -j ACCEPT-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 4000:4003 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 111 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 2049 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 4000:4003 -j ACCEPT

    introduire avec un diteur de texte dans le fichier /etc/sysconfig/iptablesEt miracle, les ressources NFS seront alors disponibles mme si lon active lefirewall

    ATTENTION toujours faire une copie du fichier/etc/sysconfig/iptables avant et aprs les modifica-tions

  • 58 Scurit

  • Chapitre 12

    SAMBA

    Cest un utilitaire qui va permettre dintgrer une machine OS/linux dans unrseau Wins.

    12.1 Serveur

    Depuis la version 3, Samba va galement permettre lintgration dune machinelinux dans Active Directory, et linterrogation du serveur kerberos dActiveDirectory pour authentifier les utilisateurs, ce qui devrait permettre une unificationde la gestion des utilisateurs : authentification avec LDAP ct linux, avecKerberos ct Active Directory, lidentit, le numro dutilisateur, le mot de passetant alors identiques.Pour permettre des PC sous Windows daccder des ressources disponibles surun systme linux, il faut dcrire les ressources mises disposition : o, qui etc.Cf. des exemples de configurations dans/net/linuxline/export/mirror/divers/samba3

    Fichier /etc/smb.conf

    [homes]comment = Home {\%}ubrowseable = nowritable = yes

    [reputil]comment = utilpath = /export/utilwritable = yesbrowseable = yes

  • 60 SAMBA

    Positionnement du type dauthentification dans/etc/samba/smb.conf :security=ADS si on veut utiliser Active DirectoryNe pas oublier de configurer galement lauthentificationkerberos

    Configuration kerberos :Outil graphique system-config-authenticationOu dition et modification du ficher /etc/krb5.conf)

    Exemple :Realm SCX.INTRANET.EPFL.CHKDCs SCX.INTRANET.EPFL.CH :88

    12.1.0.1 Intgration dune serveur samba dans Active Directory

    Positionner default_realm (fichier /etc/krb5.conf ) sur le domaine danslequel on veut faire entrer le serveur, par exemple :default_realm = SCX.INTRANET.EPFL.CH Positionner galement la valeur de realm dans le fichier/etc/samba/smb.confrealm = SCX.INTRANET.EPFL.CH Obtenir un ticket kerberos :kinit [email protected] Inscrire le serveur en prcisant (option U) le nom dun utilisateur ayant des

    droits dadministration dans Active Directorynet ads join U [email protected] vrification : net ads testjoin'

    &

    $

    %

    La commande net ads join gnre beaucoup de messagesderreurs, pas toujours cohrents ni explicites, et parfois malgrles messages derreurs le serveur a bien t intgr dans ActiveDirectory, ce dont on saperoit dautant moins facilement que letemps de rafraichissement dActive Directory est . . .parfois un peulong

    12.2 Client, les outils

    12.2.1 Graphiques

    Dans konqueror , browser de kde , on peut indiquer le protocole smb dans lademande d url (Uniform Resource Locator)

  • 12.2 Client, les outils 61

    smb://SERVERSsmb://linuxline

    Pour accder une ressource dun PC dans Active Directory avec konqueror onpourra entrer dans l URLsmb://SCX.INTRANET.EPFL.CH\coulmance@siipc20/coulmance

    Cest diresmb://domaine\user_name@host_name/share_name

    Konqueror 3 permet galement un accs en protocole webdav (Web-basedDistributed Authoring and Versioning), et on pourra ensuite copier/coller etc.

    webdav://linux.epfl.ch/site/linuxline/

    12.2.2 Lignes de commande

    12.2.2.1 Examiner les ressources dune serveur Samba[coulmance@siipc22 util] smbclient -L linuxline

    Domain=[SERVERS] OS=[Unix] Server=[Samba 3.0.7-1.3E.1]

    Sharename Type Comment

    --------- ---- -------fedora-doc Disk fedora docfedora-6 Disk fedora fc6fedora-7 Disk fedora fc7RHEL-WS5 Disk RHEL WorkstationRHEL-DOC Disk RHEL Documentation

    Domain=[SERVERS] OS=[Unix] Server=[Samba 3.0.9-1.3E.13.2]

    ...

    12.2.2.2 Montages de ressources dun serveur Windows

    Commande en ligne en tant que root : ATTENTION aux diffrences de syntaxe selon les versions ! lancienne :mount -t smbfs -o username=coulmance/SCX.intranet.epfl.ch \//scxdata/coulmance$ /home/coulmance/scxdata

  • 62 SAMBA

    A la moderne : (Common Internet File System)mount t cifs o user=SCX.intranet.epfl.ch/coulmance \//scxdata/coulmance$ /home/coulmance/scxdata'

    &

    $

    %

    mount.cifs est une application relativement jeune ; il y a en-core pas mal de problmes, pas mal dinstabilit, des difficults de ngociations , et des bugs qui ne se manifestent pas de la mmemanire selon le serveur qui fournit la ressource.Truc : modinfo commande pour connaitre la version du modulecifs

    Trouvez le numro de version du module cifs.ko

    Le module pam_mout Il permet le montage automatique et transparent deressources Windows au moment de la connexion des utilisateurs, avec demandedun seul mot de passe qui sera ensuite transmis aux diffrents modules de PAMet permettra une succession dauthentification, unix, puis ldap, puis kerberos ...Exemple de configuration de /etc/security/pam_mount.conf pour activerun montage :

    volume * smb scxdata &$ /home/&/scxdata uid=&,gid=10072 - -

  • Chapitre 13

    Connexions distance

    '

    &

    $

    %

    AUCUN accs sur une machine de lEPFL nest possible depuislextrieur ; voir DIODEhttp://dit.epfl.ch/page51041.htmlCertaines machines pouvant tre ouvertes dans certaines condi-tions et sur demande, la forteresse nest cependant pas inexpug-nable !

    13.1 SSH, Secure SHell

    13.1.1 ssh et scp

    Permet les connexions distance avec encryption :Commandessh -l login_name nom_machine_distanteexit pour quitter

    La redirection X nest pas autorise par dfaut. Cest dire quon na pas lapossibilit de lancer en ligne de commande partir de la fentre terminal de lamachine distante,lorsquon est connect, une commande permettant douvrir uneapplication X, par ex. xclock sur lcran de la machine sur laquelle on travaille.Lautorisation de la redirection X se fait : ct client : fichier /etc/ssh/ssh_config ForwardX11 yes ct serveur : fichier /etc/ssh/sshd_config X11Forwarding yes

    Mme principe de fonctionnement pour la commande scp qui va permettre decopier dune machine lautre :scp un_fichier utilisateur@machine_distante:/chemin_acces/Ou dans lautre sens, bien sr, dune machine distante un compte local. Loption-r permet la copie rcursive dun rpertoire avec lensemble des sous-rpertoires.

    http://dit.epfl.ch/page51041.html

  • 64 Connexions distance

    13.1.2 ssh et les cls

    La commande ssh-keygen permet de gnrer des cls privs et publiques. Cescls sont stockes dans un sous rpertoire /.ssh .On peut ensuite recopier lacl publique id_dsa.pub (pour la version 1 du protocole ssh) ou id_rsa.pub(pour la version 2 du protocole SSH) dans un fichier authorized_keys dans lesous rpertoire /.ssh/ sur la machine distante.

    Gnrer des cls Examiner les variables denvironnement lies SSH Tester la commande ssh-add

    On peut ensuite ajouter la commande ssh-add dans les commandes lancer audmarrage dune session Gnome (ou KDE), ce qui vitera lentre dun mot depasse ou dune passphrase lorsquon se connectera avec ssh

    Examiner Preferences, More preferences, session

    13.2 Autres

    putty, winscp : pour se connecter une machine linux depuis Windows

    13.3 Terminal distant

    Voir E la page 79Ct serveur : vncserverCt client : vnc , ou tsclientOu bien X-Win32 disponible sur Distrilog.

    13.4 VPN

    Virtual PrivateNetworkhttp://network.epfl.ch/vpn/

    http://network.epfl.ch/vpn/

  • Annexe A

    Organisation linuxline.epfl.ch

    A.1 Rpertoires de base

    A.1.1 fedora

    /export/mirror/fedora/f(c)n (n : numro de version)

    /iso : images des CD

    /os : distribution

    Ces deux rpertoires peuvent se trouver dans des sous-rpertoiresi386 et x86_64

    A.1.2 RedHatEnterprise

    /export/RHE /ws-n ou /as-n (n : numro de version)

    /iso : images des CD

    /i386 : distribution

    /update n : mises jour

    les rpertoires iso et os peuvent se trouver dans des sous-rpertoires x86_32 et x86_64

    /export/RHE/ws-3/epfl : quelques fichiers exemples pour kickstart

    A.2 Mises jour Fedora

    Configuration de yum , voir la section 9.1 la page 50/export/mirror/fedora-updates

  • 66 Organisation linuxline.epfl.ch

    F-Errata :/master : tous les derniers patchs/patches : TOUS les patchs

    A.3 Accs

    montage NFS /net/linuxline Samba, partir de lexplorateur rseau sous Windows, group Servers ,linuxline http://linuxline pour RHEL partir de la version 4, pour fedora partir de

    la version 7 ftp://linuxline pour les distributions fedora

    http://linuxlineftp://linuxline

  • Annexe B

    Editeur VI

    Editeur VI : pas trs convivial, mais si utile quil est indispensable den connatreles bases.Cest un diteur Interactif Visuel Utilisant un fichier temporaire (le document original est conserv jusqu ce

    quune demande explicite dcriture sur disque soit faite)

    B.1 Fonctionnement

    Mode commande Mode insertion Mode ligne

    B.1.1 Mode commande

    Il est invoqu par dfaut, et on retourne en mode commande grce ESC partirdu mode insertion. Il permet les dplacements, les suppressions, les dplacementset copies de parties de fichiers.

    B.1.2 Mode insertion

    Il permet lajout, linsertion de texte.Il est invoqu partir du mode commande par la frappe dun caractre. a append : ajout aprs le curseur A Append : ajout la fin de la ligne i insert : insre avant le curseur I Insert : insre au dbut de la ligne o open : ajoute une ligne aprs la ligne courante O Open : ajoute une ligne avant la ligne courante

  • 68 Editeur VI

    B.1.3 Mode ligne

    Il est invoqu partir du mode commande par la frappe du caractre :Ce caractre : apparat sur la dernire ligne de lcran.Il permet entre autres les critures sur le disque, lexcution dune commande, etla sortie ! :q ! annulation des modifications apportes au texte, et sortie de vi. :wq cr