19972768-linux

  • Upload
    vpc830

  • View
    93

  • Download
    0

Embed Size (px)

Citation preview

Versionoriginaleetplusjour:http://troumad.org/Linux/Linux.odtouhttp://troumad.info/Linux/Linux.odt

Table des matires I)INTRODUCTION ............................................... 5 A)Moncours .................................................. .. 5 B)Unix ............................................................. 5 C)GNU:GNU'sNotUnix ................................ 5 D)Linux ........................................................... 5 E)Lesinterfacesgraphiques ............................ 5 F)Lesdistributions .......................................... 6 G)Leslistesdediscussionsaidesenligne .... 7 II)Disquesetpartitionsetsystmedefichiers ..... 8 A)Structurededisquesdur ............................. 8 B)Disquesetpartitions ................................... 8 C)Systmedefichiers ...................................... 8 D)L'arborescenceLinux ................................... 8 E)Remarques ................................................... 9 III)Fichiers,RpertoiresetLiens ....................... 10 A)Rpertoires/Fichiers .................................. 10 B)Lesliens ................................................. .... 10 1)prsentation........................................................10 2)Lesdroits.................................................. ...........10

E)Configuration ............................................ 20 V)Manipulation ................................................ 21 A)Crationdecomptesetdegroupes ........... 21 1)Prsentation........................................................21 2)lignedecommande.............................................21 3)interfacegraphique.............................................22 1)Propritaire,groupepropritaireetautres..........22 2)Lesdroitssurlesfichiers.....................................23 3)Aveclesrpertoires.............................................23 1)ps,top,killetkillall.............................................23 2)excutiond'unecommande.................................24 1)C'estquoiundmon?..........................................26 2)Enlignedecommande........................................26 3)Avecuneinterfacegraphique..............................26 1)Aveclesrpmoudeb............................................26 2)Sanslesrpm........................................................28

B)Systmededroitssurlesfichiers .............. 22

C)Grerlesprocessus ................................... 23 D)Arrtetlancementdesdmons ................ 25

E)Ajouter/Enleverunprogramme ................ 26 F)Configurationdesserveurs ........................ 28 G)Mettreleserveurl'heure ........................ 29 H)Plantages? ................................................. 29 1)Ensortir.............................................................. .29 2)Pourquoi?...........................................................29

C)Premiersoutilspourmanipulerlesfichiers .................................................... .................... 10 1)Lignedecommande............................................10 2)Lesscripts.................................................. ..........13 3)Interfacegraphique.............................................17

I)Exercices ................................................. .... 29 VI)Lerseau ..................................................... 30 A)Lesadressesrseau. .................................. 30 B)Attribueruneadresselacarteethernet. 30 . C)Lesfichiers ............................................... 30 1)SousMandriva.................................................... .30 2)Sousdebian............................................. ............31

D)Rsumdescommandesdushell(BASH) 17 IV)InstallationdeMandrivaLINUX .................. 19 A)Prsentation .............................................. 19 B)Prparationdel'installation ...................... 19 C)Cahierdeschargesdel'installation ........... 19 D)Installation ................................................ 19 22287750.odt Page1sur141

D)Unnomdhte ......................................... 31 1)SousMandriva.................................................... .31 20/09/09

2)Sousdebian.........................................................32

E)LesadressesdesPCdurseau .................. 32 F)Changerlamacadresse ............................. 33 VII)ftp ............................................................... 34 A)Laconfigurationduserveur ...................... 34 B)CertificatSSL ............................................. 35 C)gproftpd .................................................... 35 . D)Manipulation ............................................. 35 VIII)ssh ............................................................. 36 A)Prsentation .............................................. 36 B)Installation ................................................ 36 C)Utilisation .................................................. 36 D)Ouverturedesessionsgraphiques ............ 37 E ) Gnration des paires de clef prive/pu blique .............................................................. 37 F)Utilisationdescp ....................................... 38 G ) Se loguer par SSH sans taper de mot de passe ............................................................... 38 1)Leprincipe......................................................... ..38 2)Lapratique..........................................................38 3)Automatisationenmodegraphique.....................38 4)Automatisationenmodetexte.............................38

D)HTTPS ....................................................... 46 E)Exercice ..................................................... 47 XI)MySQL ......................................................... 48 A)Installation ................................................ 48 1)Lespaquetages....................................................48 2)Rpertoiredesdonnes.......................................48 3)Plusdescurit...................................................48

B)Crationd'unebasepourunutilisateur .... 48 C)phpMyAdmin ............................................. 49 D)Bonus ........................................................ 49 E)Accessibilitdel'extrieur ......................... 49 F)ODBC ......................................................... 50 G)Exercice ..................................................... 50 XII)Partagededonnes/nfs ............................ 51 A)Prsentation .............................................. 51 B)Serveurnfs ................................................ 51 1)Installation..........................................................51 2)Avecunfirewall.................................................51 3)Protectionavechosts.denyethosts.allow............52 4)derrireunrouteur..............................................52

C)Clientnfs ................................................... 52 1)Logicielsinstaller..............................................52 2)/etc/fstab............................................................53 3)rcuprerlepartage............................................53 4)Fermerlepartage................................................54

H)Quelquescommutateurs .......................... 39 I)LeTunneling(redirectiondeports) ........... 39 J)IntgrationdeKDE .................................... 40 1)kdessh.................................................................40 2)Konqueror...........................................................40

D)NFSv4 ........................................................ 54 1)PrsencedeNFSv4..............................................54 2)Configurationdekerberos...................................54

K)sftp ............................................................ 40 L)Astuces .................................................. ..... 40 M)Exercice .................................................... 40 IX)samba .......................................................... 41 A)Exempledeserveur ................................... 41 B)ClientSamba ............................................. 42 C)Exercice ..................................................... 42 D)essayer ................................................... 42 X)httpd ............................................................. 43 A)Prsentation .............................................. 43 1)Petiteprotectionenlecture..................................43 2)Rpertoirepersonnel...........................................43 3)Virtualhost.................................................... .......43 4)RpertoiresdessiteswebsurvotrePC................44 5)Ajusterlacharge................................................ ..44 6)Protectionintranetextranet................................44 7)Leslog................................................. ................45

E)shfs ............................................................ 54 F)LUFS ....................................................... .... 55 G)SSHFS ........................................................ 55 H)Autres(regarder) ................................... 55 I)Exercice ...................................................... 55 XIII)Firewall .................................................... 57 A)Shorewall .................................................. 57 1)Prsentations.......................................................57 2)Configurerlefichier"zones"...............................57 3)Configurerlefichier"interfaces"..........................57 4)Configurerlefichier"masq"................................58 5)Configurerlefichier"policy"...............................58 6)Configurerlefichier"rules"................................59 7)Configurerlefichier"tunnels"............................61 8)Configurerlefichier"hosts"................................61 9)Prendreencomptelaconfiguration....................61 1)Onvrifiequ'iptablesestdisponible....................61 2)Iptables............................................................ ....62 3)Fichierdeconfiguration......................................62 4)Miseenplace................................................... ....65

B)NotionsIptables ........................................ 61

B)php ............................................................ 45 1)Mandriva................................................ .............45 2)debian.................................................................45 3)Gnral........................................................... .....45

C)Tests ......................................................... .. 66 XIV)ServeurDNS .............................................. 67 A)Prsentation .............................................. 67 B)Liens .......................................................... 67 20/09/09

C)WebDAV ..................................................... 45 1)Prsentation........................................................45 2)Installation/configuration...................................45 22287750.odt Page2sur141

C)Exemple ..................................................... 67 1)named.conf......................................................... .67 2)Fichiernamed.local.............................................69

E)Exercice ..................................................... 84 XX)Configurerunserveurd'impression ............ 85 A)Uneimprimante/plusieursordinateurs . . 85 B)Cups ........................................................ ... 85 1)Serveur...................................................... ..........85 2)Client.............................................................. .....85

D)MyDNSAdmin ........................................... 70 E)Tests ..................................................... ...... 70 F)resolv.conf .................................................. 71 XV)Proxy .......................................................... 72 A)Prsentation .............................................. 72 B)Fichierdeconfiguration ............................ 72 C)Francisation ............................................... 72 D)Squidnetrouveplusvotresiteprfr ..... 73 XVI)ServeurDHCP ............................................ 74 A)Prsentation .............................................. 74 B)Exemple ..................................................... 74 C)remarques ................................................. 74 1)Interdireunepersonne........................................74 2)Plusieurscartesrseaux.......................................74 3)RcuprerlesmacadressesdesPCdurseau.....75

XXI)Partagedescanner .................................... 86 A)serveur ...................................................... 86 B)Client ......................................................... 86 XXII)Configurerunserveurdetempsavecntp 87 . A)Introduction .............................................. 87 B)Leprincipedanssesgrandeslignes .......... 87 C)L'installationconcrte ............................... 88 1)Configurationdentp...........................................88 2)SynchroniserunposteLINUXsurvotreserveurde tempslocal......................................................... .....90 3)Synchroniserunpostewindows.........................91 4)SynchroniserunposteMACINTOSHSYSTEME8 OU9............................................... ........................91 5)SystmeMacOSX............................................. ....91

D)Exercice ..................................................... 75 XVII)TerminalserveurX ................................... 76 XVIII)Gestiond'unserveurdeCourriel(Mail) . . 77 A)Installation ................................................ 77 B)Lesaliases ................................................. 77 1)Utilisationnormale..............................................77 2)Crationd'adressedegroupe(nomrevoir)......77

XXIII)LDAP ....................................................... 92 A)Prsentation .............................................. 92 B)Installation ................................................ 92 1)Lesrpm................................................................ 92 2)Lefichierdeconfiguration...................................92 3)Premiersessais....................................................93 4)Structuredesdonnes.........................................94

C)Premiertest:messagerielocale. .............. 77 D)Secondtest:versl'extrieur ..................... 78 1)Sansnomdedomainevalide...............................78 2)Avecunnomdedomainevalide..........................79

C)Unpeudevocabulaire ............................... 96 1)Leschma........................................................ ....96 2)Lesattributs..................................................... ....96 3)Lesclassesd'objets..............................................96 4)LeDistinguishName............................................97 5)LDIF..................................................................... 97

E)Troisimetest:lirelecourrieldel'extrieur .................................................... .................... 79 F)Quatrimetest:recevoirlecourrieldel'ex trieur ............................................................. 80 G)Cinquimetest:envoyerlecourrieldepuis l'extrieur ........................................................ 80 H)Exempledefichiersdeconfiguration ....... 80 1)/etc/postfix/main.cf............................................80 2)/etc/postfix/access..............................................82

D)phpldapadmin ........................................... 97 E)UtiliserOpenLDAPpourl'authentification 971)Manipulationsurleserveur.................................97 2)Installationduclient............................................98

F)UtiliserOpenLDappourSamba ................. 99 XXIV)Sauvegardesystme ............................... 102 XXV)Configureretcompilerlenoyau ............. 104 A)Premiertest ............................................. 104 B)Testssuivants .......................................... 104 C)Fairelemnage ....................................... 105 XXVI)Scurit ................................................. 106 A)Lesutilisateurs ........................................ 106 B)l'utilisateurroot ....................................... 106 C)Configurerlilo ......................................... 106 D)Configurerlenoyau ................................ 106 E)Lesdmonsetversionsdelogiciels ........ 106 F)Unbonfirewall ....................................... 107 G)Visualiservosportsouverts .................... 107 20/09/09

I)Petitplus .................................................... 82 J)Test openrelais ..................................... 82 K)SpamAssassin ............................................ 82 L)Amliorationspossibles ............................. 82 M)Exercices ................................................... 82 XIX)ServeurNIS ............................................... 83 A)Prsentation .............................................. 83 B)Leserveur .................................................. 83 C)Lesclients .................................................. 84 D)Changementdemotdepasse/ajoutd'utili sateurs .......................................................... ... 84 22287750.odt Page3sur141

H)votrescuritrseau .............................. 107 I)Consultezrgulirementvosfichiersdelog .................................................. .................... 108 1)log................................................... ..................108 2)ulog.................................................. .................108 3)fail2ban.............................................................108

1)Prsentation......................................................111 2)Installation........................................................111 3)menu.lst............................................................112

J)Lasauvegardedesdonnes ..................... 108 1)Lescript....................................................... ......108 2)Lesbesoins........................................................109 3)Versionplussimple............................................109 4)Encoreplussimple............................................109

