Vous êtes sur la page 1sur 76

COURS LINUX INSTALLATION ET ADMINISTRATION

ATRID

COURS LINUX - INSTALLATION ET ADMINISTRATION par ATRID Copyright 1999-2000 par ATRID Systmes
Ce document peut tre librement lu, stock, reproduit, diffus, traduit et cit par tous moyens et sur tous supports aux conditions suivantes:

Tout lecteur ou utilisateur de ce document reconnat avoir pris connaissance de ce quaucune garantie nest donne quant son contenu, tous points de vue, notamment vracit, prcision et adquation pour toute utilisation ; il nest procd aucune modication autre que cosmtique, changement de format de reprsentation, traduction, correction dune erreur de syntaxe vidente, ou en accord avec les clauses ci-dessous ; le nom, le logo et les coordonnes de lauteur devront tre prservs sur toutes les versions drives du document tous les endroits o ils apparaissent dans loriginal, les noms et logos dautres contributeurs ne pourront pas apparatre dans une taille suprieure celle des auteurs prcdents, des commentaires ou additions peuvent tres insrs condition dapparatre clairement comme tels ; les traductions ou fragments doivent faire clairement rfrence une copie originale complte, si possible une copie facilement accessible ; les traductions et les commentaires ou ajouts insrs doivent tre dats et leur(s) auteur(s) doi(ven)t tre identiable(s) (ventuellement au travers dun alias) ; cette licence est prserve et sapplique lensemble du document et des modications et ajouts ventuels (sauf en cas de citation courte), quelquen soit le format de reprsentation ; quel que soit le mode de stockage, reproduction ou diffusion, toute version imprime doit contenir une rfrence une version numrique librement accessible au moment de la premire diffusion de la version imprime, toute personne ayant accs une version numrise de ce document doit pouvoir en faire une copie numrise dans un format directement utilisable et si possible ditable, suivant les standards publics, et publiquement documents en usage ;

La transmission de ce document un tiers se fait avec transmission de cette licence, sans modication, et en particulier sans addition de clause ou contrainte nouvelle, explicite ou implicite, lie ou non cette transmission. En particulier, en cas dinclusion dans une base de donnes ou une collection, le propritaire ou lexploitant de la base ou de la collection sinterdit tout droit de regard li ce stockage et concernant lutilisation qui pourrait tre faite du document aprs extraction de la base ou de la collection, seul ou en relation avec dautres documents. Toute incompatibilit des clauses ci-dessus avec des dispositions ou contraintes lgales, contractuelles ou judiciaires implique une limitation correspondante : droit de lecture, utilisation ou redistribution verbatim ou modie du document. Adapt de la licence Licence LLDD v1, octobre 1997, Libre reproduction Copyright Bernard Lang [F1450324322014] URL : http://pauillac.inria.fr/~lang/licence/lldd.html

Historique des versions Version 1.0 du25/08/1998 Version initiale Version 1.1 du04/12/1998 Ajout outils graphiques Version 1.2 du19/02/1999

Corrections prsentation Version 1.3 du09/07/1999 Corrections, adaptation Mandrake 6.0 Version 1.4 du16/11/1999 Relecture Thierry STOEHR Version 1.5 du22/05/2000 Passage en LateX et corrections Version 1.6 du18/10/2000 Passage en SGML et corrections

Table des matires


Introduction............................................................................................................................................................ 7 1. Prsentation de Linux................................................................................................................................. 7 2. Caractristiques techniques de Linux......................................................................................................... 7 3. Linux et les distributions ............................................................................................................................ 7 4. De ce support de cours ............................................................................................................................... 8 5. Copyrights .................................................................................................................................................. 8 1. Installation .......................................................................................................................................................... 9 2. Documentations................................................................................................................................................ 10 2.1. Documentation en ligne ........................................................................................................................ 10 2.1.1. Le manuel ................................................................................................................................. 10 2.1.2. Texinfo ...................................................................................................................................... 11 2.1.3. Les HOWTO............................................................................................................................. 11 2.1.4. Les documentations .................................................................................................................. 11 2.1.5. Les guides du Linux Documentation Project (LDP) : .............................................................. 11 2.2. Autres sources dinformation ................................................................................................................ 11 2.2.1. Les sites Web ............................................................................................................................ 11 2.2.2. les forums.................................................................................................................................. 12 2.2.3. Les livres................................................................................................................................... 12 3. Organisation des chiers ................................................................................................................................. 13 3.1. Le rpertoire /etc ................................................................................................................................ 13 3.2. Le rpertoire /home .............................................................................................................................. 14 3.3. Le rpertoire /usr ................................................................................................................................ 14 3.4. Le rpertoire /var ................................................................................................................................ 14 4. Les commandes Linux ..................................................................................................................................... 16 4.1. Principes ................................................................................................................................................ 16 4.2. Manipulation des chiers ...................................................................................................................... 16 4.3. Filtre en mode texte............................................................................................................................... 17 4.4. Gestion des processus............................................................................................................................ 18 4.5. Commandes diverses ............................................................................................................................. 18 4.6. Linterprteur de commandes ................................................................................................................ 19 4.6.1. Le lancement............................................................................................................................. 19 4.6.2. La ligne de commandes ............................................................................................................ 20 4.6.3. Les variables de linterprteur .................................................................................................. 21 4.6.4. Un diteur de texte : vi.............................................................................................................. 22 4.6.5. La programmation .................................................................................................................... 24 4.6.5.1. Le premier programme................................................................................................. 24 4.6.5.2. Les variables prdnies .............................................................................................. 24 4.6.5.3. Lexcution conditionnelle ........................................................................................... 25 4.6.5.4. Les boucles................................................................................................................... 27 4.6.5.5. Les fonctions ................................................................................................................ 28 4.6.6. Gestion de processus................................................................................................................. 29

ATRID Systmes http://www.atrid.fr

5. Utilisateurs, processus et chiers.................................................................................................................... 30 5.1. Utilisateurs ............................................................................................................................................ 30 5.2. Processus ............................................................................................................................................... 31 5.3. Fichiers .................................................................................................................................................. 32 5.3.1. Types de chiers ....................................................................................................................... 32 5.3.2. Attributs des chiers ................................................................................................................. 32 5.3.3. Droits daccs ........................................................................................................................... 34 6. Dmarrage et arrt .......................................................................................................................................... 36 6.1. Le dmarrage du noyau ......................................................................................................................... 36 6.2. Le processus init.................................................................................................................................... 36 6.2.1. Le chier /etc/inittab ........................................................................................................ 36 6.2.2. Le rpertoire /etc/rc.d ......................................................................................................... 38 6.3. Larrt du systme ................................................................................................................................. 39 7. Gestion des priphriques ............................................................................................................................... 40 7.1. Les chiers spciaux ............................................................................................................................. 40 7.2. Les disques durs .................................................................................................................................... 41 7.3. Imprimantes........................................................................................................................................... 43 7.3.1. Les commandes dimpression................................................................................................... 43 7.3.2. Le chier /etc/printcap ...................................................................................................... 44 7.3.3. Les ltres .................................................................................................................................. 45 7.4. Sauvegardes ........................................................................................................................................... 45 7.4.1. Les commandes dump et restore............................................................................................. 46 7.4.2. La commande tar ..................................................................................................................... 46 7.4.3. La commande cpio ................................................................................................................... 47 7.4.4. La commande dd ...................................................................................................................... 48 7.4.5. La commande mt...................................................................................................................... 48 7.4.6. Recherche avec nd.................................................................................................................. 49 8. Automatisation ................................................................................................................................................. 51 8.1. Le chier crontab .................................................................................................................................. 51 8.2. La commande crontab .......................................................................................................................... 51 8.3. La commande at.................................................................................................................................... 52 9. Le noyau............................................................................................................................................................ 53 9.1. La gnration dun noyau...................................................................................................................... 53 9.2. LILO...................................................................................................................................................... 54 9.3. Les modules........................................................................................................................................... 55 10. Suivi et traces.................................................................................................................................................. 56 10.1. Lutilisation du disque ......................................................................................................................... 56 10.1.1. Les commandes de suivi ......................................................................................................... 56 10.1.2. Gestion des quotas .................................................................................................................. 56 10.2. Les processus et la mmoire................................................................................................................ 57 10.3. Les chiers de trace............................................................................................................................. 58 10.4. Le systme de chiers /proc ................................................................................................................ 59

ATRID Systmes http://www.atrid.fr

11. Rseaux ........................................................................................................................................................... 61 11.1. Conguration....................................................................................................................................... 61 11.2. Les commandes ................................................................................................................................... 62 11.3. Les chiers .......................................................................................................................................... 62 11.4. Applications rseau ............................................................................................................................. 63 11.4.1. DNS ........................................................................................................................................ 63 11.4.2. SaMBa .................................................................................................................................... 63 11.4.3. SENDMAIL............................................................................................................................ 63 11.4.4. NFS ......................................................................................................................................... 63 11.4.5. NIS.......................................................................................................................................... 64 12. Xwindow ......................................................................................................................................................... 65 13. Scurit............................................................................................................................................................ 66 13.1. Gnralits........................................................................................................................................... 66 13.2. Les services systmes.......................................................................................................................... 66 13.3. Les rewalls ........................................................................................................................................ 66 13.4. Les outils ............................................................................................................................................. 66 13.4.1. SATAN.................................................................................................................................... 67 13.4.2. TRIPWIRE ............................................................................................................................. 67 13.4.3. SAINT..................................................................................................................................... 67 13.4.4. COPS ...................................................................................................................................... 67 14. Outils graphiques dadministration ............................................................................................................. 68 14.1. Les outils Red Hat ............................................................................................................................... 68 14.2. Linuxconf ............................................................................................................................................ 68 14.3. Webmin ............................................................................................................................................... 68 15. Gestion des packages ..................................................................................................................................... 70 15.1. Fonctionnement des packages RPM.................................................................................................... 70 15.2. Commande RPM ................................................................................................................................. 70 15.3. Outils graphiques................................................................................................................................. 71 15.4. Commande rpmnd............................................................................................................................. 72 16. En cas de problmes sur le systme.............................................................................................................. 73 16.1. Mode Single User................................................................................................................................ 73 16.2. Disquette de rescue.............................................................................................................................. 73 16.3. Demolinux ........................................................................................................................................... 73 16.4. Rparer son systme............................................................................................................................ 74 16.4.1. Systmes de chiers endommags.......................................................................................... 74 16.4.2. Mot de passe root oubli......................................................................................................... 74 16.4.3. Restaurer une sauvegarde ....................................................................................................... 74

ATRID Systmes http://www.atrid.fr

Introduction
1. Prsentation de Linux
Linux est un systme dexploitation libre, ralisant un sous-ensemble de la norme POSIX. Initialement, le terme "Linux" dsigne uniquement le noyau. Par extension, on donne galement ce nom aux distributions bases sur ce noyau et un ensemble doutils du projet GNU. Linux est un systme Unix, mais nutilise aucun code propritaire et est fourni sous licence GPL, ce qui implique la disponibilit des sources. Comme tout autre systme Unix, il est multi-tches, multi-utilisateurs. Il est galement extrmement portable, puisquil est aujourdhui disponible ofciellement sur des processeurs Intel (i386 Pentium III), Alpha, Motorola (680x0 et PowerPC), Sparc, StrongArm, Mips. Sans compter les portages oprationnels ou en cours sur PalmPilot, Itanium (ex-Merced), PA-Risc, Crusoe ... Les version du noyau Linux sont de la forme "x.y.z". Si "y" est un nombre pair, la version est stable et seules des corrections danomalies y sont en gnral applique lors de lincrment de "z". Si "y" est un nombre impair, il sagit dune version de dveloppement et donc instable.

2. Caractristiques techniques de Linux


Linux dispose des caractristiques suivantes :

Multi-tches : excute plusieurs programmes en parallle. Multi-utilisateurs : plusieurs utilisateurs peuvent travailler simultanment sur la mme machine. Introprable : supporte les systmes de chiers : System V, BSD, Sun, MS-DOS, VFAT, NTFS, Mac, HPFS, EFS, ISO9660 et les protocoles rseau TCP/IP v4 et v6, Appletalk, Netware (client et serveur), SMB (client et serveur). Conforme aux standards : Posix, avec les extensions Systme V et BSD. Prise en charge des binaires COFF et ELF. Compatibilit binaire avec SCO, SVR3/4 par le module iBCS2.

3. Linux et les distributions


Le terme Linux ne dsigne que le noyau, qui nest pas sufsant pour obtenir un systme dexploitation fonctionnel. Il faut y ajouter les fonctions de base (manipulation de chiers, dutilisateurs...) ainsi que les logiciels qui vont assurer certains services (serveur web, serveur de messagerie...). An de simplier linstallation de ces diffrents outils, de nombreux diteurs ont mis en place des distributions, contenant la fois le noyau Linux et tous les outils ncessaires son fonctionnement. Les distributions diffrent par le choix des logiciels proposs (en dehors dans grands standards incontournables), de la conguration par dfaut, du format de packages logiciels, et ventuellement par lajout doutils propres la distribution. Parmi les principales distributions GNU/Linux, on peut citer :

ATRID Systmes http://www.atrid.fr

Introduction