B)Quota ................................................. ...... 113 C)forkbomb ................................................. 113 D)PasserelleLinuxavecduWifi .................. 114 E)MisejourMandriva .............................. 115 F)Onduleurs(UPSenanglais) .................... 115 I)Annexes ....................................................... 117 A)Remerciementsetbibliographie ............. 117 IndexLexical ................................................. 118 Petitlexique .................................................. 119 Petitlexique .................................................. 120

K)Lesversetautres .................................... 110 XXVII)Aranger! ............................................. 111 A)InstallationdeGrub ................................ 111

22287750.odt

Page4sur141

20/09/09

I) INTRODUCTION

A) MoncoursLebutdececoursestdemontrerqueLINUXexisteetqu'onpeutmonterpleinsdeserveursdiffrentspartirdes CDd'installation.Lepublicvisestuneclassedelicenceprofessionnelle,letempsd'enseignementestde4heuresdeTD et9deTP .Cecoursdbordedonclargementdupeudetempsdisponible. Danscedocumentjenefaisquerelatermonexprienceetjemesersaussidececourspourmontermespropres serveurs.Cecimepermetdelemodifierchaqueutilisation.Jen'abordepasl'installationdetouslesserveurs,chaqueser veurabordmriteraitluiseulunbouquinentieretjenepeuxluiconsacrerquequelquespagesquisontdoncincom pltes. Jeseraisheureuxderecevoirdesremarquesconstructivesmonadresse:[email protected]'amliorer cedocumentquiacommemissionaussibiend'aiderlesutilisateursdeLINUXmonterleursserveurssurleurPCquede fairedcouvrirLINUXdespersonnesquis'intressentl'installationdeserveurs.Jepeuxaussirajouterdeschapitressur d'autresserveurssivousmelespassez. Je viens d'avoir l'impression que mon cours est fait dans le mme esprit que le site http://www.linuxpourles nuls.org/.

B) UnixiInformationsdisponiblessur: http://www.linuxfrance.org/article/jdanield/V2.0/ http://fr.wikipedia.org/wiki/UNIX#.C3.80_l.27heure_actuelle Unixestunsystmed'exploitationmultiutilisateuretmultitchenen1969.Depuis1973,UnixestcritenC. Unedesforcesd'UNIXestd'tredisponiblesurplusieursarchitecturesavecdesnormessuffisammentstrictesqui permettentd'avoirseulementrecompilerunprogrammepourpasserd'unearchitecturel'autre. Depuis1987,UNIXestmmedisponiblesurPC,lenomdecettepremireversionestMinix. L'interfaceutilisateurd'Unixestconstitue: D'unensembledeprogrammesexcutables:lescommandes Dushell,interprteurdecommandemaisaussi,plusquedansn'importequelautresystmed'exploitation,lan gagedecommandepermettantd'criredesprogrammes,scripts,d'unegrandecomplexit.Travaillerenlignedecom mande,c'estutiliserlapuissancedushellsuruneconsoletextesansinterfacegraphique.

C) GNU:GNU'sNotUnix(http://www.gnu.org/) Le27septembre1983,leprojetGNUiinatdanslattedeRichardStallman: AdaterdeceThanksgiving,jevaiscrireunsystmed'exploitationcompletcompatibleUnixappelGNU(pour GnuN'est_pasUnix)etledonnergratuitementtoutepersonnequipeutl'utiliser.Descontributionsentemps,argent, programmessontgrandementncessaires. PourquoiJeDoiscrireGNU Jeconsidrequelargled'orexigequesij'aimeunprogrammejedoislepartageraveclesautrespersonnesqui l'aiment.Jenepeuxpas,enbonneconsciencesignerunaccorddenondivulgationoudelicencesurunlogiciel. GNUestl'originedeslicencesGPL(GeneralPubliclicence)etdoncdeslogicielslibres.Parmileslogicielslibres, ontrouve,entreautre,LinuxetunegrandepartiedeslogicielstournantsousLinux.

D) LinuxAucoursdel'anne1991,untudiantfinlandais,LinusTorvalds,trouvantMinixtroplimit,dcided'crireun noyauUnixpourPC.Ilralisequelquesmodules(justedequoifairefonctionnerunlecteurdedisquettes)etposteletout surlesiteInternetdesonuniversit.DepuisLinusTorvaldsestrestpropritairedunoyauetenassurelamaintenance. Soninitiativeallaitdchanerl'enthousiasmedemilliersdeprogrammeurs,etlenomdunoyau,Linuxdevait bientt,dansl'espritdupublic,supplanterceluideGNUoudeFSF.Pourtant,ennombred'octets,lacontributiondeGNU estbienplusimportantequecelledeLinux. Attention,Linuxestlenoyau.IlnefautpasleconfondreaveclesinterfacesgraphiquesquisontdisponiblessousLi nux(voirchapitresuivant). Voirlesite:http://cern91.tuxfamily.org/linux/menu.php4?page=gnulinux LinuxestdoncunUnixparmid'autres.

E) LesinterfacesgraphiquesUneinterfacegraphiquen'estqu'uneinterfacepermettantd'accderdescommandesquisontsouventsipuis santes,quel'onnepeutvraimentlesexploiterfondseulementenlignedecommande.Prenezl'exempledeslogicielsgra veurs:4ou5(etplus)interfacesetaufond,2,3commandesderrirequisontlesmmes(c'estunpeuraccourci,mais c'estquandmmel'ide). 22287750.odt Page5sur141 20/09/09

Linux dispose de plusieurs interfaces graphiques (windows manager ou WM) connues comme KDE, Gnome, ICEwm...Certainessontpluspuissante(KDE)qued'autresquidemandentmoinsderessource(ICEwm).Cecipermetde pouvoirinstallerlaversionsouhaiteenfonctiondumatrieldisponibleetdesbesoins.SurunpetitPCquipeutservirde serveur(http,ftp,samba...),nouspouvonsmettrelesderniresversions(aveclesdernirescorrectionsdesderniersbug trouvs)duserveuravecunWMpeugourmand.OnpeutmmesepasserdeWMcarlalignedecommandesuffitconfi gurernotreordinateur. Lorsquequ'ontravailleavecunWM,nousavonslapossibilitd'ouvrirdesshellouconsolepourtravaillerenligne decommandeoulancerdesprogrammesgraphiques.Certainsprogrammesgraphiques,commeceuxdeconfigurations, nesontquedesinterfaces(GUI:GraphicalUserInterface)convivialespourfairedesmanipulationsfaisablesenlignede commande.Personnellement,jetrouvelalignedecommandepluspuissante,certeselledemandeuninvestissementau dpart,maisilestviterentabilis! LesinterfacesgraphiquessontgresparunserveurX, iii,programmequifournitdesservicesgraphiques.Ilprend enchargelagestiondespriphriquesd'entreetdesortieclavier,souris,cran).Ceserveurad'normespossibilitsque nousnetraiteronspasici.Parexemple,leserveurpeuttournersurunordinateuretl'affichagesefairesurunautre. Unepetiteforcedesinterfacesgraphiques,testeravecmodration(risquedesaturationdeRAMouduproces seur)aveclexdelafinsuprieur0:startx /etc/X11/xdm/Xsession Gnome -- :X startx /etc/X11/xdm/Xsession WindowMaker -- :X startx /etc/X11/xdm/Xsession Enlightenment -- :X startx /etc/X11/xdm/Xsession BlackBox -- :X startx /etc/X11/xdm/Xsession IceWM -- :X startx /etc/X11/xdm/Xsession Sawfish -- :X startx /etc/X11/xdm/Xsession XFce -- :X startx /etc/X11/xdm/Xsession KDE -- :X

Vousouvrezainsiunterminal,le7+Xavecl'interfacechoisie(F(7+X)pouryaccder).startx /etc/X11/xdm/Xsession fluxbox -- :1 & xrandr -s 640x480 -d :1

Cettedernireligneimposeenpluslarsolution.X -query adresse-IP-de-la-machine :1

VoustesenCtrlAltF8avecunesessionXouvertesurunPCdistantindiquparadresse-IP-de-la-machine. Remarque:ilestFORTDCONSEILLd'ouvriruneinterfacegraphiqueentantqu'administrateur.Ilfautlefaireen tantqu'utilisateurnormaletaprsprendrelecontrleentantqu'administrateurdansunshellenfaisantsuousu -.

F) LesdistributionsLinuxettouslesprogrammesquivontavecsontavanttoutlivrssousformedesourcecompiler.Ilesttoutfait faisabledercuprerlessources(voirdelesmodifier)puisdelescompiler.Ceciestparticulirementfastidieuxcarilya souventunefouledeparamtresrgler(ilfautconnatreparfaitementsonsystme!)etc'estvraimentlong:plusieurs journes(semaines?)justepourlacompilation.Pourvitercela,Linuxestbienplussouventdiffussousformed'une distribution.Unedistributionestunensembledeprogrammes(noyaux,commandes,applications...)quiassureuneinstal lationd'unsystmecomplet. Voiciunelistededistributions: Knoppix (http://knoppixfr.tuxfamily.org/)ladistributionLinuxbootablesurunCD.ElleestinstallesurunCD pourtouslesordinateurs!Onappelledetellesdistributionsdesdistributionslives. Mandriva/Mandrake(http://www.mandrivalinux.com/fr/):c'estladistributionfranaisequis'estsurtoutorien tegrandpublicavecuneffortsurlesoutilsd'installationetdeconfiguration.Mandriva(anciennementMandrake)distri buegratuitementuneversioncomplteetdveloppeaussiunesolutionserveurpayante.Nousutiliseronslaversiongra tuitedeMandriva. Redhat(http://www.fr.redhat.com/),commeMandriva,RedHatestuneentreprise. Fedora:laredhatgratuitepourtest. Debian(http://www.fr.debian.org/)estlaseuledistributionrelevantd'unprojetGNU,elleestsurtoutprvupour lesserveursoulesprof. Ubuntu(http://www.ubuntulinux.org/),unversiondmocratisedeladebian. Slackware(http://www.slackware.org/)soitdisantlaplusUnixdesdistributions. SuSE(http://www.suse.de/fr/)estunedistributionqu'onpeuttrouvergratuitementdepuis2004(rachatdeSuSE parnovell). OpenSuse:(http://www.opensuse.org/Welcome_to_openSUSE.org),laSusegratuite. Gentoo (http://www.gentoo.org/)fournitunsystmedepaquetagesourcesquisontrecompilsaumomentde l'installation. SME(autrefoisappeleesmithServerandGateway):(http://smeserver.fr/index.php)orientserveur. 22287750.odt Page6sur141 20/09/09

LFS(http://www.fr.linuxfromscratch.org/):unsystmeoondoittoutinstallerlamainpartirdelacompila tiondunoyau. Rescuecd (http://rescuecd.sourceforge.net)quipermetencasdegrossoucisderparersonsystme(Linuxou Windows),elleestbasesurDebian.Ellesn'ontpasd'interfacesgraphique,maiselleesttrsefficace,etenpluselleest personnalisabletrsfacilementetavecn'importedistribution. Systemrescue(http://www.sysresccd.org/index.fr.php)estuneautredistributionquipermetrparerunsystme. Lapage http://www.linuxfrance.org/article/choixdistri/choixdistri.html vousfaitunmeilleurdescriptif.Lesite http://ikarios.com/vouspermetd'acqurirlesdistributionsgratuitesprixrduitssivousn'avezpasdeconnexionrapide internet. nb:lesdistributionslivesdeviennentdeplusenplusfrquentes,Ellesservlenttrspratiquespourintervenirsur desPCquiontdesproblmesdedisquesdurafindepouvoiresprersauverdesdonnesavantlarinstallationd'unnou veausystme,

G) LeslistesdediscussionsaidesenligneSouventlesdistributionsoffrentaussideslistes/forumsdediscussionsgratuitesoonpeutsoumettrenosprob lmesetessayerdersoudreceuxdesautres.Ceslistessontparfoisplusractivesqueleshotlineetaidentpourrsoudre lesproblmes.Ellesontsouventagrablesfrquentercarl'espritdulibreestlepartageetlesutilisateursdeLINUXsont souventdesamoureuxdeleurOsprfr.Acepropos,oncomprendlattesympathiquedeleur(notre)mascotteTUX (http://dmoz.org/Computers/Software/Operating_Systems/Linux/Tux/). Profitonsenpourdonnerladfinitiondetuxd'aprshttp://www.linuxfrance.org/prj/jargonf/: TUX=Petitnomdumanchot,souventconfonduavecunpingouin,quiestlamascottedeLinux.Rienvoiravec Tuxedo,mmesionpeutsedouterqueTuxestuneabrviationdusmokingqueportentcertainsvolatiles...Lapetite histoireditquelenomatchoisilorsduconcoursLet'sNameThePenguinWhileLinusIsAwayContest(Donnons unnomaupingouinpendantqueLinusaledostourn). Parmiceslistes,voicil'adressed'inscriptiondecellesdeMandriva:http://www.mandrivalinux.com/fr/flists.php3. IlexistedeslistesdediscutionspourdeslogicielslibrescommeOpenOffice.org(http://fr.openoffice.org/contactfo rums.html)lelogicielaveclequeljefaismescours. Ilexisteaussidesforumsd'aidecomme http://www.developpez.net/forums/viewforum.php?f=5 quifournissent des aides compltes (avec une introduction spciale dbutant) comme : http://nepomiachty.developpez.com/config linux/index.php. Etsurtout,ontrouvenormmentd'aidesurinternet.Toutaulongdecedocument,jem'eninspireensitantmes source. Voici par exemple un tutoriel fait par un dbutant pendant son apprentissage : http://numarrou.free.fr/in dex.html.

22287750.odt

Page7sur141

20/09/09

II) Disquesetpartitionsetsystmedefichiers

A) StructurededisquesdurUndisquedurestcomposdecylindres(pistes)etsecteurs,ttes, plateaux.Onparledecylindrequandilyaplusieursplateaux.Doncs'ily aqu'unseulplateaualorsuncylindre=unepiste.Voilaquoiressemble undisquedurunefoisformat.

Secte ur Pistes / cylindres

Dessin1:plateaudedisquedur Undisquedurpeuttredivisenplusieurspartitions,donclediviserenplusieurspartiescommesionavaitplu sieursdisquesdurindpendants. Avantl'installationdetoutOS,ilfautprparerledisquedur,c'estdirecrerdespartitionsetensuitecrerunsys tmedefichiers.Engnralsouswindowsvousavezunepartition,avecunsystmedefichiers(fat16, fat32,NTFS, suivantlesversions).Undisquebienprpardevraitpossderaumoinsdeuxpartitions,unepourlesystmeetl'autre pourlesdonnes.PourinstallerLinuxilfautauminimum2partitions,maisjeconseilleminimum3.Lapartitiondeswap, lapartitionsystme,etlapartitiondesdonnes. Lapartitionswap,sertdemmoirevirtuelle,lammoirevirtuellepermetd'augmenterlammoire,maiselleesttrs lentecarelleestsurledisqueetqueledisqueadestempsd'accspluslent Lapartitionsystmes'appelle/etellepeuttredivisenplusieurspartitions. Lapartitioncontenantlesdonness'appelle/home,etellecontientlesdonnesdetouslesutilisateurs. Ilexisteplusieurstypesdedisquesdur,ilyaletypeIDEetletypeSCSI,jedtaillecesdeuxtypescarLinuxles nommentdiffremment.Aveclenoyau2.4,lenomdupriphriquecontient3lettres+unnombre.Les2premires lettresnousdonneletypepriphrique,ladeuximelendudisquedur,etlechiffrelendepartition. /dev/fd0reprsentelepremier(0)lecteurdedisquette(fd) /dev/hda1reprsentelapremire(1)partitiondupremier(a)disquedurIDE(hd) /dev/sdb3reprsentelatroisime(3)partitiondudeuxime(b)disquedurSCSI(sd) Avecl'apparitiondunoyau2.6,legrandmnagedurpertoire/devfaitchangersesnomsencrantdessousr pertoires: /dev/floppy/0pourlepremierlecteurdedisquette(lesecondsera/dev/floppy/1 /dev/pourlesdisquesdurs

B) Disquesetpartitions

C) SystmedefichiersAprsavoirpartitionnledisqueilfautformaterlapartition,leformatagecrelesystmedefichiersquivarece voirlesdonnesetlesystmed'exploitation.Linuxreconnatbeaucoupdesystmedefichiers.CeluiutilisparLinuxest ext2ouext3pourlestandard,lepremierestnonjournalistandisqueledeuximeestjournalis.Mais ilenexiste d'autresquel'onpeututiliscommereiserfsouxfs.Lesnouvellesdistributionsutilisentunsystmedefichiersjournalis, quial'avantagedepouvoirdeserparerplusfacilement.

D) L'arborescenceLinuxLerpertoireracineest/,ilestcrpardfaut,ilcontienttouslesautressousrpertoires.Chaquerpertoirea unesignificationbienprcise,aumoinspourlesrpertoiressystme.Doncc'estunsystmebienorganiscommevousal lezlevoir. /usr:Cerpertoirecontienttouteslesressourcesdusystme,sonnomsignifieUnixSystemRessources. /usr/bin:Contientlesutilitairesinstallssurlesystme /usr/lib:Contientlesbibliothquesassocisauxexcutablesde/usr/bin. /usr/include:Contientlesfichiersd'entte,quisontprsentquesioninstallelesversionsdedveloppement.Ne sertquesionveutinstalllesversionssourcesdesprogrammes. /usr/X11R6:ConcernetouscequiconcerneXfree86ouxorg(l'interfacegraphique). /usr/share:Contientlesressourcespartagespartousleslogicielsprsentsdans/usr/bin /usr/local:Ilreproduitl'arborescencede/usr,etilcontientlesprogrammesinstallspartirdesources. /usr/src:contientlessourcesdesprogrammes. /boot:IlcontientlenoyauettouscequipermetLinuxdebooter,Ilestprfrabledemettrecettepartitionsurles 1024 premiers cylindres, surtout pour les anciennes distributions, car sinon le bootloader ne pourra pas trouv ces fichiers.Ilcontientaussilefichierdeconfigurationdelilo(gestiondedmarragemultiboot) /boot/grub:fichiersdeconfigurationsdegrub(concurentdelilo) /root:C'estlerpertoiredusuperutilisateur. /lib:Contientleslibrairiesetlesmodulesdunoyau. /etc:Contientlesfichiersdeconfiguration. /home:Contientlesdonnesdesutilisateurs.Chaqueutilisateurasonproprerpertoire.

22287750.odt

Page8sur141

20/09/09

/var:Ilcontientlescourriers(sivousavezunserveurdemail),lesfilesd'impressionsetlesjournaux(logs),ces dernierscetrouvedans/var/logs.Parexemplesiquelquechosenevapas,onpourratrouverlaraisondanscesfichiers. L'originedevarestvariable. /dev:contienttouslesfichiersgrantlespriphriques,soncontenuestsurtoutgnrlorsduboot. /proc:contientl'tatdusystme,ladiffrencedesautresrpertoires,/proceststockenmemoireetnonsur ledisquedur. /mnt:sertmonterparexempledesdisquesamoviblesoudisquesrseaux...mntvientdemount. /media:remplaceparfois/mntpourmonterdesmdiascommeleslecteursdeCDROM,DVD,disquettes... /tmp:c'estunrpertoiretemporaire. /opt:sertmettredesexcutablesenphasedetest.

E) Remarques1)Ilexisteunvisualiseurgraphiquepouranalyserl'encombrementdesdiffrentsrpertoiresdevotrearborescence :filelight.Vouspouvezl'installeravecurpmifilelightouaptgetinstallfilelightpourMandrivaouDebian. 2)IlfautsavoirquesurLinuxtoutestfichiers.Pourvousconvaincre:less/homeparexemple.

22287750.odt

Page9sur141

20/09/09

III) Fichiers,RpertoiresetLiensAvantderentrerdanslesystme,ilfautsavoircommentsontrangeslesinformations.

A) Rpertoires/FichiersLesdonnessontstockesdemanirehirarchisearborescentesurlesdisquettes,disquesdurs,CDROM....Les informationssontdansdescasesnommesrpertoires,danscesrpertoiresontrouvesoitdesfichiers(quicontiennentles donnes)soitd'autresrpertoires.L'ensembledesrpertoiresformentl'arborescencedevotresystmededonnes. SurUnix(Linuxdoncaussi),larpartitionphysiquedesdonnesn'estpasvisibledel'utilisateurfinalsil'admi nistrateurfaitbiensontravail.OnneparlepasdedisqueC,duD...(commedansDOS/Windows)toutestcommesiona unseuldisque,mmepourlesdonnespartagesquiviennentd'unautreordinateur( voirIX)B)1)/etc/fstab).Cecipermet l'utilisateurfinaldepasserd'unordinateurl'autresurunrseausanschangerd'environnement,lesdonnesdetravail tanttoujoursstockesdanslemmerpertoireaummeendroitdansl'arborescence.Direquelastructurematrielleest compltementtransparente,c'estunpeuexagrcarilfautbiensavoiroestleCD,ladisquetteoulesautrespriph riquesamovibles!Rgulirement,c'estdanslerpertoire/mnt.Lepremieresthabituellementdans/mnt/floppyetlese conddansmnt/cdrom.C'estaussidanscerpertoirequeLinuxinstalle(monte)automatiquementlespartitionsautres commelespartitionswindows.MaisLinuxtantentirementlibre,onpeutfairecequ'onveut.Cecipeuttremodifilors del'installation.

B) Lesliensliens)!

Cecin'estpastoujoursvident,vousaurezparlasuiteunesried'essaispourmieuxcomprendre( voirIII)C)1)f) Onpeut,aulieudedupliquerunfichier,mettreunlienverscefichier.Sionmodifielefichierpartirdulien,on modifielefichier,enrevanche,sionl'effaceunefoisilrestepourl'autre.Onpeutaussimettreunmmefichierdansplu sieursrpertoiresafinquediffrentespersonnespuissentyaccderavecdiffrentsdroits. Ladiffrenceentreunlienphysiqueetsymboliquesevoitbienquandoneffacelefichieroriginal(voirplusloin). Unliensymboliquepeutpermettreparexempled'avoirunlienversuneapplicationquipourratrechangelors d'unemisejouretnotrelienlui,inchang,indiqueralanouvelleversion. Unlienphysiquesurunfichiernepeutsefairequesilefichierestsurlemmesystmedefichiers(mmeparti tion).Ilpeuttreuneprotectionencasd'effacementintempestifcarpoureffacerrellementunfichier,ilfauteffacertous lesliensphysiquesquipointentverslui. Onpeutaussimettreunliensymboliqueversunrpertoirepourfaciliterlanavigationdansl'arborescence. EnfaittoutestliensousLinux.Dansunrpertoire,onadesliensversd'autresrpertoires,d'autresfichiers:une informationpoursavoiroilssontstocks. L'importantpourpouvoirsupprimerleliensymboliqueestlepropritaireetlegroupedulien.chown -hpermet dechangerlesdroitsduliensymboliqueetnondel'objetpoint.Unchmodchangelesdroitsdufichiercible. Ilfautsavoirquechangerlesdroitsd'unliensymboliquenesertrien,etcepourlasimpleraisonqu'ilsnesont jamaisprisencompte. Lacration/suppressiond'unfichierdansunrpertoire,dpenduniquementdesdroitsdel'utilisateurdanscer pertoire. Concernantlalecture/crituredufichierenquestion,seulcomptelesdroitsdufichierpoint. Uncasparticuliertoutdemme:lorsquequelestickybitestactivsurlerpertoirequicontientlelien,lepropri tairedulienestprisencompte.Maisc'estmaconnaissanceleseulcas.

1) prsentation

2) Lesdroits

C) PremiersoutilspourmanipulerlesfichiersPourceuxquiontconnuleDOS,c'estfortsemblable.Lalignedecommandeesttrspuissante,trsrapideetimpor tanteconnatrecarparfois,distanceparexemple,c'estlaseulemthodedisponible.Cettemthodesemblecertesfasti dieuse,maiselleservlerapidementbienplusefficaceetplusprcisequelesmthodesgraphiques. Dsquevousvousposezunequestionquantunecommandeayezlebonrflexe: man la_commande ,ilya aussilapossibilitdefaire la_commande --help maisl'explicationestplusrestreinte.Pourplusd'explicationsurla commandeman,fates man man :).Lorsquelemandevientlong,dansuneinterfacegraphiqueavecKonquerorpar exemple,vouspouvezfairemettrelecheminman:/la_commandecommeman:/man.

1) Lignedecommande

22287750.odt

Page10sur141

20/09/09

a) Affichageducontenud'unrpertoire