RedHat (http://www.redhat.com) Debian (http://www.debian.org) Mandrake (http://www.linux-mandrake.com) Slackware (http://www.slackware.org) Suse (http://www.suse.com)

4. De ce support de cours
Les informations donnes ici sont bases sur les distributions Redhat6.0 et Mandrake 6.0 de Linux. Les autres distributions de Linux partagent la plupart des concepts voqus ici, mais peuvent apporter des modications mineures concernant la localisation des programmes ou les outils mis en oeuvre. Linux tant un systme vivant, il y a beaucoup de chances que les informations donnes ici changent au cours des prochaines volutions. Nanmoins, la plupart des concepts prsents viennent du monde Unix et sont standardiss voire normaliss par les normes Posix.

5. Copyrights

Linux est une marque dpose de Linus Torvalds. Windows, Windows NT, Windows 95 sont~ des marques dposes de Microsoft Corporation. Linux-Mandrake est une marque dpose de la socit MandrakeSoft. Red Hat est une marque dpose de la socit Red Hat Software. UNIX est une marque dpose de The Open Group.

ATRID Systmes http://www.atrid.fr

Chapitre 1. Installation
Linstallation de la distribution Mandrake 6.0 seffectue en suivant la procdure dcrite dans le guide dinstallation. Il est possible de slectionner diffrentes mthodes dinstallation :

le cdrom local connect la machine par NFS en se connectant une image du cdrom exporte par une machine distante partir dun serveur FTP par une image exporte via SaMBa partir de chiers copis sur le disque dur local

Les points importants vrier sont :


le dcoupage du disque dur en partitions (voir le chapitre Gestion des priphriques) les priphriques installs dans la machine ; il faut avoir les informations de conguration de ces priphriques (adresse, IRQ). les paramtres de connexion au rseau

Il est important de raliser une disquette de dmarrage qui sera utilise en cas de problme sur le disque dur.

ATRID Systmes http://www.atrid.fr

Chapitre 2. Documentations
2.1. Documentation en ligne
Il existe plusieurs types daide en ligne :

le manuel de rfrence les "HOWTO" les documents du "Linux Documentation Project", alias LDP les chiers de documentation des paquetages

2.1.1. Le manuel
Le manuel en ligne est accessible par la commande man. Il est organis en diffrentes sections : Section 1 2 3 4 5 6 7 8 9 Intitul les commandes utilisateur les appels systme les bibliothques de programmation les chiers spciaux les formats de chiers les jeux divers les commandes dadministration le noyau

La syntaxe de la commande man est :


man {[}options{]} {[}section{]} commande

Par dfaut, les sections sont parcourues dans lordre des numros. Il est possible de prciser le numro de section pour rsoudre les problmes de synonymes : ex : man kill et man 2 kill La variable denvironnement MANPATH donne le chemin de recherche des pages de manuel. Par exemple :
MANPATH=/usr/man:/usr/local/man

Il existe une base de mots cls pour la recherche dans les pages de manuel. Cette base est construite par la commande /usr/sbin/makewhatis. Les commandes apropos et whatis permettent deffectuer des recherches dans cette base de donnes.

ATRID Systmes http://www.atrid.fr

10

Chapitre 2. Documentations

2.1.2. Texinfo
Cest un projet de la FSF (Free Software Foundation) pour remplacer les pages de manuel classiques. La base de donnes dinformations est rpartie et accessible par la commande info. Cette commande permet de visualiser en mode interactif des documents hypertexte. Le systme est auto renseign, il suft de lancer info et de naviguer dans cet environnement pour avoir laide en ligne.

2.1.3. Les HOWTO


Les HOWTO sont des documents expliquant comment effectuer une tche donne comme : "Installer Linux sur le mme disque que Windows NT". Ils sont disponibles dans plusieurs formats (texte, Postscript, HTML) et sont installs dans le rpertoire /usr/doc/HOWTO. Ce sont les premiers documents consulter lorsquon recherche une information pouvant sexprimer par Comment faire pour ? . Il existe des traductions franaises de ces documents sur (http ://www.freenix.fr/linux/HOWTO/)

2.1.4. Les documentations


A partir du rpertoire /usr/doc, on trouve les documentations des paquetages installs. Le contenu est assez ingal et dpend du concepteur du paquetage. Cest nanmoins une ressource importante en terme de documentation.

2.1.5. Les guides du Linux Documentation Project (LDP) :


"Installation and getting started guide" "The Linux kernel hackers guide" "The Linux Kernel" "The Linux Programmers guide" "The Linux Kernel Module Programming Guide" "The Linux Network Administrators Guide" "The Linux Users Guide" "The Linux System Administrators Guide"

Comme pour les HOWTO, certains de ces guides sont traduits en franais.

2.2. Autres sources dinformation


2.2.1. Les sites Web
Certains sites web proposent de la documentation en ligne ou tlchargeable sur le systme Linux :

ATRID Systmes http://www.atrid.fr

11

Chapitre 2. Documentations

Linux Center : (http://linux-center.org/fr/) Unix Guru Universe : (http://www.ugu.com/) LDP : (http://sunsite.unc.edu/mdw/linux.html/) Le guide du ROOTard : (http://www.freenix.fr/linux/Guide)

Dautres sites proposent des nouvelles concernant Linux et les logiciels libres en gnral. Ce sont de bonnes sources pour se tenir inform des nouvelles versions de logiciels :

Freshmeat : (http://www.freshmeat.net) Da Linux French Page : (http://linuxfr.org/)

2.2.2. les forums


Un grand nombre de forums existe traitant en totalit ou partie de Linux. Les plus importants et les plus frquents sont :

fr.comp.os.linux.conguration fr.comp.os.linux.annonce fr.comp.os.linux.moderated comp.os.linux.answers comp.os.linux.security comp.os.linux.setup

Les forums disposent de leur moteur de recherche : dejanews, disponible sur http ://www.deja.com/usenet, qui permet deffectuer une recherche sur la totalit des forums, ou sur certains dentre eux uniquement grce aux fonctions power search (http ://www.deja.com/home_ps.shtml).

2.2.3. Les livres


Les ouvrages de la collection OReilly sont gnralement bien crits et de bon niveau technique car raliss par des spcialistes du domaine concern : (http ://www.editions-oreilly.fr/)

ATRID Systmes http://www.atrid.fr

12

Chapitre 3. Organisation des chiers


Ce chapitre prsente lorganisation du systme de chiers et le rle de chacun des rpertoires Il nexiste pas de norme dorganisation du systme de chiers, mais un standard est peu prs suivi par les diffrentes distributions de Linux. Lorganisation traditionnelle du rpertoire racine est dcrite dans le tableau suivante : Rpertoire /bin /boot /dev /etc /home /lib /lost+found /mnt /proc /root /sbin /tmp /usr /var contient les chiers excutables ncessaires linitialisation le noyau et les chiers de dmarrage les chiers spciaux les chiers de conguration du systme et certains scripts la base des rpertoires utilisateurs les librairies systme et les modules le stockage des chiers retrouvs par fsck les points dancrage des systmes extrieurs un systme de chiers virtuels permettant laccs aux variables du noyau le rpertoire de base du super utilisateur les chiers excutables pour ladministration du systme les chiers temporaires les programmes, les librairies et les chiers accessibles pour lutilisateur les donnes variables lies la machine (spool, traces)

Le rpertoire de base / sappelle : rpertoire racine (root) par analogie avec la racine dun arbre reprsentant le systme de chiers. Il nest pas standard dajouter des rpertoires au niveau de la racine. Ce systme de chiers peut rsider sur diffrentes partitions, diffrents supports physiques ou sur dautres machines sur le rseau. Ce dcoupage est compltement transparent pour les utilisateurs du systme de chiers. Les diffrentes parties peuvent tre connectes au dmarrage du systme ou la demande, en cours dutilisation.

3.1. Le rpertoire /etc


Ce rpertoire contient les chiers de conguration du systme. On trouve les sous-rpertoires suivants : Rpertoire ./X11 ./rc.d ./logrotate.d Contient les chiers de conguration de Xwindow les scripts de dmarrage du systme les chiers de conguration de logrotate pour les paquetages

ATRID Systmes http://www.atrid.fr

13

Chapitre 3. Organisation des chiers

Rpertoire ./cron ./skel ./syscong

Contient les tches effectuer la priodicit donne (daily, hourly, monthly, weekly) les chiers recopier dans le rpertoire dun nouvel utilisateur les chiers de conguration des priphriques

3.2. Le rpertoire /home


Le rpertoire /home contient les rpertoires des utilisateurs logs sur cette machine. Chaque utilisateur possde son propre rpertoire, mais il est possible de crer des structures de groupes de travail en organisant les sousrpertoires.

3.3. Le rpertoire /usr


Le rpertoire /usr contient de nombreux sous-rpertoires. On retrouve presque la mme organisation que sous la racine, mais le contenu est destin aux utilisateurs plus quau systme lui-mme. La structure de /usr est la suivante : Rpertoire ./X11R6 ./bin ./doc ./etc ./games ./include ./lib ./local ./man ./sbin ./share ./src Contient la hirarchie des chiers Xwindow (version 11 rvision 6) les commandes du systme les documentations en ligne la conguration des commandes utilisateurs les jeux les chiers de dnition des librairies pour la programmation en C les librairies non systme la hirarchie des chiers propres cette installation les chiers des pages du manuel en ligne les commandes dadministration non ncessaires au dmarrage les chiers de conguration partags les sources du systme et des applications

Xwindow est lenvironnement graphique dUnix. Il est trs exible et congurable et possde des fonctionnalits rarement vues dans dautres environnements. On retrouve, dans ce rpertoire, une hirarchie de chiers ressemblant celle de la racine, mais ddie lenvironnement Xwindow.
/usr/local doit contenir les outils installs en dehors du contexte de la distribution. On retrouve une hirarchie complte semblable /usr.

ATRID Systmes http ://www.atrid.fr

14

Chapitre 3. Organisation des chiers

3.4. Le rpertoire /var


Le rpertoire /var contient les donnes variables du systme, cest--dire les chiers propres linstallation ralise sur cette machine. Rpertoire ./catman ./lib ./lock ./log ./run ./spool Contient les chiers daide mis en forme quelques chiers de conguration les chiers de verrous des applications les chiers denregistrement des traces les chiers contenant les "pid" des processus du systme les chiers du spooler et de la messagerie

Le rpertoire catman contient les pages de manuel mises en forme pour un accs plus rapide lors dune deuxime utilisation. Le rpertoire log contient les chiers de trace de fonctionnement du systme. Une grande partie du travail dadministration consiste suivre les enregistrements an de dtecter les mauvais fonctionnements. Le programme logrotate permet de conserver un historique des chiers. Il existe des outils de gestion des chiers de trace pour permettre, entre autres, la dtection des intrusions sur le systme. Le rpertoire spool contient des sous-rpertoires de gestion des spoolers dimpression (lpd), de courriers (mail), de forums (news), etc. Ces sous-rpertoires peuvent contenir, momentanment, des chiers de taille importante.

ATRID Systmes http://www.atrid.fr

15

Chapitre 4. Les commandes Linux


4.1. Principes
Utiliser Linux consiste se connecter sur la machine et passer les commandes ncessaires pour accomplir la tche que lon sest xe. Il existe deux environnements de travail diffrents sous Linux :

le mode texte, o lon saisit les commandes au clavier et o le rsultat safche sous forme de lignes de texte sur un cran lenvironnement Xwindow ; il sagit dun environnement multi-fentres en rseau avec des applications commandes par une souris.

Nous allons voir les commandes utilisateur principales de Linux (il en existe plusieurs centaines). Les commandes sont des programmes crits avec nimporte quel langage informatique pour rsoudre un problme donn. Le systme est volutif et il est facile dajouter de nouvelles commandes. Toutefois, avant dcrire une commande, il faut vrier quil nexiste pas quelquun ayant dj effectu ce travail par une recherche sur le systme ou sur le Web. Une commande Linux est toujours compose de la mme faon :
nom_commande {[}options{]} liste_de_paramtres

Les options sont gnralement composes du signe - et dun caractre ou dun mot. Elles modient, ou prcisent, le fonctionnement de la commande. La liste des paramtres permet de spcier la cible de la commande. Les options et les paramtres sont spars par des caractres blancs (espace ou tabulation). Tous les programmes Linux sont lancs avec trois chiers ouverts : lentre standard (stdin), la sortie standard (stdout) et la sortie des erreurs (stderr). Par dfaut, lentre standard est le clavier et les sorties sont diriges sur lcran. Il est possible de rediriger lentre ou la sortie vers un chier ou vers une autre commande. Ceci permet denchaner des traitements sur un ot de donnes. signe < > 2> 2>&1 | fonction permet de rediriger lentre standard depuis un chier permet de rediriger la sortie standard vers un chier permet de rediriger la sortie des erreurs vers un chier permet de rediriger la sortie des erreurs vers la sortie standard permet de rediriger la sortie standard dans lentre dune autre commande

Sachant que les priphriques sont vus par Linux comme des chiers (par lintermdiaire des chiers spciaux), cela permet de crer des ltres puissants pouvant grer des chiers ou des entres / sorties.

ATRID Systmes http://www.atrid.fr

16

Chapitre 4. Les commandes Linux

4.2. Manipulation des chiers


Commande pwd cd basename chmod chgrp chown cp ln mkdir mknod rm rmdir mv touch df du le mtools mdir Description afche le chemin du rpertoire courant change le rpertoire courant (commande interne du shell) extrait le nom du chier dun chemin complet modie les droits dun chier change le groupe propritaire du chier change lutilisateur propritaire du chier copie de chiers afche la liste des chiers dun rpertoire cre des rpertoires cre un nom de chier temporaire unique dtruit des chiers dtruit des rpertoires dplace des chiers met jour les dates daccs des chiers afche la place disque disponible donne la place disque utilise par le rpertoire courant donne le type de chier ensemble doutils pour la gestion des disquettes MS-DOS afche la liste des chiers dune disquette MS-DOS

4.3. Filtre en mode texte


Commande cat sort sed more less cut expand head Description concatne les chiers sur la sortie standard trie les lignes de texte en entre effectue des modications sur les lignes de texte afche lcran lentre standard en mode page par page afche lcran lentre standard en mode page par page avec des possibilits de retour en arrire permet disoler des colonnes dans un chier transforme les tabulations en espaces afche les n premires lignes

ATRID Systmes http://www.atrid.fr

17

Chapitre 4. Les commandes Linux

Commande join paste tail tac uniq rev pr tee tr

Description permet de joindre les lignes de deux chiers en fonction dun champ commun concatne les lignes des chiers afche les n dernires lignes du chier concatne les chiers en inversant lordre des lignes limine les doublons dun chier tri inverse lordre des lignes dun chier formate un chier pour limpression crit lentre standard sur la sortie standard et dans un chier remplace ou efface des caractres

4.4. Gestion des processus


Commande ps kill nice Description afche la liste des processus envoie un signal un processus xe la priorit dun processus

4.5. Commandes diverses


Commande true false echo date gzip sleep grep nd bc cal clear csplit diff Description ne fait rien sans erreur ne fait rien, avec une erreur afche une ligne de texte afche et modie la date courante compresse les chiers attend pendant le temps spci recherche de chanes de caractres dans des chiers recherche des chiers sur le systme calculatrice en mode texte afche le calendrier efface lcran dcoupe un chier en sections permet dobtenir la diffrence entre deux chiers

ATRID Systmes http://www.atrid.fr

18

Chapitre 4. Les commandes Linux

Commande factor hexdump id passwd wc whereis who

Description recherche les facteurs premiers dun nombre afche le contenu dun chier en hexadcimal afche lidentication dun utilisateur permet de changer le mot de passe compte les caractres, les mots et les lignes en entre permet de trouver lemplacement dune commande afche la liste des utilisateurs prsents

4.6. Linterprteur de commandes


Le shell est linterprteur de commandes en mode texte du systme Linux lanc chaque ouverture de session. Ce nest pas le seul moyen de passer des commandes, il existe un environnement graphique avec des outils interactifs, mais cest le plus pratique pour ladministrateur. Le shell permet :

lexcution des commandes la redirection des entres et des sorties la substitution des noms de chiers la gestion des variables denvironnement la possibilit de raliser des scripts

Il existe de nombreux shells avec des caractristiques diffrentes ; celui livr en standard dans les distributions Linux est bash (Bourne Again SHell). Les diffrences se trouvent surtout dans la syntaxe du langage de scripts et dans la gestion des variables denvironnement.

4.6.1. Le lancement
En fonction du mode de lancement, linterprteur de commandes utilise diffrents chiers dinitialisation. On distingue deux modes de dmarrage de linterprteur de commandes, qui peut tre un shell de dmarrage (login) ou un shell interactif. Pour le shell de dmarrage, lordre de lecture des chiers de dmarrage est :

le chier /etc/profile le chier $HOME/.bash_profile sil existe, sinon le chier $HOME/.bash_login sinon le chier $HOME/.profile

Lorsquil se termine, il excute les commandes du chier $HOME/.bash_logout sil existe. Pour un shell interactif, le chier $HOME/.bashrc est excut.

ATRID Systmes http://www.atrid.fr

19

Chapitre 4. Les commandes Linux

4.6.2. La ligne de commandes


Le shell interprte les commandes en grant des caractres spciaux. La signication de ceux-ci est indique dans cette table : Caractres nouvelle ligne (0xa) espaces ou \ & < > << >> | * ? [ ] [^ ] $ ; Signication n de la ligne de commande les caractres blancs (espaces et tabulations) sparent les arguments de la ligne de commande permettent de bloquer linterprtation des caractres spciaux caractre dchappement la commande sera excute en arrire plan redirection des entres et des sorties caractres de substitution des noms de chiers dpart dun nom de variable sparateur de commandes

Les caractres de substitution des noms de chiers sont interprts par le shell pour gnrer les listes de noms de chiers correspondant aux critres : Caractres * ? [] [^ ] Signication zro ou plusieurs caractres un caractre nimporte lequel des caractres entre les crochets nimporte quel caractre napparaissant pas dans les crochets

Les caractres dchappement permettent denlever la signication spciale des caractres lorsquils doivent tre utiliss comme paramtres comme indiqu dans la table suivante : Caractres \ Signication guillemet simple : permet dignorer tous les caractres spciaux entre les guillemets guillemet double : comme ci-dessus sauf pour les caractres , $, \. permet dignorer le caractre spcial suivant

La redirection des entres et des sorties consiste envoyer lentre, ou la sortie dune commande depuis, ou vers un chier ou une autre commande. Cette fonction est gre par le shell grce au fonctionnement interne du

ATRID Systmes http://www.atrid.fr

20

Chapitre 4. Les commandes Linux

systme pour la gestion des descripteurs de chiers dans les programmes. Les possibilits sont : Commande commande > chier commande < chier commande >> chier commande << libell commande1 | commande2 commande n>&m Signication envoie la sortie standard de la commande dans le chier lit lentre standard partir du chier envoie la sortie standard de la commande dans le chier en ajoutant les lignes la n du chier lit lentre standard jusquau libell envoie la sortie standard de commande1 dans lentre standard de commande2 envoie la sortie du le descripteur n dans le descripteur de chier m

4.6.3. Les variables de linterprteur


Linterprteur de commandes gre des variables dans lesquelles lutilisateur enregistre des valeurs pour pouvoir les utiliser par la suite. Dans lenvironnement de chaque utilisateur, il existe quelques variables dnies par le systme (tout cela est congurable) et utilises par le shell lui-mme ou par les processus en excution. On trouve entre autres :

le chemin du rpertoire de base de lutilisateur : $HOME la liste de recherche des commandes : $PATH linvite de linterprteur : $PS1 le nom de lutilisateur : $USER le type de shell : $SHELL

La commande set permet de visualiser les variables et leurs valeurs. La commande expr permet deffectuer des oprations arithmtiques entires sur les variables. La commande export permet de faire connatre la variable aux processus ls du shell. On initialise une variable en affectant une valeur :
bash$ VARIABLE=valeur de la variable

On accde au contenu de la variable en prcdant son nom du signe $ :


bash$ echo $VARIABLE valeur de la variable

ATRID Systmes http://www.atrid.fr

21

Chapitre 4. Les commandes Linux

Il existe des mthodes daccs plus sophistiques permettant une substitution de valeur comme le montre le tableau ci-aprs : Mthode ${variable:-valeur{ ${variable:=valeur{ ${variable:?message{ ${variable:+valeur{ Rsultat donne la valeur de la variable si celle-ci nest pas nulle, sinon donne la valeur de substitution comme ci-dessus et la valeur de substitution est affecte la variable donne la valeur de la variable si celle-ci nest pas nulle, sinon afche le message de substitution donne la valeur de substitution si la variable nest pas nulle, sinon ne donne rien

4.6.4. Un diteur de texte : vi


Vi est un diteur de texte en mode cran quil faut absolument connatre en tant quadministrateur car cest souvent le seul disponible sur les machines. Il est peu convivial mais extrmement puissant de part la rapidit de ses commandes. Le lancement de lditeur seffectue par :
vi [fichier]

Lditeur fonctionne avec deux modes principaux :


un mode commande pour se dplacer dans le texte et passer les commandes de type ex. un mode saisie de texte dont on sort en appuyant sur <ESC>.

Les commandes de dplacement sur le texte sont nombreuses : Commande h l k j w b W B e Fonction dplace le curseur dun caractre vers la gauche dplace le curseur dun caractre vers la droite dplace le curseur dune ligne vers le haut dplace le curseur dune ligne vers le bas dplace le curseur au dbut du mot suivant dplace le curseur au dbut du mot prcdent dplace le curseur au dbut du mot suivant spar par des blancs dplace le curseur au dbut du mot prcdent spar par des blancs dplace le curseur la n du mot

ATRID Systmes http://www.atrid.fr

22

Chapitre 4. Les commandes Linux

Commande E <CTRL>-f <CTRL>-b <CTRL>-d <CTRL>-u

Fonction dplace le curseur la n du mot spar par des blancs afche la page suivante afche la page prcdente afche la demi-page suivante afche la demi-page prcdente

Voici les quelques commandes ncessaires pour saisir et modier du texte : Commande i a o O Fonction passe en mode insertion avant le caractre courant passe en mode ajout aprs le caractre courant ajoute une ligne aprs la ligne courante et passe en insertion en dbut de ligne ajoute une ligne avant la ligne courante et passe en insertion en dbut de ligne

Les commandes deffacement de texte placent le texte dtruit dans un tampon en mmoire. Ceci permet deffectuer des annulations de modications ainsi que des dplacements de texte. Commande x dd y yy ou Y P p u Fonction dtruit le caractre courant dtruit la ligne courante place le caractre courant dans le tampon copie la ligne entire dans le tampon copie le contenu du tampon avant le curseur copie le contenu du tampon aprs le curseur annule la dernire modication apporte au texte

Les commandes de manipulation de chiers permettent la lecture, lcriture et la concatnation de chiers : Commande :w :w nom :q :wq :e nom :e # :n Fonction crit dans le chier en cours crit dans le chier nom quitte lditeur sauve et quitte lit le chier nom lit le chier prcdent lit le chier suivant sur la ligne de commande

ATRID Systmes http://www.atrid.fr

23

Chapitre 4. Les commandes Linux

4.6.5. La programmation
Lcriture de programmes denchanement de commandes, les scripts, permet ladministrateur de simplier la ralisation de tches rptitives. Un script est un chier texte contenant les commandes excuter ainsi que, ventuellement, des structures de contrle, des boucles, des assignations de variables, des fonctions et des commentaires.

4.6.5.1. Le premier programme


Le script donn ci-dessous permet de sacrier la coutume du programme print Hello que lon doit crire dans tout nouveau langage :
#!/bin/sh # fichier : bonjour.sh # Affiche un salut a lutilisateur echo "Bonjour $USER"

Les premires lignes sont des lignes de commentaires qui doivent commencer par un caractre "#" en premire colonne. La premire ligne permet de fournir au noyau la commande lancer pour excuter le script. Il faut rendre le chier texte excutable laide de la commande chmod.
bash$ chmod +x bonjour.sh bash$ ./bonjour.sh Bonjour sandra bash$

La commande set -x est utile pour la mise au point des programmes car elle permet de visualiser les commandes excutes au fur et mesure de lavancement.

4.6.5.2. Les variables prdnies


Il existe plusieurs variables prdnies utilisables dans les scripts : Variable $$ $? $! $0 $1 $9 $# $* Fonction lidenticateur du processus courant (pid) la valeur de sortie de la commande prcdente lidenticateur du processus ls le nom du script les neuf premiers arguments du script le nombre darguments tous les arguments partir de $1 spars par un espace

Les variables $1 $9 contiennent les neuf premiers arguments du script. Pour accder aux autres, il faut utiliser

ATRID Systmes http ://www.atrid.fr

24

Chapitre 4. Les commandes Linux

la commande shift. Celle-ci dcale les arguments dun cran vers la gauche : $2 est mis dans $1, $3 dans $2, etc. La variable $9 est initialise avec le dixime argument.

4.6.5.3. Lexcution conditionnelle


Lexcution conditionnelle est gre par la structure :
if commande then autres commandes fi

if teste le code de sortie de la commande en paramtre. Si celui-ci vaut 0 (vrai), le script excute les commandes entre then et . Il est possible davoir des structures du type :
if commande then commandes else commandes fi

ou :
if commande then commandes elif commande commandes fi

Il existe deux commandes utiles pour les tests, ce sont true qui retourne toujours 0, donc vrai, et false qui retourne toujours 1, donc faux. Pour permettre des tests complexes mettant en ?uvre plusieurs commandes, il faut utiliser les oprateurs && et || qui effectuent un ET logique et un OU logique sur le rsultat des commandes. Ces oprateurs sont utiliss de la faon suivante :
commande1 && commande2 commande1 || commande2

Dans le cas du ET logique, la deuxime commande ne sera excute que si la premire russit. Dans le cas du OU logique, la deuxime commande ne sera excute que si la premire choue.

ATRID Systmes http ://www.atrid.fr

25

Chapitre 4. Les commandes Linux

La commande if neffectue pas de tests autres que le rsultat de la commande en paramtre. Pour effectuer ces tests, il existe une commande test qui peut aussi scrire [. Cette commande value ces arguments et retourne vrai ou faux en fonction du rsultat de cette valuation. Les options les plus courantes sont : Expression -e chier -f chier -d chier -r chier -w chier -x chier chier1 -nt chier2 -z chane chane1 = chane2 chane1 != chane2 chane entier1 -eq entier2 entier1 -ne entier2 entier1 -lt entier2 entier1 -gt entier2 entier1 -le entier2 entier1 -ge entier2 expr1 -a expr2 expr1 -o expr2 ! expr Par exemple on peut avoir :
if [ $# -lt 2 ] then echo "Nombre darguments trop petit" fi

Vraie si le chier existe le chier existe et est un chier standard le chier existe et est un rpertoire le chier est lisible le chier est accessible en criture le chier est excutable le chier 1 est plus rcent que le chier 2 la chane a une longueur nulle la chane 1 est gale la chane 2 la chane 1 est diffrente de la chane 2 la chane nest pas nulle lentier entier1 est gal lentier entier2 lentier entier1 nest pas gal lentier entier2 lentier entier1 est infrieur lentier entier lentier entier1 est suprieur lentier entier2 lentier entier1 est infrieur ou gal lentier entier2 lentier entier1 est suprieur ou gal lentier entier2 les deux expressions sont vraies lune des deux expressions est vraie lexpression est fausse

Qui afchera le message derreur si le nombre darguments pass est infrieur deux. Lautre commande dexcution conditionnelle est la commande case qui permet de comparer une valeur plusieurs expressions et dexcuter les commandes lorsquil y a galit. La syntaxe de cette commande est :

ATRID Systmes http://www.atrid.fr

26

Chapitre 4. Les commandes Linux

case valeur in expression1) commande autre commande ;; expression2) commande autre commande ;; esac

Si une expression correspond la valeur, les commandes sont excutes et $ ? est mis 0. Sinon $ ? est mis 1. Par exemple, le code suivant teste la rponse dun utilisateur :
echo -n "Votre reponse :" read REPONSE case $REPONSE in O* | o*) REPONSE="OUI" ;; N* | n*) REPONSE="NON" ;; *) REPONSE="PEUT-ETRE !" ;; esac

4.6.5.4. Les boucles


Linterprteur de commandes gre trois types de constructions pour les boucles :
while commande do commandes done ou until commande do commandes done

ou
for variable in liste_de_valeurs do commandes done

Pour les deux premires constructions, le fonctionnement est similaire la commande if. Pour la boucle for, la variable prendra successivement toutes les valeurs de la liste.

ATRID Systmes http ://www.atrid.fr

27

Chapitre 4. Les commandes Linux

Les commandes break et continue permettent de modier le fonctionnement des boucles. La commande break est utilise sous deux formes : break : sort de la boucle courante break n : n tant un entier suprieur 0, permet de sortir de n boucles imbriques. La commande continue permet de passer litration suivante sans excuter les commandes situes aprs. Redirection et structures de contrle Il est possible de rediriger la sortie ou lentre dune structure de contrle globalement. Par exemple, le programme suivant lit les lignes partir dun chier dont le nom est dans la variable $chier et imprime celles dont la longueur est suprieure deux caractres dans un chier temporaire.
while read ligne do longueur=echo $ligne | wc -c if [ $longueur -lt 2 ] then continue fi echo $ligne done < $fichier > tmp.$$

4.6.5.5. Les fonctions


Le shell permet de dnir des fonctions appelables par le script. Cette mthode est plus efcace que dappeler des scripts externes car la fonction est excute dans le mme processus. La syntaxe de dnition dune fonction est :
fonction() { commandes {

et elle est appele par :


fonction [paramtres]

Les fonctions reoivent les paramtres dappel dans les variables $1 $9 et $*. La valeur de $0 reste inchange. Il est possible de dclarer des variables locales une fonction en utilisant la commande local avant la dclaration de la variable. Dans ce cas, la modication de la variable locale ne modie pas une variable globale portant le mme nom.

ATRID Systmes http://www.atrid.fr

28

Chapitre 4. Les commandes Linux

Par exemple :
MaFonction() { local maVariable="coucou" echo $maVariable { maVariable="Bonjour" echo $maVariable MaFonction echo $maVariable

La commande return permet de spcier le code de retour de la fonction. Sil nest pas spci, la variable $ ? est initialise au code de n de la dernire commande de la fonction. Le shell supporte les appels rcursifs de fonctions. Comme dans tout langage rcursif, il faut faire trs attention aux effets de bord et aux variables non dclares en local.

4.6.6. Gestion de processus


Linterprteur de commandes permet lexcution de processus en tche de fond. Ceux-ci sont lancs en ajoutant le signe & la n de la ligne de commande. La variable $ ! reoit lidenticateur du processus ls. La commande wait permet dattendre la n de lexcution dun processus ls. Il est possible de spcier en paramtre lidenticateur du processus ls que lon dsire attendre. La valeur de retour de wait est le code de sortie du processus ls. La commande trap permet de grer les signaux envoys au script et dexcuter une commande sur rception dun signal. La syntaxe de la commande est :
trap commande signaux

Comme pour un programme en langage C, il existe des signaux qui ne sont pas grables.

ATRID Systmes http://www.atrid.fr

29

Chapitre 5. Utilisateurs, processus et chiers


Un processus est un programme en excution. Pour tout travail, Linux utilise des processus, le noyau ntant l que pour grer ces processus et leur permettre dinteragir avec le monde extrieur. Ds son lancement, le noyau lance un premier processus (init) qui est lanctre de tous les processus lancs sur le systme par la suite (appels systmes fork et exec). Le systme maintient une table des processus en fonctionnement avec tous les attributs qui les caractrisent. Toute linformation maintenue par le systme est enregistre dans des chiers organiss dans une structure hirarchique de rpertoires. Comme pour les processus, chaque chier possde des attributs qui peuvent tre modis par les utilisateurs par lintermdiaire des commandes du systme. Linux tant un systme multi-utilisateurs, la plupart des attributs des processus et des chiers dterminent les droits des utilisateurs les utiliser ou les modier. Ces droits sont associs une identication de chaque utilisateur pour le systme.

5.1. Utilisateurs
Chaque utilisateur qui utilise le systme doit tre connu de celui-ci par un nom et, ventuellement, un mot de passe. Un utilisateur doit appartenir un ou plusieurs groupes dutilisateurs pour tre autoris utiliser le systme. Il existe plusieurs mthodes didentication et de contrle des utilisateurs, nous ne parlerons ici que de la mthode la plus simple mettant en oeuvre les chiers /etc/passwd et /etc/group. Les utilisateurs et les groupes sont reprs dans le systme par des numros : uid pour le numro dutilisateur (User IDentier) et gid pour le numro de groupe (Group IDentier). Le numro est unique pour un utilisateur ou un groupe donn. Lidentication dun utilisateur seffectue dans le chier /etc/passwd. Ce chier est constitu de lignes dcrivant tous les utilisateurs connus de la machine. Par exemple, un utilisateur est reprsent par une ligne du type : sandra:*:500:500:Sandra BULLOCK:/home/sandra:/bin/bash

Cette ligne comporte les champs suivants spars par le caractre : :


nom de lutilisateur pour lidentication sur le systme (logging) mot de passe crypt numro dutilisateur (uid) numro de groupe dutilisateur par dfaut (gid) nom complet ; ce champ peut contenir de nombreuses informations dont le format est dpendant de loutil qui les interprte rpertoire de dpart de lutilisateur programme lancer au dmarrage, gnralement un interprteur de commande (shell)

ATRID Systmes http ://www.atrid.fr

30

Chapitre 5. Utilisateurs, processus et chiers

Il est possible de dnir plusieurs utilisateurs ayant le mme uid. Ceux-ci auront les mmes droits daccs, mais pourront bncier de mots de passe, de rpertoires de dpart ou dinterprteur de commandes diffrents. Le chier de dclaration des groupes /etc/group contient une ligne par groupe dans un format similaire au chier /etc/passwd. Une ligne de ce chier comporte les champs suivants, spars par des caractres : :

nom du groupe mot de passe du groupe numro du groupe (gid) liste des utilisateurs appartenant au groupe spars par des virgules

Par exemple : actrices:*:400:sandra,meg,michelle

La commande id permet dafcher les numros dutilisateur et de groupes dun utilisateur. Sans argument, elle afche les numros de lutilisateur courant. Par exemple :
bash$ id uid=500 (sandra) gid=500 (sandra) groups=500(sandra),100(users), 400(actrices) bash$ id meg uid=501 (meg) gid=500 (meg) groups=500(meg),100(users),400 (actrices)

Le premier groupe donn dans la liste est le groupe courant avec lequel sont effectus les tests de droits daccs et les crations de chiers et de processus. La commande newgrp permet un utilisateur de changer son groupe courant. Par exemple :
bash$ newgrp actrices bash$ id uid=500 (sandra) gid=400 (actrices) groups=500(sandra),100(users), 400(actrices)

La commande useradd permet dajouter un utilisateur sans avoir diter les chiers. Les paramtres de la ligne de commande permettent de xer les diffrents attributs. Cette commande cre le rpertoire de travail et copie les chiers de base dans celui-ci. Les commandes usermod et userdel permettent respectivement de modier un compte utilisateur et de le dtruire. De la mme faon, les commandes groupadd, groupmod et groupdel permettent de crer, modier et dtruire les groupes dutilisateurs.

ATRID Systmes http ://www.atrid.fr

31

Chapitre 5. Utilisateurs, processus et chiers

5.2. Processus
Tous les processus (sauf le premier init) sont crs par un autre processus par les appels systmes fork et ventuellement exec. Cela introduit une hirarchie de parent entre les processus, le processus cr tant lenfant du processus layant cr (processus parent). Le processus ls hrite de nombreux attributs de son processus pre mais peut les modier lors de son excution. Pour chaque processus en excution, Linux maintient un grand nombre dinformations dont les paramtres didentication (uid et gid) pour les vrications de droits daccs. Ces paramtres sont :

uid et gid rels : cest lidentication de lutilisateur excutant le processus. Ils sont utiliss pour la comptabilisation des temps. uid et gid effectifs : ce sont ces paramtres qui dterminent ce que le processus peut faire. Dans la plupart des cas, ils sont identiques aux identicateurs rels mais peuvent tre forcs une valeur donne par modication des attributs du chier programme. Linux utilise un autre couple uid et gid pour le test daccs aux chiers. Normalement, ces tests sont effectus avec les uid et gid effectifs, mais des programmes comme le serveur NFS utilisent ces paramtres pour viter des trous de scurit potentiels.

5.3. Fichiers
Sous Linux, toutes les informations sont enregistres et lues dans des chiers. Les rpertoires sont des chiers dun type particulier et les priphriques sont accds par lintermdiaire de chiers spciaux.

5.3.1. Types de chiers


Les diffrents types de chiers sous Linux sont :

les chiers normaux : ce sont des collections doctets. Il nexiste pas de diffrence entre les chiers texte et les chiers binaires. les rpertoires : ce sont des chiers contenant les noms des chiers et leurs numros dinode. les liens symboliques : permettent de prsenter une image dun chier sous un autre nom ou un autre endroit sans dupliquer les donnes. les chiers spciaux en mode bloc : sont les portes sur les priphriques fonctionnant par blocs de donnes (ex : disques). les chiers spciaux en mode caractre : sont les portes vers les priphriques fournissant ou consommant les donnes octet par octet. les tubes nomms "fo" : permettent deux processus sans relation de parent de schanger des donnes comme par un tube.

ATRID Systmes http ://www.atrid.fr

32

Chapitre 5. Utilisateurs, processus et chiers

5.3.2. Attributs des chiers


Pour afcher les attributs principaux des chiers, il faut utiliser loption -l de la commande ls : -rw-r--r-prw-r--r-brw-r--r-crw-r--r-drwxr-xr-x 2 1 1 1 1 root root root root root root 6656 Apr 15 1998 chier root 0 Apr 15 1998 fo root 0 Apr 15 1998 bloc root 0 Apr 15 1998 caracteres root 1024 Nov 12 19:42 rpertoire

Cet afchage prsente beaucoup dinformations :

le premier caractre donne le type du chier :


- pour un chier normal p pour un fo b pour un chier spcial en mode bloc c pour un chier spcial en mode caractre d pour un rpertoire

les neuf caractres suivants donnent les droits daccs (voir plus loin) le champ suivant donne le nombre de liens sur le chier on trouve ensuite le nom du propritaire et du groupe du chier le champ suivant donne la taille en octets du chier la date de la dernire modication est indique selon deux formats :

avec lanne pour les chiers vieux de plus de 6 mois ou de plus dune heure dans le futur avec lheure pour les autres cas enn, le nom du chier.

La commande stat permet dafcher plus dinformations sur un chier.


bash$ stat file1 File: "file1" Size: 3562 Filetype: Regular File Mode: (0777/-rwxrwxrwx) Uid: ( 500/ sandra) Device: 8,0 Inode: 2043 Links: 1 Access: Wed Nov 18 18:52:42 1997(00000.00:26:18) Modify: Wed Nov 18 18:52:42 1997(00000.00:26:18) Change: Wed Nov 18 18:52:59 1997(00000.00:26:01)

Gid: ( 500/ sandra)

En plus des attributs dj vus, cette commande afche :

ATRID Systmes http://www.atrid.fr

33

Chapitre 5. Utilisateurs, processus et chiers

le type du chier en toutes lettres les droits daccs en numrique (voir plus loin) la rfrence du priphrique physique (device) le numro dinode les dates de dernier accs, dernire modication et dernier changement.

5.3.3. Droits daccs


Les neuf caractres donnant les droits daccs sinterprtent par groupe de trois :

le premier groupe de trois caractres donne les droits pour le propritaire le deuxime groupe de trois caractres donne les droits pour les utilisateurs du groupe le dernier groupe donne les droits pour les autres utilisateurs

Dans un groupe, la signication des caractres est donne, dans lordre, par :

r pour autoriser la lecture, - pour linterdire w pour autoriser lcriture, - pour linterdire x pour autoriser lexcution, - pour linterdire

Par exemple, un chier avec les droits rwxr-x--x peut tre :


lu, crit et excut par le propritaire lu et excut par les membres du groupe excut par les autres

La signication des droits est diffrente en fonction du type de chier. Pour un chier :
r w x

permet de lire le contenu du chier permet de modier le contenu du chier permet dexcuter un programme

Pour un rpertoire :
r w x

permet dafcher la liste des chiers permet de crer et de dtruire des chiers permet daccder aux chiers ou den faire le rpertoire courant

ATRID Systmes http://www.atrid.fr

34

Chapitre 5. Utilisateurs, processus et chiers

Il existe deux symboles supplmentaires, s et t, pouvant prendre la place du x dans la liste des droits. Ces symboles signient :
s

: dans le cas dun chier excutable, celui-ci sera excut avec les droits du propritaire ou du groupe en fonction de la place du symbole. Dans le cas dun rpertoire, tous les chiers crs dans ce rpertoire appartiendront au mme groupe que celui du rpertoire en question. (sticky bit) : pour les chiers excutables, demande de garder le code en mmoire aprs lexcution. Pour les rpertoires, permet de limiter la destruction des chiers au propritaire du rpertoire, du chier ou au super utilisateur

Ces droits daccs peuvent sexprimer sous forme dun nombre en octal compos en fonction des masques de bits donns dans le tableau ci-aprs : Symbole r Valeur numrique 400 40 4 200 w 20 2 100 x s t 10 1 4000 2000 1000 utilisateur groupe autres utilisateur groupe autres utilisateur groupe autres utilisateur groupe

La commande chmod permet de modier les droits dun ou plusieurs chiers en utilisant le mode numrique ou le mode littral. La commande umask permet de xer les droits qui seront enlevs par dfaut pour la cration de nouveaux chiers. Cette commande est gnralement lance une fois lors de louverture de session, elle est intgre linterprteur de commandes et sa syntaxe varie en fonction de celui que lon utilise. Il est conseill de positionner le masque en numrique pour saffranchir des diffrences syntaxiques. Les commandes chown et chgrp permettent de changer, respectivement le propritaire et le groupe dun chier.

ATRID Systmes http://www.atrid.fr

35

Chapitre 6. Dmarrage et arrt


Nous allons dcrire la procdure de dmarrage et darrt dun systme Linux sur un PC. Cette procdure se dcompose en plusieurs parties :

le BIOS charge le programme de dmarrage celui-ci lit et dmarre le noyau le noyau lance le processus init ce dernier initialise les autres processus.

Il est possible de dmarrer LINUX partir de diffrents mdia et partir de diffrents programmes de dmarrage. Le chargeur standard de Linux est LILO (LInux LOader) et il peut tre install :

sur le secteur de dmarrage dune disquette sur le secteur de dmarrage du disque (MBR, Master Boot Record) sur le secteur de dmarrage de la partition systme

Dans le dernier cas, il doit tre activ par le chargeur principal (primary loader)

6.1. Le dmarrage du noyau


En fonction de sa conguration, le BIOS va chercher le programme de dmarrage (primary loader) sur le premier secteur dune disquette ou dun disque dur (MBR Master Boot Record) et le charge en mmoire. Ensuite le programme de dmarrage de second niveau (secondary loader) est charg puis invoqu. Sur lcran, le programme de dmarrage afche linvite LILO :. Le premier L est crit avant de charger le deuxime programme et le I est crit avant de lexcuter. Le deuxime L signie que le chargeur secondaire sexcute mais quil y a une erreur daccs au disque. Ds que le O safche, le systme peut tre dmarr. A linvite de LILO, lutilisateur peut entrer des commandes pour spcier le noyau dmarrer, des paramtres pour un priphrique ou pour dmarrer en mono-utilisateur (single). Ds que le noyau est charg et dcompress, il prend la main et sinitialise. Il rserve de la mmoire pour son utilisation, initialise les priphriques dont il a besoin, attache la zone dchange (swap) et monte la racine du systme de chier. Le compte-rendu de linitialisation du systme est donn dans le chier /var/log/dmesg.

6.2. Le processus init


Ce programme est le premier processus lanc par le noyau. Il est charg de dmarrer les processus systmes et den relancer certains lorsquils se terminent, et ce durant la totalit du fonctionnement du systme. Sa conguration seffectue dans le chier /etc/inittab.

ATRID Systmes http ://www.atrid.fr

36

Chapitre 6. Dmarrage et arrt

6.2.1. Le chier /etc/inittab


Ce chier contient des lignes respectant le format suivant :
code:niveau:action:commande

Le champ code contient une squence de un quatre caractres (deux pour compatibilit) unique pour identier la ligne dans le chier. Le champ niveau donne le niveau dexcution pour lequel cette ligne doit tre prise en compte. La notion de niveau dexcution permet de spcier des congurations dexcution diffrentes. Un standard existe et est rsum dans la table ci-dessous. Il est possible de spcier plusieurs niveaux lorsque la commande associe doit tre lance diffrents niveaux dexcution. Niveau 0 1 2 3 4 5 6 Description Arrt de la machine mode mono-utilisateur, seul le super-utilisateur peut se connecter mode multi-utilisateurs, avec peu de services rseaux mode multi-utilisateurs, avec tous les services rseaux (mode par dfaut) dnissable par lutilisateur dmarrage de X11 au boot redmarrage de la machine

Le champ action dnit la manire dexcuter la commande du champ commande. Le tableau ci-aprs prsente les actions les plus courantes : Action respawn wait once boot bootwait off initdefault sysinit ctrlaltdel powerfail Description relance la commande lorsquelle se termine attend la n de la commande avant de continuer la commande est excute une fois la commande est excute au dmarrage du systme (le champ niveau est ignor) comme ci-dessus avec attente ne rien faire (permet de conserver la ligne pour une utilisation future) permet de spcier le niveau dexcution par dfaut la commande est excute au dmarrage avant celles des directives boot et bootwait la commande est excute lorsque lutilisateur tape les trois caractres <CTRL>-<ALT>-<SUPPR> sur le clavier la commande est excute lorsque le processus init reoit le signal SIGPWR (dfaut dalimentation)

ATRID Systmes http://www.atrid.fr

37

Chapitre 6. Dmarrage et arrt

6.2.2. Le rpertoire /etc/rc.d


Ce rpertoire contient les scripts utiliss pour linitialisation du systme. Ils sont prvus pour dmarrer les diffrents services et processus et effectuer quelques vrications de conguration. La table suivante prsente les diffrents scripts : Niveau rc.sysinit rc rc.local init.d rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d et rc6.d Description excut une fois au dmarrage pour initialiser le systme script de gestion du niveau dexcution. Il le reoit en paramtre. script utilis pour les initialisations particulires la machine rpertoire contenant les scripts dinitialisation des sous-systmes rpertoires contenant des liens sur les scripts du rpertoire init.d devant tre lancs un niveau dexcution particulier

Le chier rc.sysinit ralise les oprations suivantes :


initialise la variable PATH pour les autres scripts active la partition de swap initialise le nom du systme (hostname) vrie lintgrit du systme de chiers dmarre la gestion des quotas initialise le "Plug and Play" prpare la gestion des modules initialise lhorloge systme dtruit les chiers de verrouillage

Le chier rc excute les scripts du rpertoire rcN.d o N correspond au niveau dexcution. Ces scripts sont des liens symboliques sur les chiers de dmarrage des sous-systmes du rpertoire init.d. Le lien reprend le nom du chier dorigine prcd de la lettre S et dun nombre pour les scripts de dmarrage ou de K et dun nombre pour les scripts darrt du sous-systme. La valeur numrique permet de spcier lordre dexcution des scripts. Les scripts du rpertoire init.d. peuvent tre appels par la suite pour forcer un arrt ou un dmarrage dun sous-systme. La syntaxe utilise est :
/etc/rc.d/init.d/script [start | stop | restart]

La plupart des dmons du systme enregistrent leur numro de processus dans un chier du rpertoire /var/run.

ATRID Systmes http ://www.atrid.fr

38

Chapitre 6. Dmarrage et arrt

Aprs lexcution des scripts, le processus init lance les processus en mode respawn. Ce sont, en gnral, les programmes dinvitation louverture de session. Ces programmes doivent tre relancs ds quune session se termine.

6.3. Larrt du systme


Le systme Linux doit tre arrt par une commande systme et non en coupant lalimentation secteur directement. Un arrt brutal du systme peut causer des pertes de donnes dues aux applications en fonctionnement. La procdure darrt permet :

davertir les utilisateurs que le systme doit tre arrt (commencer quelques jours avant) de demander aux applications de sarrter et de fermer les connexions et les chiers ouverts de passer le systme en mode mono-utilisateur de vider les tampons mmoire du cache disque

Le systme garde une trace du fait quil est dmarr pour permettre une vrication dintgrit dans le cas dun arrt brutal. La commande darrt du systme est la commande shutdown qui permet, selon les options utilises :

de donner lheure de larrt (now , hh:mm, +minutes) de donner le mode arrt (arrt ou redmarrage)

ATRID Systmes http://www.atrid.fr

39

Chapitre 7. Gestion des priphriques


Les priphriques sont grs par le systme par grce des pilotes intgrs au noyau soit de faon xe, soit sous forme de modules. Les pilotes sont accessibles par les chiers spciaux contenus dans le rpertoire /dev. A chaque priphrique physique du systme est attribu un ou plusieurs chiers spciaux.

7.1. Les chiers spciaux


Le rpertoire /dev contient un nombre important de chiers : Fichier spcial mem kmem null port mouse tty0 tty__ ttyS0 ttyS_ pty[p-s][0-9a-f] tty[p-s][0-9a-f] lp0, lp1, lp2 js0 et js1 fd___ hd__ sd__ scd__ st__ et nst__ Description accs la mmoire physique accs la mmoire du noyau priphrique vide accs aux ports dentres/sorties gestion de la souris (peut tre un lien sur le chier effectif) les terminaux virtuels (de 0 63) les ports sries pseudos terminaux matres pseudos terminaux esclaves ports parallles port joystick les lecteurs de disquettes (fd0 est le lecteur standard) les disques durs et les cdroms IDE les disques durs SCSI les cdroms SCSI les lecteurs de bandes SCSI

La commande ls -l permet dafcher les attributs importants dun chier spcial.


brw-rw---1 root disk 3, 0 May 5 1998 /dev/hda

Le premier caractre est b pour les priphriques en mode bloc et c pour les priphriques en mode caractres. La taille du chier tant par dnition nulle, elle est remplace dans lafchage par deux entiers donnant des informations sur le pilote et sur le priphrique :

le premier est appel "major number"; cest un index dans la table des pilotes de priphriques le deuxime est appel "minor number" et permet de spcier au pilote, les caractristique du priphrique

ATRID Systmes http://www.atrid.fr

40

Chapitre 7. Gestion des priphriques

connect. La commande /dev/MAKEDEV permet de crer les chiers spciaux standard. Elle est excute en donnant en paramtre le nom du priphrique pour lequel on veut un chier spcial. Ce nom doit appartenir la liste des noms grs par cette commande. La commande mknod permet de crer un chier spcial en prcisant tous ses attributs. La syntaxe est :
mknod nom type major minor

7.2. Les disques durs


Les disques durs sont virtuellement dcoups en zones distinctes appeles "partitions". Il peut y avoir jusqu quatre partitions primaires sur un disque dur. Si plus de partitions sont ncessaires, il faut utiliser une des partitions primaires pour crer une partition tendue qui contiendra des partitions logiques. Loutil de gestion des partitions est fdisk. Un dcoupage minimum consiste dnir une partition pour le systme de chiers et une autre pour la zone dchange (swap). Le disque complet est vu par un chier spcial (ex : /dev/hda) et chaque partition est vue par un chier indpendant (ex : /dev/hda1, /dev/hda2, etc.). La commande mkfs permet de crer un systme de chiers sur une partition. Cette commande permet aussi deffectuer une vrication de la surface du disque. Linux utilise un systme de chiers virtuel qui lui permet de se connecter physiquement des partitions contenant des systmes de chiers provenant dautres systmes dexploitation. Systme de chiers ext2 minix MS-DOS vfat ISO9660 UFS NTFS SMB HPFS NFS AFS proc Commentaire le systme de chiers de Linux le systme de chiers de Minix (historique) FAT 16 et 32 Windows 95 cdrom Systme de chiers des DVD Windows NT (bta-test) Serveur Lan Manager, Windows NT, WfW OS/2 Network File System Andrew File System accs au noyau

ATRID Systmes http://www.atrid.fr

41

Chapitre 7. Gestion des priphriques

Le dcoupage du disque et du systme de chiers sur plusieurs partitions est conseill pour plusieurs raisons :

certains rpertoires peuvent contenir des gros chiers (/tmp, /var/spool) il peut tre intressant de protger un systme de chiers en criture sparer le systme des chiers utilisateurs il est plus facile de sauvegarder des petites partitions

Exemple de dcoupage : Point de montage / /usr /usr/local /tmp /var /home swap Taille 60 Mo 400 Mo (avec les sources) 200 Mo 60 Mo 60 Mo dpend du systme 64 Mo

Il peut tre intressant de prvoir une partition "poubelle" partir de laquelle on peut effectuer des liens symboliques sur le reste du systme de chiers laide de la commande ln. La connexion des systmes de chiers seffectue avec la commande mount. Cette commande permet dassocier un chier spcial un rpertoire dans le systme de chiers en spciant le type de systme sur la partition en cours de connexion. La syntaxe est :
mount [-t type] fichier_spcial rpertoire

La commande umount permet de terminer la connexion.


umount [rpertoire | fichier_special]

Le chier /etc/fstab contient une description des connexions devant tre effectues au dmarrage du systme. Ce chier est compos de lignes dont la syntaxe est :
fichier_spcial repertoire type options [val1] [val2]

La signication des diffrents champs de cette ligne est la suivante :

le chier spcial pointe sur le priphrique connecter. Il peut tre remplac par une adresse de machine dans le cas dune connexion par rseau

ATRID Systmes http://www.atrid.fr

42

Chapitre 7. Gestion des priphriques

le rpertoire donne le point de connexion le type de systme de chiers est spci les options permettent de donner les directives de connexion (noauto, ro, users, etc.) la valeur val1 est utilise par la commande dump la valeur val2 donne lordre dexamen des systmes de chiers pour fsck

La commande fsck est utilise pour vrier et rparer lintgrit du systme de chiers. Elle est excute automatiquement au dmarrage du systme avant de monter le systme de chiers. Un test est effectu pour savoir si le systme a t arrt correctement et, dans le cas contraire, pour lancer la vrication. La vrication porte principalement sur :

les blocs utiliss mais marqus comme libres ou vice-versa les nombres de liens incorrects la taille des chiers les inodes libres (non raccrochs un rpertoire)

7.3. Imprimantes
Le systme dimpression de Linux est bas sur un spooler, cest--dire un processus du systme qui gre les queues dimpression. Les applications nutilisent pas directement le chier spcial daccs limprimante mais passent par un programme qui enregistre le travail dans la queue dimpression. La version du spooler la plus utilise est le systme BSD. Il existe dautres systmes, comme LPRng ou des systmes commerciaux, mais ils ne sont pas prsents ici. Au dmarrage du systme, le dmon lpd est lanc. Lorsquil dmarre, ce dmon lit le chier de conguration
/etc/printcap, imprime les chiers en attente et se met lcoute de nouvelle requtes. Il cre un nouveau

processus pour chaque nouvelle requte. Le dmon lpd peut grer des imprimantes connectes physiquement la machine (imprimantes locales) ou des imprimantes accessibles par le rseau grce un autre dmon lpd distant ou, par le logiciel SaMBa, sur une machine Windows (NT ou 95/98).

7.3.1. Les commandes dimpression


La commande lpr permet de soumettre un travail au dmon lpd. On peut lutiliser en mode ltre (lecture sur lentre standard) ou en lui passant les noms des chiers comme paramtres. La syntaxe est la suivante :
lpr [-Pnom] [-#nombre] [options] [fichiers ?]

ATRID Systmes http://www.atrid.fr

43

Chapitre 7. Gestion des priphriques

Loption -P permet de spcier la le dimpression que lon veut utiliser. Si cette option nest pas positionne, la commande utilise la variable denvironnement PRINTER. Si celle-ci nexiste pas, lpr utilise la le lp. Loption -# permet de spcier un nombre de copies pour chaque chier. La commande lpq permet de visualiser le contenu de la le dimpression. La commande lprm permet de supprimer un travail de la le dimpression. Lutilisateur root gre le systme dimpression avec la commande lpc. Cette commande fonctionne laide de sous-commandes passes en arguments et peut tre utilise en interactif lorsquelle est lance sans paramtre. Les principales sous-commandes sont : Commande help abort {all | nom { clean { all | nom { disable { all | nom { enable { all | nom { restart { all | nom { status { all | nom { start { all | nom { stop { all | nom { down { all | nom { up { all | nom { Fonction donne de laide en ligne tue le dmon immdiatement efface les chiers temporaires invalide la le dimpression ; empche lpr denregistrer de nouveaux chiers valide la le dimpression ; permet lpr denregistrer des nouveaux chiers redmarre le dmon afche ltat de la le dimpression et du dmon valide la le dimpression et dmarre un dmon termine le travail en cours et arrte le dmon ; invalide la le dimpression invalide la le dimpression ; enregistre un message dans le chier dtat de limprimante le contraire de down

Si la machine Linux doit tre serveur lpd, il faut ajouter les autorisations daccs dans le chier /etc/hosts.lpd (ou /etc/hosts.equiv ).

7.3.2. Le chier /etc/printcap


Le chier /etc/printcap contient la description des imprimantes gres par le dmon lpd. Les lignes commenant par le caractre "#" sont des lignes de commentaire. Une imprimante est dcrite par une ligne compose de champs spars par le caractre " :". Par exemple :
laser5P|lp:\ :sd=/var/spool/lpd/laser5P:\ :mx#0:\ :sh:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/laser5P/filter:

ATRID Systmes http ://www.atrid.fr

44

Chapitre 7. Gestion des priphriques

Le premier champ de la ligne contient la dnomination de limprimante. Il peut y avoir plusieurs synonymes spars par des caractres "|". Il faut crer un sous-rpertoire dans /var/spool/lpd qui porte le nom de limprimante et initialiser un champ de la ligne avec la variable sd. Les principales variables dune ligne de description sont : Commande sd lp lf if mx sh rp rm Fonction donne le rpertoire de stockage des chiers le chier spcial si limprimante est locale nom du chier de compte rendu ltre dentre taille maximum du chier (mx#0 = taille illimite) supprime ldition des pages de garde nom dune imprimante distante nom de la machine pour limprimante distante

7.3.3. Les ltres


Le dmon lpd utilise des ltres pour effectuer limpression. Les ltres sont slectionns en fonction des paramtres passs la commande lpr. Si aucune spcication nest donne, le ltre indiqu dans la variable if du chier /etc/printcap sera utilis. Le programme servant de ltre reoit les paramtres dimpression en arguments dappel. Les donnes imprimer sont lues sur lentre standard, les donnes traites sont envoyes sur la sortie standard. Les principaux paramtres sont :

le nom de lutilisateur le nom de la machine source le nom du chier de comptage la largeur et la longueur de la page en nombre de caractres

Il existe des ensembles de ltres pour les imprimantes les plus courantes comme celui fourni avec la distribution RedHat. Ce dernier est associ un outil de conguration printtool qui facilite la dclaration des imprimantes.

7.4. Sauvegardes
Cest la tche la plus importante dvolue ladministrateur du systme. Il doit mettre en place une stratgie de sauvegarde automatique et vrier rgulirement que les chiers sont bien sauvegards et que les mdia sont encore valables.

ATRID Systmes http ://www.atrid.fr

45

Chapitre 7. Gestion des priphriques

Linux propose en standard plusieurs commandes de gestion de sauvegarde :

7.4.1. Les commandes dump et restore


La commande dump fonctionne avec une gestion de niveaux de sauvegarde. Le niveau 0 effectue une sauvegarde totale alors que les niveaux 1 9 ne sauvegardent que les chiers modis depuis la dernire sauvegarde dun niveau infrieur. La syntaxe de la commande est :
dump [options [arguments] ] fichier

Les options principales de dump sont : Option 09 a chier f chier u Signication niveau de sauvegarde nom du chier darchivage du contenu de la sauvegarde nom du chier destination mise jour le chier /etc/dumpdates

La commande restore permet dextraire des chiers dune sauvegarde ralise par dump. Il est possible de slectionner un chier, un rpertoire entier ou lintgralit du systme de chiers. La syntaxe de la commande est :
restore options [fichiers]

Les options principales de restore sont : option i r t x f chier signication mode interactif extrait la totalit de la sauvegarde liste la totalit des chiers de la sauvegarde extrait les chiers spcis nom du chier contenant la sauvegarde

7.4.2. La commande tar


La commande tar de Linux est base sur la version GNU. La syntaxe de la commande est :
tar options fichiers

ATRID Systmes http ://www.atrid.fr

46

Chapitre 7. Gestion des priphriques

Les options principales de cette commande sont : option c r u x t f chier --verify --les-from --exclude-from chier v p z signication cre une nouvelle sauvegarde ajoute les chiers la n de la sauvegarde ajoute les chiers plus rcents extrait les chiers de la sauvegarde liste les chiers de la sauvegarde nom du chier contenant la sauvegarde effectue une vrication aprs criture inclut les chiers et rpertoires dont les noms sont donns dans le chier en argument ninclut pas les chiers dont les noms sont donns dans le chier en argument mode bavard conserve les chemins en absolu utilise gzip ou gunzip pour la compression

Cette commande est trs utilise pour fournir des ensembles de chiers en un seul paquetage compress. Par exemple :
tar cvzf fichier.tar.gz repertoire

Cette commande effectue une sauvegarde de tous les chiers du rpertoire dans le chier fichier.tar.gz en compressant les donnes.

7.4.3. La commande cpio


La commande cpio permet de copier des chiers dans un chier archive. Elle fonctionne selon trois modes :

en sortie, elle copie, sur la sortie standard, les chiers dont les noms sont donns sur lentre standard (voir la commande nd) en entre, elle lit un chier archive sur lentre standard et restitue les chiers en fonction des options donnes en copie, elle copie les chiers dun rpertoire vers un autre sans passer par un chier archive

Les options de cette commande sont : Option o i Signication mode sortie mode entre

ATRID Systmes http://www.atrid.fr

47

Chapitre 7. Gestion des priphriques

Option p v B d t

Signication mode copie bavard passe la taille des blocs 5120 octets au lieu de 512 cre les rpertoires si besoin afche les noms des chiers sans les restituer

7.4.4. La commande dd
La commande dd effectue des copies binaires entre deux chiers en effectuant, optionnellement, des conversions de format. Les options de cette commande sont : Option if=nom of=nom bs=nombre ibs=nombre obs=nombre skip=nombre count=nombre conv=ascii conv=lcase conv=swab Signication lit le chier "nom" au lieu de lentre standard crit le chier "nom" au lieu de la sortie standard utilise la taille de bloc donne (dfaut = 512 octets) utilise la taille de bloc donne pour lentre (dfaut = 512 octets) utilise la taille de bloc donne pour la sortie (dfaut = 512 octets) saute le nombre de blocs en entre avant de commencer la copie copie le nombre de blocs donn convertit de lEBCDIC en ASCII passe toutes les majuscules en minuscules inverse deux deux les octets

Cette commande est trs utile pour lire et crire des priphriques en mode caractre. Elle permet aussi de dterminer la taille des blocs dune bande magntique :
dd if=/dev/rmt of=/tmp/bloc ibs=64k count=1

Le chier /tmp/bloc aura la taille dun bloc denregistrement sur la bande.

7.4.5. La commande mt
La commande mt permet de grer les lecteurs de bandes magntiques (DAT). Sa syntaxe est :
mt [-f fichier] commande [paramtre]

ATRID Systmes http://www.atrid.fr

48

Chapitre 7. Gestion des priphriques

Les principales commandes sont : Option rewind erase fsf nombre bsf ofine Signication rembobine la bande efface la bande saute le nombre de chiers spcis rembobine du nombre de chiers spci jecte la bande

7.4.6. Recherche avec nd


Un administrateur systme a souvent besoin deffectuer des recherches de chiers en fonction de diffrents critres :

la taille des chiers un chier particulier les dates de modications le propritaire ou le groupe

Ces recherches peuvent tre effectues laide de la commande nd. Celle-ci possde une importante liste doptions pour congurer les paramtres de la recherche. La syntaxe de base est la suivante :
find [chemins ?] [expression]

o :

chemins est une liste de rpertoires parcourir (par dfaut le rpertoire courant) expression est une liste doptions, de tests, doprateurs et dactions

Le tableau ci-aprs prsente un extrait des options de cette commande : Option -follow -maxdepth n -mindepth n -mount Signication suit les liens symboliques limite la profondeur de descente des rpertoires commence n niveaux en dessous des rpertoires donns ne parcourt pas les autres systmes de chiers connects

Le tableau ci-aprs prsente un extrait des tests possibles pour la slection des chiers. Pour ces tests, lorsquune valeur n est demande en paramtre, il est possible de spcier +n pour les valeurs suprieures n, -n pour les valeurs infrieures n et n pour les valeurs gales n.

ATRID Systmes http://www.atrid.fr

49

Chapitre 7. Gestion des priphriques

Tests -name expr -mtime n -nouser -nogroup -size n -type t

Signication les chiers dont le nom correspond lexpression rgulire les chiers modis pendant les n derniers jours les chiers dont luid ne correspond aucun utilisateur les chiers dont le gid ne correspond aucun groupe les chiers dont la taille est gale n les chiers de type spci

En plus des options de recherche et des tests, nd permet de spcier des actions effectuer sur les chiers trouvs : Actions -exec commande -print -ok commande Signication permet deffectuer une commande avec en paramtre le nom du chier afche le nom du chier permet deffectuer une commande avec le nom du chier en paramtre, avec une conrmation utilisateur

ATRID Systmes http://www.atrid.fr

50

Chapitre 8. Automatisation
Linux fournit un mcanisme ladministrateur systme pour automatiser les tches rptitives. Le programme cron est utilis pour planier ces tches et pour fournir un compte rendu dexcution ventuel. La commande crontab est utilise pour dnir les tches que doit excuter cron. Le dmon est lanc au dmarrage du systme et regarde, toutes les minutes, dans le chier /etc/crontab et le rpertoire /var/spool/cron sil y a des tches excuter.

8.1. Le chier crontab


Un chier crontab contient des instructions pour le dmon cron. Chaque utilisateur possde son propre chier crontab dans le rpertoire /var/spool/cron . Il nest pas ditable directement mais doit tre modi laide de la commande crontab. Les lignes de ce chier contiennent soit des initialisations de variables denvironnement, soit des commandes pour le dmon cron. Les variables $LOGNAME, $HOME, $SHELL sont initialises automatiquement. Une ligne de commande de cron est constitue :

de cinq champs de dnition de temps dun identicateur dutilisateur (uniquement pour les chiers crontab du systme) dune commande excuter

Les champs de dnition des temps reprsentent dans lordre :


les minutes (valeurs de 0 59) les heures (valeurs de 00 24) les jours (valeurs de 1 31) les mois (valeurs de 1 12) le jour de la semaine (valeurs de 0 7, Dimanche est le 0 et le 7, ou sun, mon, tue, ?)

Chacun de ces champs peut prendre une des valeurs suivantes :


le caractre "*" qui signie "nimporte quand" une valeur numrique une liste de valeurs spares par des virgules deux valeurs spares par un tiret pour dnir un intervalle

Le rsultat de la commande doit tre envoy dans un chier car cron ne dispose daucun terminal pour afcher le rsultat. Si des sorties sont gnres, cron les envoie par courrier lutilisateur.

ATRID Systmes http ://www.atrid.fr

51

Chapitre 8. Automatisation

8.2. La commande crontab


La commande crontab permet de modier la liste des commandes cron dun utilisateur donn. Elle peut tre utilise de deux faons :

soit en passant un chier en paramtre : crontab chier soit en mode interactif : crontab -e

La premire mthode remplace le chier crontab de lutilisateur par le contenu du chier donn en paramtre. Cest la mthode utilise dans un shell script. La deuxime mthode permet de modier une ligne donne du chier crontab existant sans remettre en cause les autres lignes de commande.

8.3. La commande at
Cette commande permet de demander lexcution dun travail une date donne. Elle lit la liste des commandes excuter sur son entre standard. Si les commandes gnrent des sorties, celles-ci sont envoyes sous forme dun mail. Les spcications de date sont trs nombreuses et offrent de nombreuses possibilits. La commande atq permet de visualiser la liste des travaux en attente.

ATRID Systmes http://www.atrid.fr

52

Chapitre 9. Le noyau
Le noyau (kernel) du systme Linux est responsable du bon fonctionnement de lensemble du systme. Cest lui qui a la responsabilit :

de lordonnancement des processus avec la gestion des priorits de la gestion de la mmoire de la gestion des interruptions et des entres / sorties de la scurit de la communication entre processus (IPC)

Le chier contenant le noyau se trouve dans le rpertoire /boot et sappelle vmlinuz. Il sagit dun chier compress qui sera charg au dmarrage du systme. Ce chier est cr par la procdure de gnration du noyau. Une des forces de Linux est de grer ses sous-systmes sous forme de modules chargeables pendant lexcution du noyau. Cela permet de crer un noyau plus petit qui consomme moins de ressources mmoire inutiles lorsquun priphrique nest pas utilis.

9.1. La gnration dun noyau


Un administrateur systme peut tre amen gnrer un nouveau noyau pour diffrentes raisons :

ajouter des priphriques non supports dans la version actuelle crer un noyau plus petit en enlevant des sous-systmes non utiliss mettre jour son systme vers une version plus rcente

La premire tape consiste installer les sources du noyau dans le rpertoire /usr/src/linux. Avec les sources, on trouve un rpertoire Documentations dans lequel sont places des informations utiles pour la gnration du noyau. Ltape suivante consiste congurer les sous-systmes composant le noyau. Cela consiste dnir pour chaque lment sil doit tre inclus directement dans le noyau, sil doit apparatre sous forme de module ou sil ne doit pas tre prsent. Pour chaque option, un chier daide permet de prendre la bonne dcision. Cette conguration peut tre effectue de trois faons :

make cong : cette commande droule un grand nombre de questions sur la console. make menucong : il sagit dune interface plus conviviale sous forme de menus en mode texte make xcong : il sagit dune application fonctionnant dans lenvironnement Xwindow.

Ensuite il faut valider les dpendances entre chiers laide de la commande make dep puis, sassurer que les anciens chiers sont bien dtruits en tapant make clean. Ces deux oprations ne sont pas trs longues et ne doivent pas tre omises.

ATRID Systmes http ://www.atrid.fr

53

Chapitre 9. Le noyau

La compilation effective du noyau est lance par la commande make zImage qui place le chier gnr dans le rpertoire arch/i386/boot. Une alternative intressante consiste compiler une image en plaant le rsultat sur une disquette laide de la commande make zdisk. Cette possibilit permet de tester le nouveau noyau sans dtruire celui se trouvant sur le disque dur. Linstallation du nouveau noyau seffectue par la commande make zlilo condition davoir congur pralablement le chier /etc/lilo.conf. La compilation et linstallation des modules du nouveau noyau seffectuent au moyen des commandes make modules et make modules_install. Une fois ces oprations ralises, le nouveau noyau est prt tre test, ce qui ncessite de redmarrer la machine avec la commande reboot.

9.2. LILO
La commande lilo permet de gnrer et dinstaller le programme de dmarrage du noyau : LILO (LInux LOader). Cette commande utilise un chier de conguration, /etc/lilo.conf, dans lequel sont donns les paramtres dinstallation. Le but de cette commande est de faire connatre au programme de dmarrage ladresse exacte, en termes de secteurs sur le disque, du chier image contenant le noyau. Le programme LILO peut aussi dmarrer dautres systmes dexploitation installs sur des partitions diffrentes. Voici un exemple de chier de conguration :
boot = /dev/hda delay = 30 # linux image = /boot/vmlinuz root = /dev/hda1 label = linux # dos other = /dev/hda4 table = /dev/hda label = dos

Cet exemple installe le chargeur LILO sur le secteur de dmarrage principal du disque dur (MBR) et autorise un dlai de 3 secondes pour choisir le systme dmarrer. Si lutilisateur ne prend pas la main dans le temps imparti, cest le premier systme qui sera choisi. A moins de taper sur la touche tab, ce qui donne les diffrentes possibilits pour dmarrer. Les dclarations pour le systme Linux sont :

image : donne le nom du chier contenant limage du noyau root : la partition sur laquelle de trouve la racine du systme de chiers label : le nom utilis pour slectionn le systme dmarrer en interactif

ATRID Systmes http ://www.atrid.fr

54

Chapitre 9. Le noyau

Les dclarations pour le systme DOS sont :


other : donne la partition sur laquelle se trouve le systme table : donne le nom du disque qui contient la table des partitions label : le nom utilis pour slectionner le systme dmarrer en interactif

Il est possible de passer des arguments au noyau pour congurer des priphriques particuliers. Ceci peut tre fait dans le chier /etc/lilo.conf ou directement sur la ligne de commande de LILO.

9.3. Les modules


Les chiers contenant le code des modules chargeables sont dans le rpertoire /lib/modules. Lorsque lon veut utiliser un priphrique dont le pilote est sous forme de module, il faut installer le module dans le noyau. Ceci est effectu grce la commande insmod. Celle-ci prend en paramtre le nom du module et les arguments propres au module. Par exemple, pour installer une carte rseau 3c509 :
insmod 3c509 irq=5

Si un module a besoin dautres modules pour fonctionner, il faut les installer les uns aprs les autres. Une autre mthode utilise les commandes depmod et modprobe. La commande depmod est excute au dmarrage pour construire une table de dpendance entre modules. La commande modprobe utilise cette table pour charger les modules dont dpend celui que lon veut installer. Pour la mme carte :
modprobe 3c509 irq=5

Le chier /etc/conf.modules est utilis pour xer les paramtres des modules couramment utiliss. Il permet aussi de spcier des alias pour les noms demands par les commandes systmes. Par exemple, la ligne :
alias eth0 3c509

permettra le chargement du module 3c509 linitialisation de linterface rseau eth0. Le dmon kerneld est utilis pour automatiser le chargement des modules. Lorsque le noyau a besoin dun module, il le demande kerneld. Celui-ci lance modprobe pour installer le module. Ce dmon permet aussi denlever les modules qui ne sont plus utiliss.

ATRID Systmes http://www.atrid.fr

55

Chapitre 10. Suivi et traces


Une part importante du travail dun administrateur systme consiste maintenir les machines dont il a la responsabilit en ordre de marche. Linux met disposition des commandes et des chiers denregistrement de traces pour faciliter le suivi du fonctionnement du systme.

10.1. Lutilisation du disque


10.1.1. Les commandes de suivi
La commande df permet de visualiser la place disponible sur les diffrents systmes de chiers raccords la machine. Cette commande afche :

le nom du chier spcial la taille totale (en nombre de blocs) lespace utilis lespace libre le pourcentage de place utilise le point de montage

Loption -i permet dafcher les mmes valeurs pour les inodes. La commande du permet dafcher la place disque utilise par un ensemble de chiers. Pour chaque chier, du afche la place occupe en nombre de blocs et parcourt les sous-rpertoires de faon rcursive. Loption -s permet dafcher la somme des tailles des chiers pour un rpertoire.

10.1.2. Gestion des quotas


Linux permet daffecter des quotas dutilisation du disque pour un utilisateur ou un groupe dutilisateurs sur un systme de chiers donn. Cela permet de limiter lutilisation de la place disque ou des inodes en fonction de deux limites :

une limite douce qui peut tre dpasse pendant un dlai donn une limite dure qui ne peut pas tre dpasse

La gestion des quotas est dmarre dans le chier rc.sysinit grce la commande quotaon. Pour congurer la gestion des quotas, il faut ajouter dans le chier /etc/fstab les mots usrquota ou grpquota au niveau des options de montage :
/dev/hda2 /home ext2 defaults,usrquota,grpquota 1 1

ATRID Systmes http ://www.atrid.fr

56

Chapitre 10. Suivi et traces

La dnition des valeurs des quotas est effectue laide de la commande edquota. Cette commande afche les informations courantes pour lutilisateur demand :
Quotas for user sandra: /dev/sda5: blocks in use: 43552, limits (soft = 50000, hard = 60000) inodes in use: 907, limits (soft = 0, hard = 0)

Il est possible de modier les champs soft et hard pour les limiter en nombre de blocs et en inodes. Une valeur zro annule la gestion des quotas pour cet utilisateur. La commande edquota -t permet de xer la priode de grce pour la limite douce. La commande repquota -a permet de visualiser les valeurs courantes pour lensemble des utilisateurs.

10.2. Les processus et la mmoire


La commande ps permet de visualiser la liste des processus en cours dexcution. Les diffrentes options sont : Option a x l m Signication montre les processus de tous les utilisateurs montre les processus non attachs un terminal format long afche les informations sur la mmoire

Les principales valeurs afches par cette commande sont : Option PID TTY STAT SIZE RSS TIME Signication lidenticateur de processus le terminal de contrle ltat du processus afche la taille du processus (texte + donnes + pile) taille du processus en mmoire le temps dexcution cumul

La commande top afche la liste des processus sexcutant ainsi que plusieurs variables systme. Cet afchage est rafrachi priodiquement avec un intervalle congurable. Les processus sont tris par ordre dcroissant dutilisation du CPU. Les valeurs afches reprsentent :

le temps depuis le dmarrage de la machine la charge moyenne

ATRID Systmes http://www.atrid.fr

57

Chapitre 10. Suivi et traces

le nombre de processus le taux de charge du CPU lutilisation de la mmoire lutilisation de la zone dchange

La commande free permet de visualiser lutilisation de la mmoire. Elle afche les valeurs pour :

la mmoire disponible la mmoire utilise la mmoire libre la mmoire partage le tampon de cache disque lutilisation de la zone dchange

10.3. Les chiers de trace


Le systme Linux possde un systme centralis denregistrement de traces utilisable par tous les processus systme ainsi que par le noyau. Ce systme est compos dun dmon (syslogd), dune API, dune commande pour les scripts (logger) et de chiers denregistrement (/var/log/messages , etc.). Le dmon syslogd est congur par le chier /etc/syslog.conf . Celui-ci contient les rgles denregistrement exprimes sous la forme :
dispositif.niveau action

Le dispositif donne le nom du sous-systme qui a mis le message. Par exemple, tous les programmes de gestion de courrier doivent utiliser le dispositif mail. Le niveau donne la gravit du message. Le dispositif est lun de ces mots : auth (security), auth-priv, cron, daemon, kern, lpr, mail, news, syslog, user, uucp et local0 local7. Le niveau est donn par un mot dans la liste suivante (classe par ordre ascendant) : debug, info, notice, warning (warn), err (error), crit, alert, emerg (panic). Laction est une gnralisation du chier denregistrement. Elle peut tre :

un chier standard un tube nomm (fo) un terminal une machine distante une liste dutilisateurs tous les utilisateurs connects

ATRID Systmes http ://www.atrid.fr

58

Chapitre 10. Suivi et traces

Le message enregistr contient la date, le nom de la machine, le nom du programme, son identicateur de processus (PID) suivi du message proprement dit. Les commandes last et ac permettent de visualiser les informations douverture et de fermeture de sessions enregistres dans le chier /var/log/wtmp.

10.4. Le systme de chiers /proc


Le systme de chiers /proc donne laccs, par lintermdiaire de pseudos chiers, aux variables internes du noyau. A la racine de ce systme de chiers, on trouve un rpertoire par processus en excution ayant comme nom lidenticateur du processus. Dans chacun de ces rpertoires, on a :

cmdline : donne la ligne de commande cwd : cest un lien sur le rpertoire courant du processus environ : contient lenvironnement du processus exe : cest un lien sur le chier excutable fd : rpertoire contenant les liens sur les chiers ouverts maps : liste des zones mmoire du processus mem : contenu de lespace dadressage du processus root : lien sur le rpertoire racine du processus stat, statm, status : informations sur ltat du processus

Les principaux chiers sont :


devices : liste des pilotes avec les major numbers dma : liste des canaux dma utiliss interrupts : liste des interruptions utilises ioports : liste des ports utiliss loadavg : charge moyenne du systme meminfo : tat de la mmoire modules : liste des modules chargs stat : informations sur le systme net : rpertoire contenant les informations sur le rseau scsi : rpertoire contenant les informations sur les priphriques scsi sys : rpertoire contenant des variables du noyau

Les informations retournes par le pseudo chier stat sont :

ATRID Systmes http://www.atrid.fr

59

Chapitre 10. Suivi et traces

cpu : temps pass dans les tats user, nice, system et idle en 1/100 de seconde disk : pour les quatre premiers disques, donne le rsum des oprations effectues disk_rio : lecture disk_wio : criture disk_rblk : lecture blocs disk_wblk : criture blocs page : pages lues et crites swap : compte des changes en lecture et en criture intr : total des interruptions depuis le dmarrage ctxt : nombre de changements de contexte btime : heure du dmarrage processes : dernier PID utilis

ATRID Systmes http://www.atrid.fr

60

Chapitre 11. Rseaux


Linux supporte de nombreux types de matriels rseau et en particulier les interfaces pour :

FDDI relais de trames RNIS PLIP, SLIP, PPP X.25 Ethernet

11.1. Conguration
La conguration du rseau sous Linux peut tre effectue lors de linstallation ou a posteriori en modiant les chiers concerns. Le chier /etc/sysconfig/network contient les variables :
NETWORKING

: initialise "yes" pour valider lutilisation du rseau : initialise "no" pour empcher le transfert automatique des paquets

FORWARD_IPV4 HOSTNAME

: contient le nom complet de la machine : interface daccs la passerelle

GATEWAYDEV GATEWAY

: adresse IP de la passerelle

Ce chier est utilis dans les scripts dinitialisation du rseau pour positionner les variables denvironnement. Pour chaque interface, il faut construire un chier ifcfg-<nom> o nom est remplac par le nom de linterface utilise :
ethN

pour la Nime interface rseau pour la Nime fausse interface

dummyN

Ce chier contient les variables suivantes :


DEVICE ONBOOT

: nom du priphrique : initialise "yes" pour valider linterface au dmarrage : contient ladresse IP de diffusion

BROADCAST NETWORK NETMASK IPADDR

: contient ladresse IP du rseau : contient le masque du rseau

: contient ladresse IP de linterface

ATRID Systmes http ://www.atrid.fr

61

Chapitre 11. Rseaux

Ce chier est utilis en paramtre des scripts ifup et ifdown dinitialisation de linterface. Linitialisation du rseau au dmarrage du systme est effectue par le script /etc/rc.d/init.d/network.

11.2. Les commandes


La commande hostname permet dafcher le nom de la machine ainsi que le nom de domaine. La commande ifcong permet de visualiser ou de congurer les interfaces. Lorsquelle est excute sans argument, elle afche la conguration actuelle avec, pour chaque interface, les informations suivantes :

adresse Ethernet adresse IP adresse de diffusion masque de rseau le nombre de paquets reus et transmis

La commande netstat permet dafcher :


les connexions rseau actives et en attente les tables de routage des statistiques sur linterface les tables de translation dadresse

La commande arp permet de visualiser et dagir sur la table de rsolution dadresses Ethernet. La commande route permet de visualiser et de modier la table de routage de la machine. Les commandes ping et traceroute permettent de valider le chemin rseau jusqu un hte donn. La commande traceroute donne la liste des routeurs par o a transit la demande.

11.3. Les chiers


Le chier /etc/hosts contient une liste dadresses IP associes aux noms des machines. Cest le moyen le plus simple deffectuer la rsolution de noms pour un petit rseau. Le chier /etc/host.conf spcie le mode de rsolution des noms de machines. Il contient les lignes suivantes : Option order Description spcie lordre dutilisation des diffrents moyens de rsolution de noms : hosts : chier /etc/hosts bind : serveur de noms DNS nis : Network Information Service

ATRID Systmes http://www.atrid.fr

62

Chapitre 11. Rseaux

Option nospoof alert multi trim

Description valid par la valeur on, cela permet de dtecter les tentatives dusurpation dadresse IP. valid par la valeur on, cela permet denregistrer, via syslog, les tentatives dusurpation dadresse IP. valid par la valeur on, cela permet daffecter plusieurs adresses IP au mme hte dans le chier /etc/hosts permet denlever le nom de domaine en argument avant deffectuer une recherche dans le chier /etc/hosts

Le chier /etc/resolv.conf permet de congurer la partie DNS de la rsolution de noms. Ce chier contient : Option domain nameserver search Description spcie le nom de domaine de la machine donne une adresse IP dun serveur de nom ; il est possible de spcier trois serveurs de noms liste les noms de domaines chercher

Le chier /etc/services donne la liste des services TCP et UDP supports par la machine. Il associe le nom du service au numro de port et au protocole. Le chier /etc/inetd.conf permet de congurer le dmon inetd qui est le super serveur de Linux. Ce dmon est lcoute des demandes de connexion et gre le lancement des autres serveurs (telnet, ftp, etc.).

11.4. Applications rseau


11.4.1. DNS
Une machine Linux peut tre congure en serveur de noms DNS. Elle pourra rpondre aux requtes des autres machines du rseau pour la rsolution des noms en adresse IP.

11.4.2. SaMBa
SaMBa est lmulation dun serveur LAN MANAGER et permet de fournir des disques et des imprimantes partags des PC sous Windows. La partie cliente existe et permet une machine Linux de se connecter un disque ou une imprimante partags.

11.4.3. SENDMAIL
Sendmail est un logiciel de transport de courrier lectronique. Il gre lenvoi et la rception du courrier en fonction des caractristiques des adresses donnes. Il soccupe du routage et de la modication ventuelle des adresses pour permettre au message darriver destination. Sendmail peut grer des listes de diffusion de courrier.

ATRID Systmes http://www.atrid.fr

63

Chapitre 11. Rseaux

11.4.4. NFS
Le systme NFS permet de partager des disques et des imprimantes travers le rseau. Il existe deux parties dans NFS, la partie serveur qui consiste exporter une partie de son systme de chiers vers les machines clientes et la partie cliente qui consiste attacher les systmes de chiers comme sils faisaient partie du systme local.

11.4.5. NIS
NIS est une base de donnes qui permet de diffuser et de contrler les chiers dadministration importants. La gestion seffectue sur un domaine possdant un nom unique sur le rseau.

ATRID Systmes http://www.atrid.fr

64

Chapitre 12. Xwindow


Le systme de fentres Xwindow a t dvelopp, lorigine, par le MIT. La version actuelle utilise sous Linux, Xfree86, est une reprise de ce projet par un groupe de programmeurs en vue de faire une version libre de cet outil. Ce systme fonctionne en mode client-serveur ; il est compos dune part, dun serveur X qui effectue la gestion des priphriques de la machine (cran, clavier et souris) et dautre part de programmes clients qui utilisent les services de ce serveur pour interagir avec un utilisateur. Le client peut adresser un serveur distant par le rseau et donc, afcher et saisir des informations sur une machine distante. La conguration de Xwindow consiste dcrire les priphriques au programme serveur, celui-ci tant slectionn en fonction de la carte graphique utilise. La conguration est effectue dans le chier /etc/X11/XF86Config soit laide dun diteur, soit par lutilisation du programme xf86cong. Le chier XF86Config est constitu de plusieurs sections :

Files : chemin daccs aux chiers supplmentaires Module : spcie les modules optionnels charger ServerFlags : permet de spcier des options de fonctionnement du serveur Keyboard : dnition du clavier Pointer : dnition du systme de pointage (souris) Monitor : spcication des caractristiques du moniteur Device : description de la carte graphique Screen : proprits de lafchage XInput : spcications des priphriques dentres optionnels (joystick, tablette, etc)

Pour pouvoir congurer correctement le serveur Xwindow, il faut connatre prcisment les caractristiques du matriel utilis. Cependant, la plupart des distributions Linux proposent des outils supplmentaires de conguration de X ; on pourra mentionner Xcongurator disponibles sur les distributions RedHat. La conguration de Xwindow au niveau utilisateur seffectue dans le script .xinitrc. Ce script contient les commandes excuter louverture de la session Xwindow. Il se termine gnralement par une ligne exec commande de faon ce que larrt de ce client (gnralement le gestionnaire de fentre) stoppe le serveur X.

ATRID Systmes http://www.atrid.fr

65

Chapitre 13. Scurit


Ce chapitre prsente les procdures et les outils permettant de maintenir lintgrit de la machine an quelle ralise son travail sans interruption.

13.1. Gnralits
La premire tape est de veiller la scurit physique de la machine en fonction de la disponibilit demande. Lutilisation dun onduleur et dune salle ferme avec un accs limit permet de garantir que le systme ne sera pas arrt. De mme, laaccs la console doit tre limit aux personnes de conance, et tout les protections doivent tre mises en oeuvre pour viter que quelquun de mal intentionn puisse dmarrer le serveur avec une disquette ou un cd de dmarrage. La deuxime tape est de protger le systme des actions des utilisateurs locaux. Il faut crer les comptes utilisateurs avec les droits minimum et limiter laccs aux chiers systme. Les mots de passe donns pour laccs au systme ne doivent pas tre triviaux ni faciles dcouvrir. La troisime tape consiste dnir une politique daccs du rseau vers la machine et de la machine vers le rseau. Dune manire gnrale, seuls les services rseaux ncessaires au fonctionnement doivent tre dmarrs, et autant que possible des restrictions daccs ces services doivent tre mis en place (limitation certaines adresses IP et accs par login/mot de passe...).

13.2. Les services systmes


Laccs aux services rseau du systme peut tre protg par lutilisation du TCPWrapper tcpd. Ce programme permet de spcier la liste des machines ayant le droit dutiliser un service donn et ce, service par service. Les accs sont enregistrs dans un chier de trace /var/log/secure . En standard, le chier /etc/inetd.conf est congur pour utiliser ce programme. Il faut saisir les rgles dans les chiers /etc/hosts.allow et /etc/hosts.deny . Certains services, comme NFS, NIS, X11 et SaMBa, ne sont pas scuriss et ne doivent donc pas tre utiliss sur une machine " risque".

13.3. Les rewalls


Un rewall est un dispositif isolant un rseau considr comme "sr" dun rseau en principe "hostile". Le cas le plus frquent est laccs Internet, mais cela permet disoler aussi diffrents dpartements dune mme socit. Ce dispositif est constitu de matriels, routeurs et ordinateurs, et de logiciels pour la partie active et la conguration. Linux possde un systme de ltrage de paquets intgr au noyau qui permet de raliser un routeur ltrant en entre dun rseau. Il existe aussi diffrents programmes permettant de raliser des mandataires pour les services rseaux les plus courants. On peut citer le Firewall Toolkit de la socit TIS, Socks, Squid.

ATRID Systmes http ://www.atrid.fr

66

Chapitre 13. Scurit

13.4. Les outils


13.4.1. SATAN
Cest loutil le plus connu pour la recherche des problmes de scurit partir du rseau. Il peut parcourir toutes les machines dun rseau et tester les potentialits dintrusion partir des services systmes.

13.4.2. TRIPWIRE
Cest un outil de vrication dintgrit de chiers. Il compare un ensemble de chiers et de rpertoires aux donnes collectes lors dun prcdent passage. Il gnre un rapport sur toutes les modications dtectes sur la taille des chiers, la destruction ou la cration de nouveaux chiers.

13.4.3. SAINT
SAINT (Security Administrators Integrated Network Tool) est un outil permettant lanalyse dun rseau de machines et tablissant un rapport sur les trous de scurit potentiels. Il gre quatre niveaux de svrit et produit un rapport en HTML.

13.4.4. COPS
Cest un systme qui vrie la prsence de problmes de scurit sur un systme de chiers. Il vrie les permissions des chiers systme et gnre un rapport sur les modications apporter. Il vrie aussi la pertinence des mots de passe grce un outil danalyse par dictionnaire.

ATRID Systmes http://www.atrid.fr

67

Chapitre 14. Outils graphiques dadministration


14.1. Les outils Red Hat
Les outils graphiques dadministration systme livrs avec la distribution Red Hat sont lancs partir dun panneau de contrle afch lexcution de la commande control-panel. Les outils disponibles permettent :

la gestion de larrt et du dmarrage des sous-systmes de Linux la gestion de la date et de lheure la gestion des imprimantes locales ou distantes la conguration des interfaces rseau et des tables de routage la conguration des modems la gestion des modules la gestion des paquetages le lancement de linuxconf

14.2. Linuxconf
Linuxconf est un outil dadministration systme possdant plusieurs interfaces oprateur. Il peut tre utilis en mode ligne de commande, travers un navigateur Web ou avec une interface graphique. Il permet de grer :

le rseau (DNS, routage, NFS, etc.) Apache SaMBa les utilisateurs le systme de chiers les niveaux de dmarrage

Cet outil est livr en standard dans la distribution RedHat.

14.3. Webmin
Webmin est une interface Web pour ladministration dun systme Linux. Elle est compose dun serveur Web simple crit en Perl et de nombreux modules permettant la conguration du systme et de quelques logiciels serveurs.

ATRID Systmes http ://www.atrid.fr

68

Chapitre 14. Outils graphiques dadministration

Linstallation de cet outil est trs facile et ne ncessite aucune compilation. Un simple script de mise en service permet de saisir les paramtres ncessaires. Il se lance partir dun navigateur internet avec lURL suivante : (http ://nom_de_la_machine :10000) (par exemple, (http ://localhost :10000) sur une machine locale). Le login et le mot de passe demands la premire fois sont ceux de ladministrateur (utilisateur "root"). Mais il est possible de congurer des utilisateurs Webmin en leur donnant les droits pour administrer quelques modules. Webmin, dans sa version 0.82, est compos de cinq onglets :

Webmin : permet de congurer "webmin" et crer des utilisateurs "webmin" avec des droits dadministration plus ou moins restreints. Systme : permet de grer les paramtres systmes de Linux, savoir : cron, NFS, utilisateurs Unix, montage des units disques, quotas disques, ajout/suppression de programmes, dmons, processus et les pages du manuel. Serveurs : permet de congurer les logiciels serveurs suivants : Sendmail, Samba, MySQL, PostgreSQL, Apache, Squid, Bind, Wuftp, DHCP, Inet, Postx, PPP et Majordomo. Matriel : permet de congurer le "hardware" : imprimante, disque dur, rseau, horloge, Lilo et les disques "RAID". Autres : contient un gestionnaire de chier ainsi quun "telnet" programms en JAVA ; cet onglet exige donc un navigateur compatible JAVA.

Mise en garde
La version en cours, au moment ou sont crites ces lignes, est la 0.82. Il sagit donc encore dune version "bta" mme si elle est dj oprationnelle. Par consquent, il est plus que recommand deffectuer une sauvegarde des chiers de conguration avant de se lancer avec Webmin ! Il arrive souvent (cest le cas notamment avec Samba) que Webmin supprime les commentaires daide dun chier de conguration ce qui rend difcile sa relecture au cas ou lon serait amener le modier " la main".

ATRID Systmes http://www.atrid.fr

69

Chapitre 15. Gestion des packages


Les packages logiciels sur les distributions Redhat et drives sont au format RPM (Redhat Package Manager). La gestion de ces packages logiciels seffectue en ligne de commande en utilisant la commande RPM, mais dautres outils, dont certains graphiques, sont disponibles. Les packages sont reconnaissables par leur extension .rpm ou plus exactement architecture.rpm . Pour les plates-formes de type PC, lextension est i386.rpm. Ces packages sont constitus dune archive au format cpio de lapplication compile et des chiers associs (conguration, documentation...). On trouve galement des packages source (indpendants de la plate-forme) devant tre compils avant dtre installs ; ces packages sources possdent lextension .src.rpm ou ventuellement .srpm.

15.1. Fonctionnement des packages RPM


Lavantage de linstallation de logiciels sous forme de RPM, outre labsence de compilation, est une gestion centralise des logiciels installs, simpliant ainsi grandement les actions de suppression ou de mise jour. Toutes les informations concernant les packages installs sont stockes dans des chiers au format Berkeley DB se trouvant dans le rpertoire /var/lib/rpm. Chaque package fournit des informations quand ses dpendances et ses conits ventuels avec dautres packages. Ces informations sont stockes dans les chiers de ce rpertoire. Ces chiers ne servent qu la commande rpm mais sont vitaux pour son fonctionnement. En cas de corruption ou de suppression dun chier, il est possible de les reconstruire en utilisant la commande rpm --rebuilddb.

15.2. Commande RPM


La commande rpm est loutil de base pour la gestion des packages ; elle permet notamment linstallation, la suppression, la compilation, la vrication des packages. Les principales options de la commande rpm sont les suivantes :
rpm -Uvh package.i386.rpm

Met jour (ou installe) le package "package" en mode verbeux (-v) avec afchage de la progression (-h).
rpm -e package

Dsinstalle le package "package". Ici lextension napparat pas puisque celle-ci se rfre un nom de chier. Une fois le package install, on sy rfre sans lextension.
rpm -q package

ATRID Systmes http://www.atrid.fr

70

Chapitre 15. Gestion des packages

Recherche la version installe du package "package". Le nom du package fourni doit tre le nom exact. Si le nom nest pas connu exactement, on peut utiliser loption -a pour afcher la liste de tous les packages installs, et ventuellement utiliser un grep pour trouver ce que lon cherche.
rpm -qa | grep pack

Pour trouver de quel package provient un chier sur le disque on utilisera :


rpm -qf /chemin/vers/le/fichier

Inversement, si lon veut connatre la liste des chiers installs par un package, on utilisera, respectivement pour un package install et pour un package non install :
rpm -ql package rpm -qlp package.i386.rpm

La commande
rpm -qi package

afchera les informations concernant le package, savoir notamment son auteur, sa date de cration, sa licence ainsi quun rsum de ses fonctionnalits Enn, la commande
rpm -V package

vriera lintgrit des chiers prsents sur la machine par rapport aux chiers initiaux.

15.3. Outils graphiques


Quelques outils graphiques sont disponibles pour la gestion des packages RPM. On citera notamment :

kpackage fonctionnant dans lenvironnement Kde, non fourni en standard dans les distributions RedHat. Ce logiciel sait galement travailler avec les packages dautres distributions (Debian, Slackware...) gnorpm est un logiciel fourni avec lenvironnement graphique gnome. Comme son nom lindique, il permet la gestion des packages au format rpm. up2date est un outil standard de la distribution RedHat (version 6.1 et suprieure) permettant la mise jour de la distribution. Cet utilitaire va rechercher sur le serveur ftp de redhat les packages mis jour pour la distribution. Il prsente ensuite une page web permettant de slectionner les packages mettre jour. Cette application ne permet pas dinstaller des packages hors distribution.

ATRID Systmes http://www.atrid.fr

71

Chapitre 15. Gestion des packages

15.4. Commande rpmnd


La commande rpmnd permet de chercher un logiciel sous forme de paquetage rpm. Son chier de conguration se situe dans le rpertoire /etc et se nomme "rpmnd.conf". Dans ce chier se trouve la liste des sites Internet de recherche des paquetages. La syntaxe de la commande est la suivante : rpmnd [options] noms Voici la liste des options : Option -h -v --auto --source --latest -s serveur --upgrade --apropos Effets Liste toutes les options valables verbose Tlcharge le paquetage sans demander conrmation Recherche le paquetage sous forme de source et non sous forme 0 Recherche la version la plus rcente du paquetage Demande de rechercher le paquetage sur le site spci Recherche la mise jour dun paquetage et propose galement la mise jour de toutes ses dpendances Scanne tous les sites et afche les infos propos du paquetage par site

Quelques sections du chier de conguration "rpmnd.conf" mritent une attention particulire. Les sections suivantes permettent de pouvoir faire fonctionner rpmnd lorsque lon se trouve derrire un proxy :
; your HTTP proxy/cache if any : http ://myhttpproxy/ httpProxy=http ://nom_du_proxy :3128/ ; your FTP proxy/cache if any : ftp ://myftpproxy/ ftpProxy=http ://nom_du_proxy :3128/

"3128" est le numro de port du proxy (ici, dans le cas de lutilisation du serveur proxy SQUID). La section suivante permet de dnir le rpertoire o sont stocks les paquetages tlchargs :
; where to save RPMs downloadDir=/tmp

ATRID Systmes http://www.atrid.fr

72

Chapitre 16. En cas de problmes sur le systme


Il peut arriver que le systme soit dans un tat sufsamment instable pour quil ne soit plus possible de pouvoir booter correctement. Les causes principales peuvent tre des problmes sur les systmes de chiers (physiques ou logiques), ou des problmes lis au noyau ou aux modules. Pour restaurer le systme plusieurs moyens sont disponibles.

16.1. Mode Single User


Le mode Single User est un mode particulier de fonctionnement du systme correspondant au niveau dexcution 1 (runlevel 1) dans lequel seuls les services minimum sont lancs. Il est souvent appel mode de maintenance. Dans ce runlevel, un shell root est lanc automatiquement au dmarrage, et il nest possible de travailler que depuis la console car les services rseaux ne sont pas dmarrs. Pour dmarrer en mode Single User, il suft de taper linvite de dmarrage de Lilo :
LILO : linux single

16.2. Disquette de rescue


La plupart des distributions propose de raliser une disquette de dmarrage lors de linstallation. Cette disquette peut savrer trs utile en cas de problmes sur le serveur ; il est donc fortement conseill de la raliser lors de linstallation. Il est toutefois possible den crer une aprs linstallation, grce la commande mkbootdisk. Pour raliser une disquette de dmarrage sur le lecteur de disquette par dfaut (/dev/fd0), la commande est la suivante :
mkbootdisk version_noyau

Pour gnrer une disquette pour la version courante du noyau, la commande taper sera la suivante :
mkbootdisk uname -r

Une fois cette disquette ralise, il suft de linsrer dans le lecteur de disquettes et de (re)dmarrer la machine. Si le Bios est correctement congur, la machine va booter sur la disquette de sauvegarde et offrir un shell root, qui permettra de dpanner la machine.

16.3. Demolinux
Demolinux est une distribution Linux fournie sur un CD fonctionnant sans installation. Lavantage par rapport une disquette de restauration, est que Demolinux propose un environnement graphique complet avec la plupart des outils courants.

ATRID Systmes http://www.atrid.fr

73

Chapitre 16. En cas de problmes sur le systme

Demolinux dtecte automatiquement toutes les partitions disponibles sur le(s) disque(s) et les monte automatiquement. Il est donc trivial avec Demolinux de corriger des problmes sur les systmes de chiers ou y copier des chiers manquants. Demolinux est disponible sur (http ://www.demolinux.org/)

16.4. Rparer son systme


Une fois le systme de restauration dmarr, il est possible de rparer le systme. Les problmes les plus courants sont les suivants :

16.4.1. Systmes de chiers endommags


Pour rparer un systme de chiers endommags, il est ncessaire didentier en premier lieu la partition avec la commande :
fdisk -l /dev/hda

qui afchera la liste des partitions du premier disque IDE. Dans le cas dun disque SCSI, il faudra utiliser le chier spcial /dev/sda. Une fois identie la partition endommage, il faut la rparer avec la commande (si la partition en question est la premire du premier disque IDE) :
fsck /dev/hda1

16.4.2. Mot de passe root oubli


Dans ce cas, le mieux est de booter en mode Single User puisque lon obtient un shell en tant que root. Il est possible ensuite dutiliser la commande passwd qui va demander dentrer le nouveau mot de passe.

16.4.3. Restaurer une sauvegarde


Si la sauvegarde a t effectue sur lintgralit de larborescence, en utilisant un tar sur un lecteur de bande, les tapes pour la restauration sont les suivantes : 1. identier la partition racine laide de fdisk :
fdisk -l /dev/xxx

2.

crer un point de montage dans larborescence du systme de secours :


mkdir /mnt/racine

ATRID Systmes http://www.atrid.fr

74

Chapitre 16. En cas de problmes sur le systme

3.

monter la partition racine


mount -t ext2 /dev/xxx /mnt/racine

4.

se placer sur le point de montage :


cd /mnt/racine

5.

restaurer la sauvegarde :
tar xvf /dev/st0

Cette procdure est adapter la situation : si la sauvegarde ne concerne quun rpertoire particulier (/home par exemple), il faudra se positionner dans le rpertoire (/mnt/racine/home par exemple) correspondant an de restaurer la sauvegarde. A linverse, si lon veut ne restaurer quune partie de larborescence, on la spciera la commande tar :
tar xvf /dev/st0 home/

ATRID Systmes http://www.atrid.fr

75

Vous aimerez peut-être aussi