Illustration1:Arborescencevisualiseavecuneinterfacegraphique(KonquerorsousKDE) Lacommandedebasepourafficherlecontenud'unrpertoireest ls pourLiSt.Cettecommandepossdedes optionsqu'onpeutvoirenfaisant man ls .Lesplusutilisessont ls -l et ls -a quiontrgulirementdes raccourcis: ll et la (onpeutenfaired'autresoulesenlever:voirplustardlesalias). ls nedonnequelalistedesfichiers,rpertoires,liensetautrescontenudanslerpertoire.Souvent,ildot d'unaffichagecolorpourinformersurlanaturedufichier/rpertoire:bleufonc:unrpertoire,bleuclairunlien,blanc :unfichierquelconque,vertunexcutable...Mmesanscouleurs,cesinformationssontvisibles:un/lafindunom pourunrpertoire,un@pourunlienetun*pourunexcutable. ll luiaffichedansl'ordre,lespermissions(oudroits:voirplusloin IV)B)Systmededroits),lenombredeliens physiques,lepropritairedufichieretlegroupepropritaire,latailleenoctets,l'horodatage(pardfautl'horodatage prsentestceluideladerniremodificationdufichier),etfinalementlenomdurpertoire/fichier/... la affichetouslesfichiersdesrpertoires,ycomprislesfichierscommenantparun . . Uneautreinformationimportanteestdesavoiroonestsurl'arborescence.Cetteinformationestdonneparla commande pwd . Vous remarquerez que l'arborescence est indique de la manire suivante : /premier_rpertoire/second/... .LesparateurentrerpertoireestlesparateurUnix / (normal,LINUXest unUNIX),paslesparateurmicrosoft \ . b) bougerdansl'arboscence Lacommandedebaseest cd (ChangeworkingDirectory). Pourallerlaracineonfait cd / .Unefoissurlaracinepouralleraurpertoirehomeonfait cd home . Ensuite,pourallerdanslerpertoirehome/root(rpertoirededpartdelaflchevertedul'illustration1),onfait cd root .Apartirdelaracine,onauraitpufaire cd home/root ,enrevanchesionestn'importeo,leplussimpleest defaire cd /home/root . Pourfaireleparcoursdelaflchevertesanspasserparlaracine,onfait: cd ../mclaires/projets ,c'estun dplacementenmoderelatif.Onauraitpufairecedplacementenserfrantlaracine cd /home/mclaires/projets ,cettefois,onafaitundplacementenmodeabsolu:onserfrelaracine. Latouchetabulationtanttrsutile:ellefaitlacompltion,nousallonslatesterdesuite:taper cd /ho +ta bulationvousaurezalors cd /home/ quivas'afficher.Eneffet,ellecompltel'affichagejusqu'oellepeut.Siaubout d'uncertainavancementilyaplusieurschoix,elleafficheleschoixpossibles(oudemandes'ilestutiledelesaffichers'ily enatrop!). Remarque1:un cd seulrenvoiel'utilisateursursonrpertoirepersonnelet cd ~/un_chemin donneun cheminabsolupartirdurpertoirepersonneldel'utilisateur. Remarque2:lerpertoirepersonnelderoot(administrateursystme)est /root.Commelesnouvellesversionsde Mandrivanepermettentpasdelemettredansunepartitionsparedelaracine,jecopiedoncdesdonnesimportantes derootdansunrpertoirequej'attribuerootdanslapartition /homeafindesauvegarderdesdonnesimportantesde rootencasdeformatagedelaracinesionveuxchangerdeversiondeLinux.Lepassaged'uneversionlasuivanted'une mmedistributionsefaitsansreformatage,maissionfaitunchangementdedistribution,rienn'estassur! 22287750.odt Page11sur141 20/09/09

c) Crereteffacerdesrpertoires LacommandepourcrerunrpertoireestmkdirpourMaKeDIRectory(unraccourcialiasexistesouvent: md).Pourcrerunrpertoirebidondans/home,onpeutfairemd /home/bidon(onpeutlefaireaussibienenrelatif qu'enabsolu).md bidoncreraunrpertoirebidonl'endroitonoussommesencemoment,cettecommandefera cequ'onsouhaitesiontaitdans/home. Maintenant,onveutcrerunrpertoirevidedanslerpertorebidon,onpeutfairemd /home/bidon/vide. Cettecommandetapesansavoirauparavantcrerlerpertoire /home/bidon auraitdonnuneerreur:mkdir: Ne peut crer le rpertoire `/home/bidon/vide': No such file or directory. La commande pour effacer un rpertoire est rmdir pour ReMove DRIectory (un alias existe souvent : rd). Maintenant,onveuteffacerlerpertoire/home/bidonetcequ'ilcontient.Pourpouvoireffaceravecrdunrpertoire, ilfautqu'ilsoitvide,c'estdirequesionfaitrd/home/bidon,onobtientlemessagesuivant:rmdir: `/home/bidon': Directory not empty.Ilnousfaudradoncfaireavantrd /home/bidon/vide.Ilyaunemthoderisque pourviteraqu'onverraplustard. Encorelatouchetabulation:taperrmd+tabulation.Vousallezavoirrmdirquis'affichecarc'estlaseule commandequicommenceparrmd. d) copieretbougerlesfichiers Pourcopier(dupliquer)unfichierlacommandedebaseestcppourCoPy.cpfichier_originefichier_arrive. Revenonsdanslerpertoire/home/root.Sinousvoulonscopierlefichierbashrcdanslefichier .bashrc(cach carilaunpointdevant)onfaitcp bashrc .bashrc.Sionavaitvoulucopierdirectementcefichierdanslerpertoire /home/mclaires, on aurait pu faire directement cp bashrc ../mclaires/.bashrc en relatif ou cp bashrc /home/mclaires/.bashrcenabsolu.Onpeutfairelammechosesansmettredenom,maisjusteuncheminversun autrerpertoire.Cecidupliquelefichierdanslerpertoireciblesanschangerlenom:cp bashrc ../bscopiele fichierdanslerpertoire/home/bssanschangersonnom. Cettefois,allonsdanslerpertoire /home/mclaires/projets cd ../mclaires/projets.D'icirapatrionsle fichier XF86Config4.s_travail qui se trouve dans le rpertoire /home/root. Nous pouvons faire soit cp ../../root/XF86Config-4.s_travail .oucp /home/root/XF86Config-4.s_travail .Vousavezremarqu, j'esprelaprsencedu.lafindescommandes,celuiciindiquelerpertoirecourant. Unixdisposed'unecommandequivalentepourdplacerunfichier(MoVe),c'estmv.Ellemarchecommecp, maisl'originalseraeffaceretiln'existeraplusquelacopie.Cettefois,onpeutaussibougerunearborescencecomplte: mv /home/bs1 /home/rootcreralerpertoirebs1dans /home/root etymettratouteslesdonnesdurpertoire /home/bs1. Jepeuxprofiterdecescommandepourvousparlerde *:Caractresgnriquequiestquivalentn'importequellechanedecaractre(ycomprislespoint(".")et aucuncaractre. ?luiestquivalentan'importequelcaractre(unique) [ ]signifien'importequelcaractrecomprisentrelescrochets([aeiouy]seravalablepourtoutmotcompor tantaumoinsunevoyelle) Parexemple,cp * destinationcopietouslesfichiersversladestinationetcp deb* destinationcopie touslesfichiersquicommencepardebverslerpertoiredestination.Uneastuce:pourvrifiercequiseracopi,vousau riezputapertabulationavantdetaperle*,cecivousafficheratouslesfichiersquiserontbouger.*estcomprispar presquetouteslescommandes. e) diter,modifiereteffacerlesfichier i) Effacer Poureffacerunfichier,lacommandeestrm.Oneffaceunfichieravecrm nom_du_fichier.Cettecom mandeestsouventmodifiparunaliasquiobligelademandedeconfirmationpourchaqueeffacement( alias rm='rm -i').Pourvitercela,onpeututiliserrm -f,maisc'estdangereux. Encoreplusdangereux,ilyarm -f -r *quieffacetoutpartirdel'emplacementactuelenparcourantles sousrpertoires.Ceciauraitpunoustreutilepoureffacerlerpertoirebidonquandilavaitencorelerpertoirevide: rm -r -f /home/bidon.Ceciestd'autantplusdangereuxquesionfaitrm -f -r *surlaracineaveclesdroits administrateur,oneffacetouteslesdonnes!Peuttrepascellequisontsurd'autresordinateurssuivantcommentontt dfinilespartagescarl'administrateurdenotreordinateurn'estpasadministrateursurlesautresordinateurspriori! ii) Lire Revenonsdansnotrerpertoire/home/root.Sinousvoulonsvisualiserlefichierbashrc,nouspouvonsfairecat bashrc.Maissicefichieresttroplong,ilestutiled'utiliserlacommandeless bashrc.Danscederniercas,onpar courslefichieraveclestouchesflcheverslehaut/verslebas(commelestouchesjetk)et/oupagesuivante/pagepr cdente.Ondisposedelatouchehpourfaireafficheruneaideetonsortaveclatoucheq. 22287750.odt Page12sur141 20/09/09

iii) Modifier Parfoisilestaussiutiledemodifierenlignedecommandeunfichier.Lesdeuxditeursprincipauxenlignedecom mandesontvietemacs.Lesfrusd'Unixquiontapprisutilisercesditeursavantl'existencedesmodesgra phiquesvousdirontqu'ilssontpluspuissantsquen'importequelditeurgraphique.Jepensequ'ilsontraison,maisjene lesmatrisepasassezpourenprofiter!Jevousindiqueraisdonclescommandeutilesdevi(leseulquejesuisarrivuti liser).Enmodegraphique,vousavezparexemplekwrite. Nousallonsdonccherchermodifierlefichierbashrc:vi bashrc.Poursedplacerdanslefichier,vousavez soitlestouchesh,j,ketl(trsutileavantl'apparitiondesclavieraveclestouchesdroitedeslettres:lesflchesetles chiffres),soitlesflches.Pouravoiruneaidetapez:hpourensortir:q.Pourinsrerdutexte,allezovousvoulez insrerletexte,puis,tapezi(ouapouralleraprs),aprstapezchappe(toucheescape,ESCouEchapen hautgauche).Poureffacerletexte,enmodeinsertionaveclesnouvellesversions,vouspouvezutiliserlestouchessup primeetbackupdevotreclavier.Enrevanchesivousn'tespasenmodeinsertion,vouspouvezcommencergoutterla forcedevi:10 xeffacera10caractrespartirducurseurets'arrteralafindelaligne.5 ddeffacera5lignes. xseuleffaceraunelettreetdduneligne.uannuleralesprcdentescommandes.Poursauvertaper:w.vire fuseradesefermeravec:qsilesderniresmodificationsn'ontpastsauves::q!poursortirsanssauveret :wqpoursauvegarderetquitter.Ceciestune'sousutilisation'devi,maissuffisantepourdepetitesutilisations. f) fairedesliens Leslienssefontaveclacommandeln. Allonsencoreunefoissurnotrerpertoire/home/rootetcronsunrpertoireliens. Nous allons pouvoir tester les diffrents liens avec les trois fichiers dont nous disposons dans ce rpertoire : bashrc,.bashrcetXF86Config-4.s_travail. Commenonsparcrerunlienmatriel:ln .bashrc surprise.Sionregardelerpertoire,ll,onvoitnos 4fichierssansdistinctionentreles4,sicen'estquelechiffredelasecondecolonneest2pour .bashrc surprise,alors quepourlesautresiln'estquede1:lenombredeliensphysiques.Modifionsavecvilefichiersurprise.Onrajouteune premireligneparexemple.Regardonsensuitelefichier.bashrcless .bashrc:nousyvoyonsnotremodification. Ensuite,onefface .bashrc rm .bashrcetonregardelecontenudurpertoirels.Nousavonsquatrefichiers bashrc,surprise,surprise~etXF86Config-4.s_travail.surprise~estlasauvegardefateparvidenotrefichier avantladerniresauvegarde,onl'effacerm surprise~Ilestpossibledevrifiernotrefichiersurprise.Pourfiniravec lesliensphysiques,essayonspartirdurpertoire /home/root defaireunlienphysiqueversunfichiersetrouvant /root. ln /root/.bashrc baba et le systme rpond : ln: cration d'un lien direct `baba' vers `/root/.bashrc': Invalid cross-device link.Ceciestnormalcar/rootestdansuneautrepartition! Continuonsparunlienphysiqueln -s surprise .bashrcetregardonslecontenudenotrerpertoirels. Nousvoyonsque.bashrcs'affichediffremment:[email protected] modificationapparataussisurlefichiersurprise.Maintenantoneffacesurpriseetonlistelerpertoirell.L'affic hagede.bashrcachang:maintenantilclignotecarilestreliunfichierinexistant!Essayonsdersoudreleprob lmeenfaisantcp bashrc surpriseetll:toutestrevenudansl'ordre.Pourallerplusloinvouspouveztester unlien(les2sortes)surunliensymboliqueetcomprendrecequisepasse. Ilestmmepossibledecrerunlienversunrpertoire,maisuniquementunliensymbolique. g) Conclusion Jeconcluraisquecescommandessonttrspratiquesetrapide.Lalignedecommandeestunpeuaustremaistrs rapide. Vous pouvez regarder par exemple la page http://www.tuxbihan.org/article.php3?id_article=6. Un expert de scriptbashm'aditquetouttaitdansman bash... jeconseilleraisaussid'viterlesnomsavecdesespacestrsfacilementfaisableenmodegraphiquecarenlignede commandel'espacedevient'\'+espace.Aulieudemettreunespacedansunnomessayerdemettreun_(soulign). http://www.accreteil.fr/reseaux/systemes/linux/shellscripts/shellprogrammation.html http://abs.traduc.org/index.html a) Votrepremierscript Voiciunexempletrssimpledescriptbashplacerdansunfichier:#!/bin/bash echo -n "password: " read pass echo "Votre pass est $pass" Lapremireligne#!/bin/bashsertindiquerletypedeshellutiliseraveclescript.

2) Lesscripts

22287750.odt

Page13sur141

20/09/09

Ladeuximeligneechon"password:"sertafficherl'ecranletexteentreguillemet.L'option-nviteunre tourlaligneautomatique. Latroisimelignereadpassvalirecequel'utilisateurtapeauclavieretlesauverdanslavariable$pass.Dufait del'optionn,cequetapel'utilisateurapparaitralasuitedumotpassword. Ladernireligneaffichel'cranlaphrase Votre pass est ainsiquelecontenudelavariable$pass. Unfoisceslignessauvegardesdansunfichier monscript.sh parexemple,vouspouvezlerendreexcutableentapant: chmod a+x monscript.sh puisentapantuniquementlenomdevotrefichierdansleshellprcdde./: ./mons cript.sh Le./permetd'indiquerquelefichiermonscript.shsetrouvedanslerpertoirecourant. Voirmanchmodetmanchownpourapprendreplusdecesdeuxfonctionstrsutiles. Ilestgalementpossibledetapercescriptenlignedecommandeensparantchaquefonctionparunpointvirgule:echo -n "password: " ; read pass ; echo "Votre pass est $pass"

b) Lescalculs Ilestpossibled'utiliserlebashcommeunecalculatrice.Enlignedecommande,voilcequeceladonne:echo $[ 4 * 2 ] 8 echo $[ 10 + 5 ] 15

ouparfoisecho $(( 10 + 5 )) 15

c) lestestsetcomparaisons Voiciunexempledecomparaisonutilisantlestestsconditionnelsif#!/bin/bash echo -n "entrez un nom: " read var1 echo -n "entrez un autre nom: " read var2 if [ "$var1" = "$var2" ]; then echo "Les noms sont les mmes" else echo "Les noms sont diffrents" fi exit 0

"fi"estlafermeturedeif,toutcomme"}"estlafermeturede"{",exit0terminelescriptproprementetvousramneau prompt. Alaplacede'='vouspouvezutiliser'eq'pourtestersideuxexpressionssontquivalentes,ou'eg'pourvrifiersideux entierssontgaux. Anoterqu'unevariable'$var'peuttrecrite${var}.if test -f $1 then file $1 else echo "Le fichier \"$1\" n'existe pas" fi

Danslescriptsuivant,$1renvoielepremierargumententraprsleprogrammeoulafonctionl'excution.fren voievraisilefichier(stockdans$1)existe. Voiciquelquesfonctionsdetestutiles: 22287750.odt Page14sur141 20/09/09

Expression r w x f d s c1=c2 c1!=c2 c1 e1eqe2 e1nee2 e1gte2 e1lte2 !expr expr1aexpr2 expr1oexpr2

Signification fichiervraisilefichierexisteetestaccessibleenlecture(r) fichiervraisilefichierexisteetestaccessibleencriture(w) fichiervraisilefichierexisteetestexcutable(x) fichiervraisilefichierexisteetestunfichier"rgulier"(file) fichiervraisile"fichier"existeetestunrpertoire(directory) fichiervraisilefichierexisteetaunetaillenonnulle(size) vraisilesdeuxexpressionssontgales(deschanes,ensh) vraisilesdeuxexpressionssontdiffrentes(deschanes,ensh) vraisic1n'estpaslachanenulle(vide) vraisilesdeuxentierse1ete2sontalgbriquementgaux(equal) vraisilesdeuxentierse1ete2sontalgbriquementdiffrents(notequal) vraisil'entiere1estplusgrandquel'entiere2(greaterthan) vraisil'entiere1estpluspetitquee2(lowerthan) ngationdel'expressionboolenneexpr etlogiqueentrelesdeuxexpressionsboolennesexpr1etexpr2(and) oulogiqueentrelesdeuxexpressionsboolennesexpr1etexpr2(or)

Sparateurs/contrlesenshell: | || |= && ! != !$ !! = ; ;; $ $! $$ $0 $1 $2 $# $? $ $_ $* $@ # { } [ ] @ * ? " ' pipeprendralapremirecommandeenargumentdelaseconde. ORsilapremirecommandeestfausse,ilprendralaseconde. ORIS(surtoututilisedanslestestsconditionnels"if"). ANDsilapremirecommandeestvraie,ilexcuteralaseconde. NOT(surtoututilisedanslestestsettestsconditionnels"if"),mais utilisencommandeshell,ilouvreunshellpourlancerunecommande (ex.`!echofoo`). NOTIS(surtoututilisepourlestestsconditionnels). dernirescommandes,dernierargument. rpteladernirecommande. IS(surtoututilispourlestestsconditionnels). sparera2commandescommesiellestaientcritessur2lignes. find'unefonction`case`(voir`case`plusloin). prfixed'unevariablecomme"$myvar". PIDdudernierprocessusenfant. PIDduprocesscourant(PID==ProcessID). Montrelesprogrammespossesseursduprocessuscourant. Premierargumententraprsleprogrammeoulafonctionl'excution. Secondagumententraprsleprogrammeoulafonction($3etc.). Affichelenombred'arguments. N'importequelargument(bonutiliserdanslestestsconditionnels). flagsdel'optioncourante(Jen'aijamaiseum'enservir). Dernier(re)argument(commande). Touslesarguments. Touslesarguments. lignedecommentaire,toutcequisuitsurlalignen'estpasinterprt. accoladeouvrante(dbutdefonction). accoladefermante(findefonction). crochetouvrant(pourdesargumentsmultiples). crochetfermant(pourdesargumentsmultiples). $@estquivalent"$1""$2"etc.(touslesarguments). wildcard(*remplaceunnombreindtermindecaractres). wildcard(?remplaceununiquecaractre). quote quoteprcis(inclurammedes"danslequote). Page15sur141 20/09/09

22287750.odt

` . & 0< 1> 2> % >> \ >&

quotedecommande(variable=`lsla`afficheralecontenudurpertoire enutilisant$variable). lepointliraetexcuteradescommandespartirdefichiers(..bashrc). and.utilisensuffixe,ilexcuteunetcheenbackground(./program&). stdinstreamdirector(Jenel'aivudansaucunscript). stdoutstreamdirector(standardoutput) stderrstreamdirector(standarderroroutput) caractredestches,%1=fgjob1,%2=fgjob2,etc. streamdirector(inclusiondansunfichier). stdinstreamdirector.(cat>filetmp2sivousdsirezenregistrerlesmodificationsdansunfichiertmp2. sed -n 3 p tmp2 permetd'afficherla3melignedufichiertmp2.

f) LesInitetsystemscripts Le'systemVinit',quiestl'initleplusutilispourLinux.Lesstartupscriptspermettentdelancer/stopperlesservices telsqueserveurhttp,ftp,basededonnespostgresqletc...etsontcritsenbash!Ilssontstocksdans:/etc/rc.d/rc0.d/ /etc/rc.d/rc1.d/ /etc/rc.d/rc2.d/ /etc/rc.d/rc3.d/ /etc/rc.d/rc4.d/ /etc/rc.d/rc5.d/ /etc/rc.d/rc6.d/ /etc/rc.d/init.d/

Voiciunscriptpermettantdedmarrerundmonnommdaemon:#!/bin/sh

22287750.odt

Page16sur141

20/09/09

# example # # Version: # # Author: #

Exemple de script qui lancerait 'daemon' @(#) /etc/rc.d/inet.d/example 0.01 19-Feb-2001 Billy (Alien),

. /etc/rc.d/init.d/functions function status() { psaux|grepdaemon&& echo"Daemonisrunning."|| echo"Daemonisnotrunning." } case "$1" in start) #Vrifiesidaemonestdansnotrepath. if`whichdaemon`>/dev/null;thensuccess||failure;fi echon"StartingDaemon" daemon echo ;; stop) #Vrifieencoresidaemonestdansnotrepath. if`whichdaemon`>/dev/null;thensuccess||failure;fi echo"StoppingDaemon" killall15daemon ;; status) echo"StatusofDaemon:" status ;; reload) echo"RestartingDaemon." killall1daemon ;; restart) if`whichecho`>/dev/null;thensuccess||failure;fi $0stop $0start ;; *) echo"Usage:$0start|stop|restart|status" exit0 esac

alorsvousdelirelesscriptsdevotresystmeetd'essayezdelescomprendre;)

Ceciestdpendantdel'environnementgraphiquechoisi(WM).Pourtrouvervotrebonheur,parcourezlesmenus! SouventilexisteunraccourcidunomdeDossierpersonnel,ilvousouvriraungestionnairedefichiersdragand drop.Encliquantsurunfichierouunrpertoire,l'actionautomatiquementconfigursepasse.Pourfaireplusdechose, essayezdecliqueravecleboutondroitetdeparcourirlesmenus...Toutdoittrefaisable,maispasaussifacilement. Certeslesmanipulationscourantescommecopiercollersonttrssimplifies. 22287750.odt Page17sur141 20/09/09

3) Interfacegraphique

D) Rsumdescommandesdushell(BASH)http://www.lealinux.org/admin/shell.php3 voicilescommandesdebasesousLinux: Commandes quivalen quoiasert linux tMsDos Exemples: cd .. vadanslerpertoireparentdurpertoirecourant cd /home/user/.nsmail vadanslerpertoiredsign ls affichelecontenudurpertoirecourant ls -l affichelecontenudurpertoirecourantdemanire dtaille ls -a /home/user affichelecontenudurpertoiredsign(ainsiqueles fichierscachs) cp toto /tmp copielefichiertotodanslerpertoire/tmp cp toto titi copielefichiertotosurlefichiertiti cp -R /home/user /tmp/bak copie le rpertoire /home/user ainsi que tout ce qu'ilcontientdans/tmp/bak rm toto titi effacelesfichierstotoettiti rm -f toto titi efface les fichiers toto et titi sans demander confirmation rm -rf /tmp/* efface (sans demander de confirmation) tous les fichiersetrpertoirede/tmp mkdir /home/user/mes documents crelerpertoire "mes documents" danslesous rpertoire/home/user rmdir /home/user/.nsmail effacelerpertoire.nsmailde/home/usersice luiciestvide

cd

cd

changelerpertoirecourant.

ls

dir

affichelecontenud'unrpertoire

cp

copy xcopy

copieunouplusieursfichiers

rm

del

effaceunouplusieursfichiers

rmrf

deltree effaceunrpertoireetsoncontenu

mkdir

md

creunrpertoire

rmdir

rm

effaceunrpertoires'ilestvide

mv

ren move

mv tata titi renommetataentiti mv * *.bak dplace ou renomme un ou des nefonctionnepas!!!! fichiers mv * /tmp/bak dplacetouslesfichiersdurpertoirecourantversle rpertoire/tmp/bak find /home -name "*bash*" trouveun fichierrpondantcer trouvetouslesfichierscontenantlemot bash dans tainscritres leurnomsetrouvantdanslerpertoire/home locate bash trouvetouslesfichierscontenantlemot bash dans leurnomcomplet(aveclerpertoire):ladiffrencede find,locatetrouvesesinformationsdansunebasede donnecreparupdatedb 20/09/09

find

dirs

locate

dir -s

trouveunfichierd'aprssonnom

22287750.odt

Page18sur141

man

help

man ls affichel'aideconcernantunecom affichel'aide(pagedemanuel)delacommnadels. mandeparticulire Onquittemanenappuyantsurlatouche'q' chmod o+r /home/user autoriselesautres(o=other)(ie:ceuxquinesont nilepropritaire,nimembredugroupepropritaire) modifielespermissionsd'unfichier lire(r=read)lerpertoire/home/user chmod a+rw /home/user/unfichier autorise tout le monde (a=all) lire et crire (w=write)danslefichier/home/user/unfichier modifielepropritaired'unfichier chown user unfichier renduserpropritairedeunfichier.

chmod

attrib

chown

pas d'qui valent pas d'qui valent

chgrp

chgrp -R nobody /home/httpd rendlegroupe: nobody (ungroupeayanttrspeu modifielegroupeproprtaired'un de droit sur un systme linux) propritaire de fichier /home/httpd ainsi que tout les fichiers qu'il contient (-R) ln -s /dev/fd0 /dev/disquette creunlienvers /dev/fd0 (lelecteurdedisquette) nomm /dev/disquette. La manipulation de /dev/fd0et/dev/disquette(saufl'effacement).

ln -s

pas d'quivale creunlienversunfichier nt pas d'qui valent pas d'qui valent type

grep

recherche une chaine dans un grep chaine *.txt fichier (en fait recherche une ex recherchelachaine'chaine'danstouslesfichierse pression rgulire dans plusieurs terminantpar.txt. fichiers) which emacs trouvelerpertoiredanslequelse retournelenomdurpertoiredanslequelsetrouve trouveunecommande lacommandeemacs. afficheunfichierl'cran cat ~/.bashrc affichelecontenudufichier~/.bashrc

which

cat

Remarque: Pourensavoirplussurtoutescescommandes,jevousconseilledeconsulterleurpagedeman! Voiraussi: http://www.accreteil.fr/reseaux/systemes/linux/shellscripts/shellbash.html http://abs.traduc.org/index.html http://www.shelldorado.com/

22287750.odt

Page19sur141

20/09/09

IV) InstallationdeMandrivaLINUX

A) PrsentationIlexisteplusieursmaniresd'installerladistributionMandriva.Lapluscouranteestl'installationpartirdesCDou DVDdebase.Vousallezdireque37CDc'estbeaucoupalorsqu'iln'enfautqu'unpourwindows,c'estexact3>1.Ce pendantsurles3CDdelaversiontlchargeablegratuitementdeMandriva,onalesystmed'exploitationavecplusieurs WMdisponibles(leCDdewindowsavecunchoixenplus),plusieurssuitesoffice(lesCDdeMSOffice),deslogicielsde dessins,deslogicielsdegravages,desjeux...Etlessourcesdetouta(demoinsenmoinscarilfaudraitunquatrimeCD maintenant)! Ilexisted'autresmthodesd'installation:parrseau/internet,partirdudisquedur(laplusrapideetlaplusin tressanteparlasuitesiledisquedurestassezgrand).Toutescesautresmthodesdemandentunedisquettededmar rage. Pour la liste complte avec explication, voir la page : ftp://fr2.rpmfind.net/linux/Mandrake/current/i586/doc/install/fr/install.htm. Nousallonsutiliserunemthodelarapided'autantplusqu'ellenouspermettrad'conomiserlegravagedeCD ROM. Enpratiquepourpouvoirutiliserlamthodepartirdudisquedur,ilfautdjavoirunsystmeinstallsurunPC aveclequelonpourraformaterunepartitionde2Goaumoinssurlaquelleaupourratransfrerlesdonnes. Nousallonsaussiutiliserunemthodepartird'unserveurdistant:touteslesdonnesd'installation(lesCDoule DVD)sontsurunserveurnfslocalrapided'accs.Attention,prendreunserveurLOCALsinon,touslespostesferontsi multanmentdesrequtessurdesserveursexternesetlerseausetrouverarapidementsatur!Ceciarriveradjassez souventlorsdesmisesjours... Attention,parlasuite,ilfaudralaisserintacteslesdonnesd'installation.Sionveutmodifierlesystme,c'est indispensable.C'estcemomentqu'onverral'intrtparrapportuneinstallationpartirdeCDROM:onn'apasbe soind'allercherchernosCDetd'attendrelesmessagespoursavoirquandilfautmettrequelCD!

B) Prparationdel'installationNousavonsbesoind'unedisquetteetd'unPCdontledisquedurcontientdjlesCDdeMandriva.J'aicopicesCD dansunrpertoired'unepartitionquipeuxtreauformatLinux,WindowsouReiserFS. LepremierCDestdanslaracinedurpertoire,pourlessuivants,j'aicopilecontenudurpertoireMandrivadans le rpertoire Mandriva cr lors de la copie du premier. Ces donnes sont sur le rpertoire mdk de la partition | ______________|.Cetteinformationestimportantecarlaquestionseraposelorsdel'installation.

C) Cahierdeschargesdel'installationPourlepartitionnement,ilfautobligatoirementavoirunepartition/(racinedusystme),unepartitionswap(que lesystmeutilisepourstockerdesdonnesutilesquiencombrentlaRAM).Ilestconseilld'avoirlapartition/homeo sont stockes les donnes personnelles (rpertoire personnels) des utilisateurs, (que rien n'empche de nommer /maison!)afinqu'elleschappentd'ventuelsreformatagedusystme(rpertoire/).Vousallezlaisserintacteslesven tuellespartitionswindows(ouautres?)djprsentes.Sivousavezunwindowsd'installilseraintressantdeprvoir unepartitionFAT32poursimplifierleschangesdedonnesd'unsystmel'autre. Nouschoisironsl'installationenmodeexpert.Nousallonsinstaller: Lesenvironnementgraphiques(touspourtester). lesserveurssuivants:ftp,ssh,httpd,nfs. Lesoutilsdeconfiguration. mozillaoufirefox(butineurinternet). OpenOffice.orgpourlirel'originaldecedocument. Pouravoirunetelleprcision,ilfaudraslectionnerlespaquetslamain. Ilfaudraconfigurerl'amorage(liloougrub)pourbienbootersurlabonnepartition. Lesfentresdedialoguessontengnralbienfates.

D) InstallationNousallonscommencerparbootersurunedisquettequiestprvuepourinstallerMandrivapartirdedonnessur ledisquedur.Voicilestapessuivreaprsleboot. Toutd'abordVousavezunmenuquivousdemandesivousvoulezplusd'optionsavecoucommencerdirec tementavec.Nousn'avonspasbesoindeplusd'options.Vouspouveztoujoursregarderlesoptionsproposes... Dans le menu suivant vous choisirez du disque dur contenant la copie des CD d'install (Il vous propose les disques durs prsents). Puis vous devrez choisir la partition sur le disque dur choisi prcdemment. Et en dernier, avant de commencer l'installation graphique, reste le choix du rpertoire. NB :en fait vous devez indiqu le chemin complet du rpertoire contenant la copie des CD d'install En cas d'erreur, il est possible de revenir en arrire. 22287750.odt Page20sur141 20/09/09

Pour la suite, voir http://doc.mandrivalinux.com/MandrakeLinux/91/fr/Quick_Startup.html/. C'est le document officieldonnparMandriva.

E) ConfigurationSurchaquePC,vousallezcrerunseulcompte:lecompteroot(obligatoire)aveccommemotdepasselinux.Pour lecomptesuivant,nepasrentrerdedonnes,etfairedirectement[Accepter]afind'tresurdenepaslecrer. Ilvousfaudraaussilerseau:vousvousmettezenDHCPetsurtoutlorsdelaconfigurationrseau,choisissezle modeexpertetcocherlorsdelaconfigurationdelacarterseaunepasafecterlenomd'htepartirel'adresseDHCP , maisdonnervousmmelenomduPC. Ilfaudraaussiconfigurerl'affichage. Pourlemoment,surtout,onnemetpasdefirewall. Aprsceci,vousrebooterlamachine.Laisseztomberlamisejour,ellepeuttretrslongue(onn'aurapasle tempscemoment),elleestpourtanttrsimportantepourlascurit!

22287750.odt

Page21sur141

20/09/09

V) ManipulationAvecMandriva,onpeutlancerunexcutable:mcc(centredecontrleMandriva)quifaitbeaucoupdechoses.Il estmmedisponibleendehorsdetoutenvironnementgraphique,maissaversiongraphiqueestbienplusavantageuse.Il peutconfigurerpresquetout,maispouravoirplusdeprcision,riennevautletravailmanueldesfichiersdeconfigura tion.Nousallonsaussibientravaillerenlignedecommandequ'avecdesinterfacesgraphiques,chaquemodeayantson avantageenfonctiondutravaileffectueretdenotreconnaissancedel'OS.

A) Crationdecomptesetdegroupes1) Prsentationa) l'utilisateur Pourpermettredenombreuxutilisateursdetravaillersurlammemachine,Unixmetenoeuvredesmcanismes d'identificationdesutilisateurs,deprotectionetdeconfidentialitdel'information,toutenpermettantlepartagecontrl ncessaireautravailengroupe.Toututilisateurestidentifiparsonnom(login)etnepeututiliserlesystmequesison nom(login)apralablementtdfiniparl'administrateurdusystme(rootousuperutilisateur)quiluidonneraen mmetempsdesdroits.Ladfinitiond'unnouvelutilisateurs'appelleaussicreruncompte. rootatouslesdroitsetaucunerestrictionneluiestapplicable.Travaillerentantqu'administrateur(selogersous root)estdoncdangereux,maisutilepourparamtrerlesystme. b) Lecompte Lapremirequestionseposerc'estquedoitavoirchaquecompte? Uncomptedoitavoirdesdonnespersonnellesetunendroitproprepourleslaisser.Oncredoncunrpertoire personnelchaqueutilisateur.Cerpertoireestrgulirementplacdans /home : /home/repertoire_personnel.Sa crationestnormalementautomatique. Lesfichiersspcifiquessont(source:man useradd): /etc/passwdinformationsurlescomptesutilisateurs /etc/shadowinformationscurisesurlescomptesutilisateurs /etc/groupinformationdegroupes /etc/default/useraddinformationpardfautmodifieavecuseradd -D /etc/login.defsrglagesglobauxdusystme /etc/skelrpertoirecontenantlesfichiersquiserontmispardfautdanslescomptespersonnelslorsdeleur cration. Cerperoirecontientplusieursfichierscachs,afindevoirtoutsoncontenu,fairell -a /etc/skel.Undes fichierscachest.bashrcquicontientlaconfigurationdubash(lignedecommande)del'utilisateur. nb:Ilsepeutquevotre.bashrcneselancepasenvousloggantsuruneconsoletexte.Danscecas,ilfautrajouter dans~/.bash_profileleslignessuivantes:if [ -f ~/.bashrc ]; then . ~/.bashrc fi BASH_ENV=~./bashrc export BASH_ENV

Lepremiertestetlancementpermetlorsdulogind'excuterle.bashrcs'ilexiste,eneffetlebashnetienspas comptedelavariableBASH_ENVoumomentduloginsousX(environnementgraphique)(contretouteattented'ailleurs). LavariableBASH_ENVindiqueabashdereexcuter.bashrcchaquenouveaushell.

2) lignedecommandea) lesterminaux Normalementiv,vousnepouvezpasvouslogersurunWindowsManagercarvousn'avezquerootcommeutilisa teuretquepourdesraisonsdescuritvidenteMandrivainterditl'utilisationd'unWMsousrootcartouteslesapplica tionspourraientalorscriren'importeocequiouvriraitlaportetouslesvirus(ilestfaisabledelancerdesapplications windowssousLINUX...) Vousallezdoncutiliserunshell,ceciesttoujoursfaisableetfortutile.Ondisposeeneffetde7terminaux,onpasse d'unl'autreenfaisantCtrlAltFX(les3touchesappuyessimultanment)oXestentre1et7.CtrlAltF7estletermi nalduwindowsmanager,vousallezdoncfaireundes6autres,CtrlAltF2parexemple.CtrlAltF1estparfoisdcor parMandrivacequidiminuelatailledelafentre. b) useradd Vousallezutiliserlacommandeuseradd(ouadduser).Pouravoirplusd'information,fatesman adduser.Nousn'allonspasutilisertouteslesoptionsdisponibles!Sinousfaisonsuseradd nom_de_l_utilisateurtout sefaitcorrectementcarlefichier/etc/login.defsestconfigurpour.Enplus,cetteinstructioncreraautomatiquement 22287750.odt Page22sur141 20/09/09

unrpertoirepersonneldontlecontenuseralacopiedurpertoire /etc/skelcommec'estnormalementdfinidansle fichier/etc/default/useradd. Crezvousvotrecomptepersonnelaveccommeid500+n_de_votre_pc(ilfaudraajouteruneoptionlaligneque jevousaiindiquauchapitreprcdent).Lesautrescomptesquevouscrerezsurvotreordinateuraurontuniddustyle X00+n_de_votre_pc.avecX>5. Les utilisateurs sont stocks dans le fichier /etc/passwd. Ce fichier a une ligne par utilisateur. Chaque ligne contientdeschampssparspardes:(doublespoints). Lepremierchampcontientlenom, lesecondunx(activerprotg),une*(dsactiv)ourien(comptesansmotdepasse:unefailledescurit), letroisimel'identificateurdel'utilisateur(sonid:unnumrosuprieur500pourunutilisateurnomsystme), lesuivantl'iddesongroupeprincipal, l'antpnultimeuncommentairesurl'utilisateur,l'avantdernierl'emplacementdesonrpertoirepersonnel(quipeut donctrevraimentquelconque) ledernierleshellqu'onluiattribue(ilexisteparexempledesshellsquiempchentl'utilisateurdeseloger,cecipeut permettreuncomptedenepouvoirfairequeduftp). Pourenleverunutilisateur,fatesuserdel utilisateur. Pourchangerlesparamtresd'unutilisateur,utilisezusermod.Aprsavoirluman usermod,dfinissezvous unmotdepassecarlacommandeuseraddnel'apasfaitpuisquevousneluiavezpasdemand! c) groupadd addgroup Ajoutezungroupeessaiaveclacommandegroupadd essai. Lesgroupessontstocksdanslefichier/etc/group quialammestructurequelefichier /etc/password.Les informationssurchaquelignesontdansl'ordre:lenomdugroupe,unsecondchampquipeutcontenirsoitunx,un*ou rien,untroisimed'identificationdugroupe(sonid),ledernierchampestlalistedesutilisateurs(nomcomplet)qui appartiennentcegroupesansquecesoitleurgroupeprincipal,l'informationdugroupeprincipaltantdanslefichier password. Ajoutezmanuellement,avecvi,danslegroupeessaivotrecomptepersonnel. Aprsavoircruncompte,fatesCtrlAltF7.Logervousaveclecomptejustecravecunenvironnementgra phiqueprisauhasard(dbrouillezvouspournepasavoirlemmequevosvoisins). Pourenleverungroupe,utilisergroupdel. Pourunutilisateurdansungroup:addgroup L appartenanceaugroupenapparraitpourlasessioncompltequeaprsstredlogguerpuirelogguer.Onpeut utiliser"newgrp"ou"sg"pourviterdesedlogueretrcuprerl'appartenanceaubongroupedansunsousshell. d) addgroup

3) interfacegraphique CommenoussommessousMandrivaautantutiliserlesoutilsMandrivaquisontfortsagrableseten franais! Nousavonsleprogrammeuserdrakeauquelnouspouvonsaccdersoitparmcc,soitdirectement. Jeprofitedececipourvousfairelancercesprogrammespartird'unefentreshellouvertedans votreenvironnementgraphique,souventsonicne,c'estuncrand'ordinateuravecparfoisunecoquille(shell)devant . Danscettefentretaperlacommandesu.suestlacommandequipermetdedonnerlamain danslafentreshellunautreutilisateurqu'onmetenparamtre,s'iln'yapasdeparamtre,ceserale superutilisateur(administrateurouroot).Lepromptvousdemandealorsunmotdepasse,donnezle motdepasserootetvousavezunshellenadministrateur.su -faitlammechose,maisenpluson rcuprelesparamtresdunouvelutilisateur.Ceciestvitsionfaitcettemanipulationpourrcuprer unenvironnementplant. Apartirdeceshell,vouspouvezfaireexcuterdesapplicationsgraphiquessousroot.Tapezpar Illustration2: exemplekwrite,vousouvrezalorsunditeurdetextegraphique,maisvousn'avezpluslamaindans menusmcc leshell.Pourretrouverlamainsimplement,vousdevezarrterkwrite,soitpartirdel'interfacegra phique,soitenfaisantCtrlCsurleshell( voirplusloinauIV)C)2)a)).Pourgarderlamain,ilfallaitfairekwrite &afin delancerkwriteenmodearrireplan. Vousallezdonctapermcc &.Parcourezlesmenus(imagegauche)etchoisissezUserDrake(icnedroite)

Danscetteinterfacevousdevezvoirquevousappartenezaussiaugroupeessai.Vouspouvezcrer,supprimeret diter des comptes. Cette dernire option est bien intressante car elle permet entre autre de modifier les groupes 22287750.odt Page23sur141 20/09/09

d'appartenancedesutilisateurs.Vouspouvezaussichoisirdansoptionvoirlesgroupesetfairedesmodificationssurles groupes.

B) SystmededroitssurlesfichiersLesdroitssurunfichier/rpertoiresont(dansl'ordre)lecture(r)criture(w)excution(x).Sesdroits,sontattri busdansl'ordrel'utilisateurpropritairedufichier,augroupepropritairedufichierettous.Cecifait9casesrem plir,sionpermettout:rwxrwxrwx.Sionpermettousl'utilisateur,lalectureetl'excutionaugroupeetl'excution tous,cecidonne:rwxr-x--x,le''(moins)signifiequeledroitn'estpasaccord!Onfaitcorrespondredesvaleurs cesdroits:lervaut4=22,lewvaut2=21etlexvaut1=20.Cecidonnecommevaleurpourlepremier777(critureen Octalbase8),lesecond751.640correspondrw-r-----. Lesdroitsdpendanttantliaupropritaireetaugroupepropritaire,ilfautdonc parfoismodifiercespara mtres.Pourmodifierlegroupe,onfaitchgrp groupe f1of1estunfichierouunrpertoire.Pourmodifierlepro pritaire,ilfautfairechown user f1.Sionveutmodifierlesdeux,ilfautfairechown user:groupe f1.Ces manipulationssefontsansproblmesionestroot.Enrevanche,quandonestsimpleutilisateur,ilfautquelefichiernous appartienne,onnepeutpaschangerlepropritaireetonnepeutdonnerunnouveaugroupequesionfaitpartiedece nouveaugroupe.

1) Propritaire,groupepropritaireetautres

2) Lesdroitssurlesfichiers Cesdroitssechangentaveclafonctionchmod:chmod valeur_du_mode fichier.Pourdonnerlesdroits rwrwraufichierbashrcdurpertoire /home/root,ilfautfairechmod 664 /home/root/basrc.Cecipermettraau propritaireetsongroupe(root)delelireetdelemodifieretauxautresdelelire. Ilyaaussilapossibilitd'enleverouderajouterdesdroitsdesfichiersavecchmod [who]op[permission]. whoestunecombinaisondeu(useroupropritaire),g(groupe)ouo(otherouautre).opestsoit+pourajouterledroit, pourl'enleveret=pournedonnerqueceluil(lesautresserontmis0=non).chmod go-w fichiersupprimele droitd'critureaugroupeetauxautres.chmod u+x fichierrajouteaupropritaireledroitd'excution(transforme lefichierenexcutable!).chmod ug=rdonneunaccsencritureuniquementuniquementsonpropritaireetau groupe. Attention:poureffacerunfichier,ilsuffitd'avoirledroitsurlerpertoireetledroitdelecturesurlefichier... Lapossibilitintressantedechmod,maisquipeutouvrirdesfaillesestchmod +s fichierquifaitutiliserl'ID dupropritaireoudugroupepropritairedufichierlorsdel'excution.Lafaillearrivequandlepropritairedufichierest rootcarlorsdel'excutiondufichier,onrcuprelesdroitsderoot! Enplusdeces9donnes,Unixdfinittroisautresdonnesdepermission:SUID*,SGID*ett(voirchapitresuivant). Cesdonnestanttoutesbinaires:nonououi,0ou1,peuventchacunetrestockessurunbit.Cecifaitdonc12bitsde permission.Onlesobtientenfaisantchmod 01XXXpourlestickybitenoctale,chmod 02XXXpourpourSGIDet chmod 04XXXpourSUID.Le0indiqueausystmequ'onestenoctale. *:tropcompliquspourenparlerdanscedocument! 3) Aveclesrpertoiresa) Prsentation Lesdroitssontlesmmesaveclesrpertoiresmaisleseffetssontunpeudiffrents. Pourrentrerdansunrpertoire,ilfautavoirledroitd'excutiondessus.Pourlirelesdonnesd'unrpertoire,ilfaut avoirledroitdelectureetpouravoirledroitd'criredessus,ilfautavoirledroitd'critureetdelecture.Encombinant cesdroitssurunrpertoire,onpeutavoirdesconfigurationsassezintressantesetsurprenantes.Parexemple,uneper sonnequin'aqueledroitd'excutionpeutallerdanslerpertoirecd rpertoiremaisnepeutpasyfairegrand chose,.mmepaslirelecontenudurpertoirels,ellepeutvisualiserunfichiercatsiellesaitqu'ilyest.Uneper sonnequin'aqueledroitdelecturenepeutserendresurlerpertoirecd rpertoire,maispeutlirelecontenuls rpertoire.Unepersonnequin'aqueledroitd'criturenepeuxrienfairepriori.Afinqueledroitd'crituresoitutili sable,ilfautaumoinsavoirlesdroitsdelecture.Unepersonnequialedroitdelectureetd'crituresurunrpertoirepeut ydposercequ'elleveutetlirelesfichierssurcerpertoirequesielleestinformedesonexistence. Aveclesrpertoire,ondisposedechmod +t repertoire(cetteoptionmodifieaussil'attributpourlesfichiers, maisdenosjoursiln'estplusutilis).Cettemanipulationpermettousceuxquiontledroitd'criredanscerpertoire denepouvoirmodifierquelesfichiersquileurappartiennent. Jevousconseilledefairequelquestestsafindemieuxsaisirlespossibilitsdusystme! b) miseenpratique Crerdansvotrerpertoirepersonnelunrpertoireolesvisiteursaurontjusteledroitd'crire(poser)desfichiers etunautreoilsaurontjusteledroitdelirelesfichiers. Crerunrpertoirepartageotoutmembredugroupepartageauratouslesdroits.Enrevanche,onnepourra modifierunfichierques'ilnousappartient.Attention,cerpertoirenepourratredirectementsur/homecarMan 22287750.odt Page24sur141 20/09/09

driva empche se genre de partage sur ce rpertoire pour des questions de scurit. Je propose par exemple /home/tous/partage.

C) GrerlesprocessusUnprocessusestunprogramme,unetachequitournesurvotreordinateur.Commec'estunsystmemultitache,il peutenavoirbeaucoupenmmetemps.Chaqueprocessusestidentifiparunnumrouniquequis'appellelenumrod'i dentificationduprocessusPID(ProcessIdentifier)etquiluiestattribuparlesystmesacration. Cesontlescommandesprincipalesquipermettentdegrerlesprocessus. a) ps:voirlesprocessus Lacommandepspermetdevisualisertouslesprocessuslancerdepuisunefentre:# ps PID TTY 6897 pts/5 7584 pts/5 TIME CMD 00:00:00 bash 00:00:00 ps

1) ps,top,killetkillall

Ceciestleminimum.leprocessuspsluimmeetlafentre.Heureusement,ilyad'autresoptions,fatesps -helpouman ps.Pourtoutbienvoir,vouspouvezessayerps uawx -H.Cettecommandemetenvidencelano tiondeprocessuspreetprocessusfilsaveclahirarchisationdel'affichagedroite(l'optionH).Unprocessusfilsestun processusquiatcrparunautreprocessusquiprendlenomdeprocessuspre. Vousallezdirequ'ilyenabeaucoup!Vousvouliezjustesavoirsivousaviezdesbashquitournent,fates:ps uawx | grep bash.Parcettemanipulation,j'aiintroduitdeuxnouvellesnotions:untube(pipe)avec|etlafonc tiongrep.Untubeenvoielasortiedelacommanded'avantverslacommandesuivantequicettefoisestgrep. greprecherchedanslesfichiersd'entreindiqus(icilasortiedups)leslignescorrespondantuncertainmotif(ici bash).Ilnes'afficheradoncqueleslignesquiontbashdedans. b) Top topenlignedecommandeafficheentempsreletenmodetexte,lesprocessusselonl'ordredcroissantde chargeCPU.Onsortdecemodeentappant'q'auclavier. c) killetkillall Lescommandeskilletkillallpermettentdetuerlesprocessus.Ellessonttrsutilesparexemplelorsdes phasesdetestd'unprogramme(avecuneboucleinfinieparexemple). Uneutilisationsimpleestkill -9 PID_du_processuspourtuerunprocessusetkillall nom_d_un_processuspourtuertouslesprocessusdecenom.Biensur,vousnepouveztuerquelesprocessusvousappartenant.Seul rootpeuttuern'importequelprocessus. Ilexiste5modesd'excutions:lemodeinteractif(foreground),lemodeenarrireplan(backgroundouasyn chrone),lemodediffr,lemodebatchetlemodecyclique. a) Lemodeactif C'estlemodehabitueldelalignedecommande:onlancel'excutionduprogrammeetonattendqu'ilsefinisse. Ceciesttrsintressantsileprogrammeinteragitennousposantdesquestionsurlignedecommande. OnpeutstopperunprogrammeenfaisantCtrlc(letuer)oulesuspendreenfaisantCtrlz.bgpoursuitson excutionenarrireplan(background).fgpoursuitsonexcutionaupremierplan(foreground).Sionlanceplusieurs programmes,onpeututiliser'fg'et'bg'avecunparamtrequiestlenumrodu"job"listparlacommandejobs. b) Lemodeenarrireplan C'estlemodequirendaussittlecontrlel'utilisateur.Cettefonctionnalitestintressantepourdestchesne ncessitantpasd'interactionentrel'utilisateuretlatche,commeparexemplekwrite.Lacommandeestlancesuiviedu caractre&:kwrite&. Poursurveillerl'excutiondecescommandes,ondisposedepsoujobs. Cependant,lestchesdefondsontarrtesdsquel'utilisateurfermeleshell.Pourassurerlaprennitdelacom mande,ilfautlafairesuccderparnohup:nohup kwrite &.Cecomportementpeuttredonntousprogrammes tournantenarrireplansionfaitdisown PID_du_programme,lePIDtantdonnparlacommandeps. Lacommandewaitestlpoursynchroniserdesprocessusasynchrones.Ellefaitattendre(bloquelamain)que lesprocessuslancsentchedefonddanscettefentresoientarrts. c) Lemodecyclique i) cron L'excutioncycliqued'unetcheestralisel'aidedelacommandecrontab.C'estestunecommandequivous permetd'excuterdescommandesdesintervallesdetempsrguliers,avecl'avantagesupplmentairequevousn'avez 22287750.odt Page25sur141 20/09/09

2) excutiond'unecommande

pastreconnectsausystmeetquelasortiedecescommandesvousestenvoyeparcourrierlectronique.crontabagiradiffremmentenfonctiondesoptions: l:affichevotrefichiercrontabcourant e:ditevotrefichiercrontab(utilisationcommevi) r:liminevotrefichiercrontab u:appliquelesoptionscidessusl'utilisateur.Seulrootestautorisfairecela. Chaquelignedufichiercrontabestconstitude6champssparsparunespaceouunetabulation.Lasignification deschampsestrespectivementlaminute(059),l'heure(023),lejourdumois(131),lemoisdel'anne(112),lejour delasemaine(06,dimanche=0)etlatcheexcuter. C'estledmon(voirV)D) )cronquiscrutelesfichiersdanslesquelssontdfinieslescommandesexcuter.Ces fichierssontdans /var/spool/cron pour tous les utilisateurs mme le super-utilisateur. Mais il existe le fichier /etc/crontab :SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root nice -n 19 run-parts /etc/cron.hourly 02 4 * * * root nice -n 19 run-parts /etc/cron.daily 22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly 42 4 1 * * root nice -n 19 run-parts /etc/cron.monthly */10 * * * * script # excute toutes les heures + 1 min le # contenu du rperoire /etc/cron.hourly # tous les jours 4h02 /etc/cron.daily # tous les dimanche 4h22 # les premiers du mois 4h42 # script excut toutes les 10 min

root peut donc mettre un fichier dans un de ces rpertoires pour excuter priodiquement une tache. On peut mme rajouter un ligne qui commence par 5 astrix afin d'excuter une tache toutes les minutes. Voici la structure d'un de ces fichiers :#!/bin/sh => pour dire que c'est du bash nice -n 19 ntpdate -u ntp1.tuxfamily.net gence # voir man ntpdate et nice # excute ntpdate (mise l'heure du PC) sans ur-

Les fichiers /etc/cron.allow et /etc/cron.deny sont utiliss pour limiter l'accs cron. Le format de ces deux fichiers de contrle d'accs requiert un nom d'utilisateur sur chaque ligne. Les espaces blancs ne sont pas accepts. Le dmon cron ( crond) n'a pas tre redmarr si les fichiers de contrle d'accs sont modifis. Ces derniers sont lus chaque fois qu'un utilisateur essaie d'ajouter ou de supprimer une tche cron. Silefichiercron.allowexiste,seulslesutilisateursquiysontrpertorispeuventutilisercronetlefichier cron.denyn'estpasprisencompte.Enrevanche,silefichier cron.allown'existepas,lesutilisateursrpertorisdanscron.denynesontpasautorissutilisercron. ii) anacron Ilexisteaussianacron(utilisablequeparroot?)quiestunplanificateurdetchessimilairecron,saufqu'ilnere quiertpasl'excutiondusystmeencontinu.Ilpeuttreutilispourl'excutionquotidienne,hebdomadaireetmensuelle detchesgnralementexcutesparcron. LestchesAnacronsontrpertoriesdanslefichierdeconfiguration /etc/anacrontab.Chaquelignedecefichier correspondunetche.Ellesseprsententsousleformatsuivant:period delay job-identifier command periodfrquence(enjours)d'excutiondelacommande delaytempsd'attenteenminutes job-identifier descriptiondelatche;utilisdanslesmessagesAnacronetcommenomdufichierder frencetemporelledelatche;peutcontenirtoutcaractreautrequ'unblanc(l'exceptiondesbarresobliques). commandcommandeexcuter Pourchaquetche,Anacrondterminesilatcheatexcuteaucoursdelapriodespcifiedanslechamp perioddufichierdeconfiguration.Sicen'estpaslecas,Anacronexcutelacommandespcifiedanslechampcommand aprsavoirrespectledlaid'attentespcifidanslechampdelay. iii) exercice Pourlefichier/home/tous/partage,enlevezleplussouventpossiblelessurlegroupeetlesautresutilisateurssur chaquefichierettoutel'arborescencelesdroitsd'critureetdelecture(fairechmod --help).

d) Lemodebatch 22287750.odt Page26sur141 20/09/09

Tandisquecronetanacronserventprogrammerdestchesrcurrentes,lacommande at estutilisepourpro grammerunetcheuniqueunmomentdonn.Lacommandebatchsertprogrammerunetchequidoittreexcute uneseulefoislorsquelamoyennedechargementdusystmedescendendessousde0,8=80%(lorsquelesystmepasse aumoins20%detempsattendrequ'onluidisedefairequelquechose). Pourexcuteruneseulefoisunetchespcifiquelorsquelamoyennedechargementestinfrieure0.8,utilisezla commandebatch. Unefoislacommandebatchsaisie,l'inviteat>s'affiche.Entrezlacommandeexcuter,appuyezsurlatoucheet tapezCtrlD.Vouspouvezspcifierplusieurscommandesenentrantchacuned'ellessuiviede.Aprsavoirtaptoutesles commandes,appuyezsurlatoucheafind'afficherunelignevide,puistapezCtrlD.Unscriptshellpeutgalementtre saisienappuyantsurlatoucheaprschaqueligneduscriptetentapantCtrlDsurunelignevidepourquitter.Siunscript estsaisi,leshellutilisestceluidfinidansl'environnement SHELL (configurationdelalignedecommande,onpeut connatrelanotreenfaisant:echo $SHELL)del'utilisateur,leshelldeconnexiondel'utilisateurou/bin/sh(celui quiesttrouvenpremier).L'ensembledecommandesoudescriptsestexcutdsquelamoyennedechargementsesi tueendessousde0.8. Sil'ensembledecommandesoudescriptsessaied'afficherdesinformationsdanslasortiestandard,cesinforma tionssontenvoyesparcourrierlectroniquel'utilisateur. Utilisezlacommande atq pourafficherlestchesenattente.L'utilisationdelacommande batch peuttreres treinte.Lesfichiers /etc/at.allow et /etc/at.deny (commepour /etc/cron.allow et /etc/cron.deny) peuvent servirlimiterl'accsauxcommandesatetbatch.Leformatdecesdeuxfichiersdecontrled'accsrequiertunnom d'utilisateursurchaqueligne.Lesespacesblancsn'ysontpasaccepts.Ledmonat(atd)n'apastreredmarrsiles fichiersdecontrled'accssontmodifis.Cesfichierssontluschaquefoisqu'unutilisateuressaied'excuterlescom mandesatoubatch. L'utilisateurrootpeuttoujoursexcuterlescommandesatetbatchindpendammentdesfichiersdecontrled'ac cs.

D) Arrtetlancementdesdmonshttp://lealinux.org/admin/daemons.php3 Undmon(daemon)estunprocessussystmequiappartientsoitroot,soituncompted'administration(dae mon,mysql,apacheparexemple).Lesdmonsactiventdesservices. Lesdmonsassurentdestchesd'ordregnral(gestiondesserveursinstallsparexemple),ilssontparfoisdispo niblestouslesutilisateursdusystme.Ilsnesontstoppsquepourarrterunservice,qu'l'arrtdusystmed'exploita tionouprendreencomptedenouveauxparamtres.Danscederniercas,ilfautaussittlesremettreenmarche.Cette derniremthodepermetdemodifierlesparamtressansavoirarrterlesystmeetleredmarrerjusteaprs(rebooter lesystme).

1) C'estquoiundmon?

2) Enlignedecommande Onarrteundmonavecnom_de_dmon stopetonlerelanceavecnom_de_demon start,onl'arrteeton lerelancedirectementavecnom_de_demon restart.Souvent,ilfautrajouterlechemindevantlenomdudmon: /etc/init.d/ ou rajouter la commande service devant. En fait on peut faire : service nom_service {start|stop| restart|reload|status} ou /etc/init.d/nom_service {start|stop|restart|reload|status} . Lalistedesdmonsquitournentsetrouvedans/etc/rcX.d/avecXle'runlevelv':5eninterfacegraphiqueet3en lignedecommande.Ilyaaussi.etc/xinetd.d/ochaquedmoncorrespondunfichierconfigurable.Pourvoirune listeilfautfairels /etc/rc5.d/parexemple.Avantdelancerundmon,ilfautvrifierqu'ilnetournepasdj!Ou toutsimplementletuer,s'iltaitdjinactif,onauraunmessaged'erreursansgravit,justepournousprvenirqu'iltait djinactif.Cemessagepeuttreparfoisimportantcarparfois,suiteuneerreurdanslesfichiersdeconfiguration,ilar rivequ'undmonlancavecsucss'arrteimmdiatement. Pourajouterundmonlalistedesdmonlanceraudmarrage,ilfautfaire:chkconfig --add le_service . Le dmon devra avant obligatoirement se trouver dans /etc/rc.d/init.d ou /etc/init.d. chkconfig est un programme pour grer les dmons, regardez man chkconfig . Une option intressante est chkconfig --list qui liste les tats des dmons dans tous les 'run level'. update-rc.d est le penchant debian de chkconfig.AvecleCentredecontrleMandriva(mcc),oncomprendmieuxcequisepassecarilyaenplusdesexplications. Dansmcc,choisissezlemenusystmepuis,Drakxservices.L,vouspouvezarrter,dmarrerlesdmonsainsiquechoisir ceuxquiserontlancsaudmarrage.Enplusvousavezunboutoninformationpardmon.

3) Avecuneinterfacegraphique

E) Ajouter/EnleverunprogrammeOnpeuttrouverl'emplacementexactd'unprogrammeavecwhich le_progr