Vous êtes sur la page 1sur 74

Marc SCHAEFER Epervier 15 2053 Cernier Ing. inf. dipl.

EPFL

Conseil et ralisations en informatique libre http://www.cril.ch/

Email : Tl. : Fax : Mobile :

schaefer@alphanet.ch +41 32 841 40 14 +41 32 841 40 81 +41 79 502 56 92

Support de cours de prparation de lexamen LPI-102


Marc SCHAEFER schaefer@alphanet.ch

C+R
25 avril 2008

Informatique libre

LPI-102

RELEASE

Revision : 1.3

Cernier, le 25 avril 2008

Avant-propos
Ce cours est bas sur mon exprience dadministration systme UNIX depuis 1987, ainsi que de mes expriences faites ds 1995 sur GNU/Linux et en particulier avec Debian GNU/Linux, un systme de qualit, la fois but personnel et en entreprise, comme conseiller indpendant, ingnieur systme et dveloppeur. Il est galement bas sur mes expriences de formateur en logiciels libres et notamment sur GNU/Linux, notamment dans le cadre des formations postgrades ES en cours du soir lESNIG Neuchtel depuis 2000, ainsi que de nombreuses formations que jai proposes en entreprise ou dans le cadre dassociations comme /ch/open ou le GULL. Il est galement bas sur la lecture de documentations systmes (page man, info), ainsi que de ressources Internet. Ralis dans le but dune certication, le cours tente de suivre exactement le programme obligatoire, de donner les points essentiels, tout en proposant un contexte solide et des exemples jour. Jessaie absolument dviter le bachottage uniquement en vue de la certication : le but est que la personne qui suit ce cours puisse en bncier largement pour son travail de tous les jours, notamment en apprenant comment trouver linformation et analyser les problmes. Ce cours crit saccompagne normalement dextraits dautres cours, dont les droits sont en gnral galement en licence FDL, parfois co-crits par dautres auteurs. Il insiste surtout sur les complments ncessaires pour la certication. Bon apprentissage !

Licence et droits dauteurs


Ce cours est c 2008 CRIL - Marc SCHAEFER. Vous avez cependant le droit de le copier, transmettre, modier et redistribuer, dans la mesure o vous respectez les termes de la licence GFDL et considrez linvariant (les 2 premires pages). Si vous ne dsirez pas accepter les termes de la licence, je vous donne malgr tout le droit de consulter ce cours sans restrictions (ce qui devrait tre vident !) Dans tous les cas, vous devez accepter le fait que je dcline toute responsabilit quant lutilisation que vous pourriez faire de ce cours et ne mengage en rien ce propos.

Marc SCHAEFER Ing. inf. dipl. EPFL Conseil et ralisations en informatique libre (CRIL) http://www.cril.ch/

Table des matires


1 Kernel 1.1 Gestion des modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Conguration, compilation et installation dun kernel . . . . . . . . . . . . . . . . . 2 Dmarrage, arrt et niveaux dexcution 2.1 Dmarrer le systme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Changement des niveaux dexcution . . . . . . . . . . . . . . . . . . . . . . . . . 3 Impression 3.1 Grer les imprimantes et les queues dimpression . . . . . . . . . . . . . . . . . . . 3.2 Installation et conguration dimprimantes . . . . . . . . . . . . . . . . . . . . . . . 3.3 Imprimer des chiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Documentation 4.1 Utiliser et grer la documentation locale systme . . . . . . . . . . . . . . . . . . . 4.2 Trouver de la documentation sur Internet . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Notier les utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Scripts et programmation shell 5.1 Personnaliser et utiliser lenvironnement . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Adapter ou crire des scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Administration 6.1 Gestion des comptes . . . . . . . . . . 6.2 Prconguration de lenvironnement . . 6.3 Conguration et gestion des journaux . 6.4 Travaux excuts automatiquement . . . 6.5 Maintenir une sauvegarde fonctionnelle 6.6 Grer le temps systme . . . . . . . . . 4 5 8 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 31 32 34 36 37 39 40 42 43 45 48 50 55 56 57 58 59 60 61

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

7 Bases du rseau 7.1 Rappels sur TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Conguration et dtermination de problmes . . . . . . . . . . . . . . . . . . . . . . 7.3 Congurer un client PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Services rseau 8.1 Super-serveur inetd/xinetd . . . . . . . . . 8.2 Conguration et gestion de base dun MTA 8.3 Conguration et gestion de base dApache 2 8.4 Bases de NFS et Samba . . . . . . . . . . . 8.5 Bases du DNS . . . . . . . . . . . . . . . . 8.6 SSH . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

9 Scurit 9.1 Tches administratives de scurit . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Scurisation de la machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Restrictions des utilisateur et processus . . . . . . . . . . . . . . . . . . . . . . . . 10 Corrig des exercices

LPI-102 '

Chapitre 1: Kernel p. 4

1. Kernel
Contenu du chapitre
comment interroger, charger et dcharger les pilotes sous forme de modules comment recongurer, construire et installer un kernel et ses modules

Buts du chapitre
1 savoir dterminer les modules kernel chargs et sils peuvent tre dchargs, dterminer les paramtres accepts par un module kernel donn, manuellement charger et dcharger des modules et grer les aliases ou la dsactivation dun module savoir particulariser/adapter la conguration dun kernel, reconstruire un kernel et ses modules, linstaller avec ses modules savoir congurer le gestionnaire de dmarrage de manire utiliser un kernel nouvellement install support de cours additionnel : cours Administration et Installation
& Ce premier chapitre traite principalement des pilotes sous forme de modules du kernel (qui sont chargeables et dchargeables dynamiquement), ainsi que de la conguration, regnration (compilation) et installation dun kernel et de ses modules, y compris lactivation de celui-ci au dmarrage par le chargeur de dmarrage.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 1: Kernel Gestion des modules

p. 5

'

Gestion des modules 1.1


Rsum des concepts importants
les pilotes sont en gnral aujourdhui fournis sous forme de modules kernel (livrs sous forme de chiers spars, p.ex. ext3.oa ). un module peut dpendre dun autre, la commande modprobe dtermine automatiquement les dpendances via /lib/modules/kernel-version/modules.dep (gnr via depmod) un module ne peut tre dcharg que si aucun autre module charg ne dpend de lui et quil nest pas utilis par le kernel (voir le compteur afch dans lsmod) des aliases et paramtres de modules peuvent tre congurs automatiquement dans /etc/modules.conf ou /etc/modprobe.confb commandes : depmod, insmod, lsmod, rmmod, modinfo, modprobe, uname
a b

ds la version 2.6 du kernel, lextension est dsormais .ko. On utilisera plutt un rpertoire /etc/modprobe.d/

&

Les pilotes sous Linux Les pilotes (de langlais : drivers) sont des logiciels gnralement de petite taille (quelques kilo-octets) qui grent des aspects relativement bas niveau dun systme GNU/Linux. Par exemple : msdos Support du systme de chiers MS-DOS vfat Support du systme de chier VFAT 8139too Support des cartes rseau chipset 8139 (Realtek p.ex.) Ces pilotes peuvent tre soit intgrs au kernel monolithique (ce qui signie quil faut alors recompiler le kernel sil y manque des pilotes), ou mis dispositions sous forme de chiers spars, appels modules. Lorsquils sont intgrs au kernel, il est possible de les congurer en spciant des options de la ligne de commande du kernel, p.ex. via des options du programme de dmarrage (LILO ou GRUB). Par exemple, loption hdc=ide-scsi propose de congurer le matre du secondaire IDE en tant que priphrique vu comme SCSI. On peut consulter ces arguments effectifs en afchant le pseudo-chier /proc/cmdline. Les pilotes sous forme de modules kernel Ces pilotes sont alors en gnral stocks dans des sousrpertoires du rpertoire /lib/modules/kernel-version, o kernel-version est la version du kernel concern (p.ex. 2.4.21-8). Par exemple, le module kernel du pilote de systme de chiers MS-DOS est msdos.o (v2.4 ; ou msdos.ko en v2.6), dans le rpertoire /lib/modules/2.4.21-8/kernel/fs/msdos.
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 1: Kernel Gestion des modules

p. 6

Plusieurs versions diffrentes des modules peuvent donc tre installes si plusieurs kernels diffrents sont installs et peuvent ou non tre activs depuis le programme de dmarrage. Lorsquils sont disponibles en modules, deux problmes se posent : 1. il faut charger le module (manuellement, statiquement via p.ex. /etc/modules, ou dynamiquement via hotplug/udev et /etc/modprobe.d/). 2. il faut indiquer les paramtres ventuels au chargement (manuellement ou via conguration) Notons que si lon nutilise pas dinitrd, tous les pilotes ncessaires (matriel, disque, systmes de chiers, etc) doivent tre compils en dur dans le kernel. Avec un initrd, un sous-ensemble des modules ncessaires est intgr et les modules sont chargs dynamiquement. Interrogation, chargement et dchargement de modules Quelques exemples : (en 2.6)
root@reliant:~# uname -r 2.6.15-29-686 root@reliant:~# lsmod Module ahci speedstep_centrino cpufreq_userspace libata scsi_mod sg sbp2 ieee1394 ide_cd cdrom sr_mod ext3 jbd [ ... ] | more Size 18020 8752 6496 83440 146088 40160 25060 306520 35780 41408 17988 148456 65876

Used by 12 1 2 1 ahci 6 sr_mod,sbp2,sg,sd_mod,ahci,libata 0 0 2 sbp2,ohci1394 0 2 sr_mod,ide_cd 0 5 1 ext3

root@reliant:~# rmmod sr_mod; lsmod | egrep sr_mod|scsi_mod scsi_mod 146088 5 sbp2,sg,sd_mod,ahci,libata root@reliant:~# filename: license: vermagic: depends: srcversion: parm: modinfo sr_mod /lib/modules/2.6.15-29-686/kernel/drivers/scsi/sr_mod.ko GPL 2.6.15-29-686 SMP preempt 686 gcc-4.0 scsi_mod,cdrom 8A9AC1284A6A880A9FC5193 xa_test:int

root@reliant:~# insmod sr_mod insmod: cant read sr_mod: No such file or directory root@reliant:~# modprobe sr_mod; rmmod sr_mod; modprobe sr_mod xa_test=1 root@reliant:~# rmmod cdrom ERROR: Module cdrom is in use by ide_cd root@reliant:~# rmmod ide_cd; rmmod cdrom root@reliant:~# modprobe cdrom

Consulter galement la sortie de la commande dmesg, les pilotes kernels y dposent de linformation. Attention, en 2.6 avec udev, il y a de grande chance que certains modules se rechargent tout seul.
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 1: Kernel Gestion des modules

p. 7

Dpendances des modules On a vu dans lexemple que comme cdrom dpend de ide_cd, on ne peut simplement linsrer par un insmod, il faut utiliser modprobe. Cette commande rsoudra les dpendances automatiquement, via les informations fournies dans le chier /lib/modules/kernel-version/modules.dep. Ce chier est regnr via la commande depmod (en gnral automatiquement, sauf si lon copie un module la main p.ex.). Conguration des paramtres et du chargement automatique En particulier sur un systme avec hotplug et udev, la plupart des modules seront chargs automatiquement et la demande. Si des paramtres sont dsirs, ou que lon dsire interdire le chargement dun module, ou en charger un autre, il est possible de congurer. Sous Debian, cela se fait dans le rpertoire /etc/modprobe.d. On peut par exemple supprimer un module en remplaant son alias par off, ou ajouter des paramtres (consultez par exemple /etc/modprobe.d/options). Autres congurations Parfois, on dsire charger statiquement des modules (par exemple pour garantir lordre au dmarrage). Cela peut se faire, sous Debian et drivs, via le chier /etc/modules. Les paramtres ventuels des modules sont spcis comme dans le cas dun modprobe.

Exercices
1. quelle est la version du kernel qui fonctionne actuellement ? o sont ses modules ? 2. essayez de dcharger un module qui est utilis (p.ex. en 2.6 parport). Que devez-vous faire ? Si vous avez des problmes expliquez et rsolvez-les. 3. comment congurer ladresse I/O du ou des ports parallle ? (indication : pilote lp) Comment feriez-vous pour que ce paramtre soit toujours utilis ? 4. quel argument permet de regnrer les dpendances de modules ? vriez que le chier a chang. 5. est-ce que le module ipv6 est charg ? comment sassurer que ce module ne sera plus charg ? redmarrez et vriez ! 6. congurez votre systme pour que la commande modprobe bla charge un module quelconque et testez.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 1: Kernel Conguration, compilation et installation dun kernel

p. 8

'

Conguration, compilation et installation dun kernel 1.2


Rsum des concepts importants
chiers : /usr/src/linux, /usr/src/linux/.config, /lib/modules/kernel-version/* /boot/* commandes : make cibles de make : all, config, menuconfig, xconfig, gconfig, oldconfig, modules, install, modules_install, depmod, rpm-pkg, binrpm-pkg, dev-pkg

Lectures supplmentaires
mthode Debian dans le cours Installation

&

Les tapes de regnration du kernel et des modules modules sont :

Les tapes pour regnrer un kernel et ses

1. obtenir la source du kernel sous une forme ou une autre : source pure (pristine, vanilla) de http://www.ch.kernel.org/pub/linux/kernel/ (assez dangereux depuis v2.6) package source de la distribution considre (en gnral avec les patches de la distribution appliqus, p.ex. apt-get install linux-source) optionnellement : vrier les signatures lectroniques (GPG/PGP) 2. dsarchiver ventuellement cette source, usuellement dans /usr/src/linux 3. appliquer des patches ventuels supplmentaires 4. installer les utilitaires de compilation ncessaires, p.ex. kernel-package et ces dpendances si lon utilise la mthode Debian (ou au moins un compilateur, make, etc) 5. copier ventuellement une conguration compatible depuis /boot/config-* dans le chier .config et lancer make oldconfig pour tester/importer ce chier 6. congurer ce kernel avec une des mthodes dsires (questions, mode texte, divers modes graphiques) 7. compiler le kernel et les modules make all ou make bzImage modules voir aussi make help 8. installer le kernel obtenu et ses modules
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 1: Kernel Conguration, compilation et installation dun kernel

p. 9

9. recompiler ventuellement des sous-systmes kernel non intgrs dans la distribution du kernel Cette procdure est largement automatisable grce aux outils Debian du package kernel-package, notamment make-kpkg. Ces outils gnrent dailleurs un package Debian et ne ncessitent pas un rpertoire systme ni les droits root pour la compilation et la gnration et permettent de prparer un package sur une machine diffrente de la machine cible, trs facilement. Mthode manuelle : demo:~$ sudo bash root:~# mkdir /usr/src/linux root:~# cd /usr/src/linux root:/usr/src# kup=http://www.ch.kernel.org/pub/linux/kernel/ root:/usr/src# wget $kup/v2.6/linux-2.6.23.12.tar.bz2 root:/usr/src# tar xjf linux-2.6.23.12.tar.bz2 root:/usr/src# ln -s linux-2.6.23.12 linux root:/usr/src/linux# cp /boot/config-2.6.20-15-generic .config root:/usr/src/linux/linux# apt-get install build-essential root:/usr/src/linux# make oldconfig root:/usr/src/linux# make all Note : on na pas chang la conguration, on a simplement repris une conguration antrieure, et quelques questions supplmentaires pour de nouveaux pilotes ou fonctionnalits ont t poses. Le kernel tel que cr ci-dessus ne fonctionnera pas, sauf si on cre aussi un initrd, ou que lon sassure que tous les pilotes ncessaires (SATA, ext3, etc) ne sont pas en modules. Linstallation proprement dite Le kernel et les modules compils peuvent tre soit installs sous forme de package, soit via make, soit manuellement. Nous dcrivons ci-aprs le cas make : root:/usr/src/linux# make install root:/usr/src/linux# make modules_install On voit alors que les chiers suivants sont crs (voire crass ...) : vmlinuz-2.6.23.12 /boot/config-2.6.23.12 /boot/System.map-2.6.23.12 /lib/modules/2.6.23.12/* Il y a aussi quelques liens symboliques qui sont positionns dans /boot (et qui peuvent tre utiliss pour congurer le dmarreur, p.ex.) La conguration ventuelle dun dmarreur La conguration du dmarrage ayant t vue dans LPI-101, section 3.2, elle ne sera pas revue ici.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 1: Kernel Conguration, compilation et installation dun kernel

p. 10

Exercices
1. essayez les diverses mthodes de conguration du kernel (oldcong, cong, menucong, xcong, gcong) 2. que trouvez-vous dans le chier .config. Si vous le copiez dune autre machine ou le changez la main, que devriez-vous faire ? 3. comme la compilation de base du kernel ne cre pas dinitrd, que devez-vous absolument faire ? 4. quels sont les 4 chiers ou rpertoires rsultant de la compilation manuelle du kernel et o les placez-vous (en supposant que vous nemployez ni make install ni make modules_install). 5. quel est le danger de modier directement /boot ou /lib/modules sans passer par un package ? 6. laide de make help, dterminez quoi servent les cibles deb-pkg, rpm-pkg et binrpm-pkg.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 2: Dmarrage, arrt et niveaux dexcution p. 11

'

2. Dmarrage, arrt et niveaux dexcution


Contenu du chapitre
comment inuencer et analyser le dmarrage du systme via les options de dmarrage interactives et les journaux systmes comment grer le niveau dexcution du systme (p.ex. mode maintenance, arrt et redmarrage)

Buts du chapitre
savoir trouver linformation de dmarrage dans les journaux (logs) systmes et le tampon cyclique de journal du kernel savoir congurer des options du kernel dans un dmarreur au moment du dmarrage savoir changer le niveau dexcution, passer en mode maintenance (single-user) arrter et redmarrer le systme ; congurer le niveau par dfaut savoir informer les utilisateurs et arrter les processus correctement
&

support de cours additionnel : cours Administration et Installation


Ce chapitre traite principalement des options interactives au dmarrage, de lanalyse des logs systmes et des niveaux dexcutions (run levels).

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 2: Dmarrage, arrt et niveaux dexcution Dmarrer le systme

p. 12

'

Dmarrer le systme 2.1


Rsum des concepts importants
les logs systmes aprs le dmarrage du kernel sont disponibles dans /var/log/messagesa la commande dmesg donne accs au kernel cyclical log buffer : juste aprs le dmarrage en gnral on obtient les messages du kernel du dmarrageb on peut donner des options de dmarrage pour LILO ou grub

Lectures supplmentaires
http: //www.debian.org/releases/stable/i386/ch05s02.html.fr http://www.tldp.org/HOWTO/BootPrompt-HOWTO.html
tous les logs, sauf peut-tre les logs sensibles dans /var/log/auth.log par exemple, sont dans /var/log/syslog b sous Debian on retrouvera ces logs sauvegards dans /var/log/dmesg. &
a

Exercices
1. Redmarrez votre systme. Accdez au prompt du gestionnaire de dmarrage (boot-loader : p.ex. LILO ou grub). Ajoutez une option kernel mem=128m. Que fait cette option (pour le savoir, consultez les logs systmes !). Faites de mme avec loption noapic. Indication : vous pouvez trouver une liste des options kernel ici : http://www.cyberciti.biz/howto/ question/static/linux-kernel-parameters.php (ou dans la documentation du kernel kernel-parameters.txt) 2. A quoi servent les options root=/dev/hdc3 ? single init=/bin/sh 3. O trouvez-vous les journaux des programmes ayant dmarr ? 4. Que se passe-t-il sil y a trop dinformations au dmarrage du kernel et comment y remdier ?

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 2: Dmarrage, arrt et niveaux dexcution Changement des niveaux dexcution

p. 13

'

Changement des niveaux dexcution 2.2


Rsum des concepts importants
gestion des niveaux dexcution : init (conguration : /etc/inittaba ) niveau dexcution par dfaut : entre initdefault changement de niveau dexcution : telinit X (ou init X) rappel : niveaux 1, 6, 0 ; 2 5 ; /etc/init.d, /etc/rc?.d shutdown : -h (halt) ou -r (reboot) (autres options !) wall ps, kill, killall
a

/etc/events.d dans une Ubuntu rcente.

&

Exercices
1. Comment feriez-vous un redmarrage dans 15 minutes en avertissant automatiquement les utilisateurs quil sagit dun redmarrage pour mise jour du kernel ? Comment lannulezvous ? 2. A quoi sert le chier /etc/nologin ? 3. Comment dterminez-vous le niveau dexcution actuel ? 4. Comment passez-vous en mode maintenance ? Comment contrlez-vous quaucun processus utilisateur ou systme ne tourne encore ? 5. Comment redmarrer le systme sans utiliser shutdown (ou la commande reboot). Mme question pour un arrt (sans halt) ? 6. Comment envoyez-vous un message tous les utilisateurs connects (console) ? 7. Congurez le niveau dexcution par dfaut comme 3 et contrlez si tous les services sont dmarrs galement. Sinon (avanc) adaptez la conguration dans /etc/rc3.d (voire aussi dans /etc/initab) 8. Que doit-on faire pour activer un service directement congur dans /etc/inittab et que lon vient de modier ?

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 3: Impression p. 14

'

3. Impression
Contenu du chapitre
gestion dun systme dimpression simple et complexe soumission de travaux conguration dimprimantes locales et distantes conguration de ltres dimpression

Buts du chapitre
savoir congurer et surveiller les serveurs CUPS et lpd savoir grer les queues dimpression savoir imprimer des chiers et les convertir en PostScript si ncessaire savoir congurer une imprimante locale ou distante, y compris des ltres dimpression ventuels, pour une imprimante PostScript, non-PostScript, locale ou via SMB

support de cours additionnel : cours Impression


& Ce chapitre traite de limpression sous UNIX : concepts de base, serveurs de queues, ltres dimpression, commandes dimpression et de conversion de format, installation dimprimantes locales ou distantes.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 3: Impression Grer les imprimantes et les queues dimpression

p. 15

'

Grer les imprimantes et les queues dimpression 3.1


Rsum des concepts importants
limpression sous UNIX se fait en gnral en PostScript la soumission de travaux se fait soit par rseau (protocole LPD, ou plus rcemment le protocole IPP), soit localement via la commande lp (ou lpr) des ltres convertissent ventuellement de tout format soumis PostScript et/ou effectuent des transformations si limprimante destinataire nest pas PostScript, des ltres convertissent au format de limprimante (p.ex. via ghostscript) commandes dadministration : lpc, lpq, lprm un daemon gre les queues dimpression (cups, lpd, lprng) ainsi que les ltres ventuels chiers et congurations de CUPS

Lectures supplmentaires
&

http://tldp.org/HOWTO/Printing-HOWTO/

Diffrences entre LPD, LPRNG et CUPS LPD est le daemon de spooling/impression standard de UNIX BSD et il a t port tel quel sur GNU/Linux. Il fonctionne de manire traditionnelle : toute sa conguration se trouve dans le chier /etc/printcap, que les applications consultent pour dterminer les imprimantes disponibles. On peut y ajouter des ltres externes (ghoscript, apslter, magiclter, printlter, gimp-print) pour supporter limpression sur des imprimantes non PostScript ou pour modier des options dimpression. Certaines versions avances de LPD supportent galement les chiers PPD. LPRNG ajoute un peu de scurit un concept relativement identique. CUPS supporte nativement un nouveau protocole dimpression (IPP) qui permet au client dimpression de choisir plus facilement des options dimpression (p.ex. bac, recto-verso, multipage, etc) sans passer par de multiples queues dimpression. Les capacits de limprimante sont drives dun chier PPD (Printer Postscript Description) fourni par le fabricant ou cr sur la base dun exemple. Limpression IPP est galement possible depuis Microsoft Windows. Lintgration des pilotes, PPD et ltres ainsi quune conguration par GUI simple sont galement des avantages de CUPS. Par contre, CUPS, contrairement LPD et LPRNG est tout sauf lger.

Exercices
1. Quel est le numro de port et le protocole de transport (TCP ou UDP) du service dimpression par rseau LPD) ? 2. Quel est le format dimpression standard UNIX ? Quel est le problme si limprimante ne supporte pas ce format, et comment le rsoudre ? 3. Quel est lavantage pour les postes clients ?
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 3: Impression Installation et conguration dimprimantes

p. 16

'

Installation et conguration dimprimantes 3.2


Rsum des concepts importants
imprimantes locales : /dev/lp*, USB /dev/usb/lp* imprimantes distantes : LPD, Samba /etc/printcap : chier de conguration classique ltres dimpression rpertoires : /var/spool/cups/, /var/spool/lpd/* compatibilit : http://www.linuxprinting.org/

Lectures supplmentaires
http://www.linuxprinting.org/ http://www.cups.org/documentation.php

&

Installation dun daemon simple : lpd apt-get install lpr magicfilter magicfilterconfig # configuration de filtres Le chier /etc/printcap Originellement, /etc/printcap avait deux rles : 1. congurer le daemon dimpression (queues disponibles, paramtres de limprimante et de la queue, ltres ventuels, lieu de limprimante, nom de priphrique UNIX ventuel) 2. indiquer aux applications les queues dimpression disponibles Aujourdhui, ce chier nest utilis que si lon installe les anciens serveurs (LPD, LPRNG) et non pas p.ex. CUPS (ou alors uniquement pour compatibilit avec danciennes applications, dans un format simpli). Chaque entre de /etc/printcap a un format spcial : rlp|Remote printer entry:\ :lp=:\ :rm=remotehost:\ :rp=remoteprinter:\

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 3: Impression Installation et conguration dimprimantes

p. 17

:sd=/var/spool/lpd/remote:\ :mx#0:\ :sh: ljet4l|lp:\ :lp=/dev/lp0:\ :if=/etc/apsfilter/basedir/bin/apsfilter:\ :sd=/var/spool/lpd/ljet4l:\ :lf=/var/spool/lpd/ljet4l/log:\ :af=/var/spool/lpd/ljet4l/acct:\ :mx#0:\ :sh: Ici, on dnit tout dabord une imprimante distante (protocole LPD, nom remoteprinter@remotehost), puis une imprimante locale (adressable comme ljet4l ou lp), qui est locale, parallle, et gre via apslter. Des ags (p.ex. sh, suppress header) sont galement utiliss. GUI WWW de conguration de CUPS //localhost:631/. On se connecte avec un client WWW lURL http:

Exercices
1. assurez-vous que CUPS nest pas install : apt-get --purge remove cupsys cupsys-client. Installez lpr et magicfilter. Sous le daemon lpd, congurez une imprimante avec magicfilterconfig. Consultez les ltres crs automatiquement dans /etc/printcap. Consultez ltat des imprimantes. 2. toujours sous lpd, dsactivez, vriez et activez cette imprimante. Quelles sont les autres fonctions de la commande dadministration ? Pourriez-vous changer la priorit dun job ? 3. supprimez le chier /etc/printcap. Installez les packages cupsys et cupsys-bsd. En utilisant la conguration WWW CUPS, ajoutez une nouvelle imprimante parallle de type HP 500c. Si vous avez des hsitations sur le pilote employer, voyez http://www. linuxprinting.org. Consultez les chiers de conguration qui ont t modis. Faites de mme pour une impression rseau LPD et une impression SMB (indication : pour ce dernier cas, le package smbclient doit tre install). Enn, installez une imprimante qui nexiste pas (et donc produira des erreurs). Indication : touch /dev/lp0 si vous navez pas de port parallle. 4. dsactivez votre imprimante via le GUI WWW CUPS si ce nest pas le cas (fonction Stop Printer), consultez son tat avec la commande lpc. Activez limprimante via la commande spcique CUPS cupsenable. Comment faire linverse ? Vriez. 5. que font les commandes accept et reject Vriez avec le GUI WWW. 6. comment interdisez-vous lannonce automatique des autres serveurs CUPS ? (indication : browsing) 7. comment autorisez-vous laccs votre serveur dimpression depuis un sous-rseau ? 8. comment faites-vous en sorte que /etc/printcap soit gr par CUPS ? 9. comment ajoutez-vous une imprimante avec la commande lpadmin ? comment la supprimezvous ? 10. comment transformez-vous un serveur CUPS en serveur compatible protocole LPD ?
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 3: Impression Imprimer des chiers

p. 18

'

Imprimer des chiers 3.3


Rsum des concepts importants
on soumet un job avec lpr (ou lp) conversion de texte en PostScript : a2psa interrogation des queues : lpq 10
a

des plus anciennes versions de lexamen LPI-102 parlaient denscript

&

Exercices
1. imprimez un chier texte quelconque sur une imprimante rseau, que constatez-vous ? que faire ? 2. utiliser a2ps pour gnrer un chier PostScript partir dun chier texte (sans imprimer) et visualisez ce chier avec gv p.ex. Changez des options de a2ps (p.ex. nombre de pages par feuille). Une fois que vous tes satisfaits, imprimez la sortie. Alternativement, imprimez directement en spciant limprimante avec une option da2ps. 3. imprimez sur une imprimante inexistante locale ou arrte, consultez la queue dimpression, puis dtruisez le job. Pouvez-vous supprimer le job de quelquun dautre ?

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 4: Documentation p. 19

'

4. Documentation
Contenu du chapitre
utilisation des manuels man et de la documentation dans /usr/share/doc sources collaboratives sur Internet communication avec les utilisateurs 11

Buts du chapitre
savoir trouver des manpages, connatre la structuration en sections, prparer pour limpression, congurer la commande man savoir consulter et administrer la documentation de /usr/share/doc savoir o trouver de la documentation sur Internet savoir comment informer les utilisateurs support de cours additionnel : cours Self-help
& Ce chapitre traite de la documentation : comment rechercher une information laide des pages man, de la documentation systme et o la trouver sur Internet ainsi que comment informer les utilisateurs de travaux dadministration.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 4: Documentation Utiliser et grer la documentation locale systme

p. 20

'

Utiliser et grer la documentation locale systme 4.1


Rsum des concepts importants
le concept des manpages la variable MANPATH les commandes man, apropos et whatis les documentations sous /usr/share/doc des programmes installs

12

&

Exercices
1. dans quel section des manuels systmes se trouvent des informations sur : (a) les commandes pour les utilisateurs (b) les commandes pour ladministration (c) la documentation du priphrique /dev/ram (d) la documentation du chier de conguration /etc/fstab (e) la documentation du code ASCII (f) la documentation des jeux (indication : man man ou man 7 man) 2. comment trouver toutes les manpages ayant un rapport avec le concept de rseau ? 3. documentez-vous sur le concept de crontab : comment sinformer sur le format de chier ? sur la commande ? 4. comment obtenir un rsum court de ce que fait une commande ? 5. que doit-il se trouver dans le rpertoire /usr/share/doc ? (indication : man hier) 6. supposez que vous avez install un chier de manuel (p.ex. tar.1.gz dans votre rpertoire ~/man/man1/). Donnez deux mthodes diffrentes pour y accder. Indication : copiez un manuel quelconque de /usr/share/man et testez. 7. comment crer un chier PostScript (p.ex. pour limprimer) avec la commande man ? (indication : option -T) 8. quelle diffrence y-a-t-il entre les pages man et les pages Info ? (indication : comparez man screen et info screen ou toute autre documentation accessible dans /usr/share/info)
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 4: Documentation Trouver de la documentation sur Internet

p. 21

'

Trouver de la documentation sur Internet 4.2


Rsum des concepts importants
Linux Documentation Project (LDP) http://www.tldp.org/ serveurs WWW de distributeurs et de tiers newsgroups (forums USENET) et leurs archives mailing-list

13

&

Exercices
1. installez un client news et connectez-vous un serveur de news1 , dterminez la liste des forums Linux en anglais et en franais. 2. cherchez dans les archives Google de news 3. trouvez quelques mailing-lists sur divers sujets (p.ex. lis une distribution, une application) et cherchez dans ces listes 4. comment crire une man-page (cherchez un HOWTO chez LDP)

alternative : accdez Google groups


Disponible sous licence GFDL, invariant: les 2 premires pages

c 2008 CRIL - Marc SCHAEFER

LPI-102

Chapitre 4: Documentation Notier les utilisateurs

p. 22

'

Notier les utilisateurs 4.3


Rsum des concepts importants
/etc/issue, /etc/issue.net /etc/motd 14

&

Exercices
1. que contiennent respectivement les chiers /etc/issue et /etc/issue.net et quels moments sont-ils afchs ? 2. mme question pour /etc/motd 3. documentez-vous sur la commande wall 4. documentez-vous sur le chier /etc/nologin

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 5: Scripts et programmation shell p. 23

'

5. Scripts et programmation shell


Contenu du chapitre
paramtrisation avance de lenvironnement dveloppement de scripts bash plus avancs 15

Buts du chapitre
savoir congurer lenvironnement du shell au login ou un nouveau sous-shell savoir dvelopper des scripts shell plus avancs (fonctions, boucles, tests, etc) connatre quelques commandes internes et externes supplmentaires support de cours additionnel : cours UNIX, Shell, LPI-101 et Scurit

& Ce chapitre traite de la programmation shell dans le but dcrire des scripts systmes (p.ex. conguration de variables, critures de petites fonctions, tests, boucles, etc).

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 5: Scripts et programmation shell Personnaliser et utiliser lenvironnement

p. 24

'

Personnaliser et utiliser lenvironnement 5.1


Rsum des concepts importants
savoir congurer des variables (p.ex. PATH) au login et/ou au dmarrage dun sous-shell savoir crire des fonctions shell chiers : ~/.bash_profile, ~/.bash_login, ~/.profile, ~/.bashrc, ~/.bash_logout, ~/.inputrc mots rserv shell : function commandes internes : export, set, unset commandes externes : env, seq

16

&

Exercices
1. (rappel) dterminez (p.ex. en mettant des echo1 ou le man de bash) les conditions et lordre dexcution des scripts ~/.bash_profile, ~/.bash_login, ~/.profile, ~/.bashrc, ~/.bash_logout 2. quoi sert le chier ~/.inputrc ? et le chier /etc/inputrc ? 3. dposez un script dans votre ~/scripts ( crer ventuellement) et modiez lenvironnement de manire ce que lexcution fonctionne sans spcier le chemin. 4. faites comme prcdemment, mais assurez-vous que la modication est active chaque lancement de shell interactif. 5. (rappel) indiquez la diffrence entre var=a et export var=a. Que se passe-t-il si jcris var=a; export var. Comment supprimer une variable ? 6. la commande set ne sert pas affecter des variables. Documentez-vous sur celle-ci et testez les options -e puis -v dans un script. Comment activer ces options lors de lexcution dun script, sans le modier ? 7. crivez un script shell qui fait appel une fonction qui compresse un chier pass en paramtre, sil existe et sil ne lest pas dj (indications : il nira par .gz sil est compress avec gzip ; utilisez case cest le plus simple).

ou en lisant les commentaires dposs par Debian au dbut de ces chiers


Disponible sous licence GFDL, invariant: les 2 premires pages

c 2008 CRIL - Marc SCHAEFER

LPI-102

Chapitre 5: Scripts et programmation shell Adapter ou crire des scripts

p. 25

'

Adapter ou crire des scripts 5.2


Rsum des concepts importants
boucles (for, while), tests ([], testa ), substitutions, rsultat activation dun script (she-bang #!, chmod) envoi conditionnel dun mail root 17

Lectures supplmentaires
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
a

man test

&

Exercices
1. complter la fonction du sous-chapitre prcdent pour quelle retourne un rsultat (0 == ok, 1 == dj compress, 2 == erreur) et le traiter (indication : return) 2. compltez la fonction originale du sous-chapitre prcdent pour supporter plusieurs nom de chiers (indication : boucle for, il y a un raccourci, consultez le help) 3. que sont les deux pr-requis pour que lon puisse directement excuter un script shell ? 4. supposons que ~schaefer/.bashrc ait t effac et que le plus simple est de le copier dun autre utilisateur testuser. Indiquez toutes les commandes ncessaires. 5. crez laide de la commande touch un chier dont le nom est fichier-DATE, o DATE est la date en format ISO-8601 6. laide de la commande mail1 envoyez un mail root uniquement si le chier /tmp/flag existe, est un chier et est vide 7. testez si la variable DISPLAY est vide, et si oui congurez-la au nom de la machine suivi de :0 8. o mettriez-vous des scripts usage gnral ? 9. faire une boucle for, puis une boucle while, qui compte de 10 1 10. consultez la manpage de la commande fsck et traitez quelques cas possibles de rsultats de la commande, par exemple en vous aidant de help case 11. est-ce que la permission SUID fonctionne avec les scripts ?
1

ou directement /usr/sbin/sendmail
Disponible sous licence GFDL, invariant: les 2 premires pages

c 2008 CRIL - Marc SCHAEFER

LPI-102

Chapitre 6: Administration p. 26

'

6. Administration
Contenu du chapitre
gestion des comptes (utilisateurs et groupes) et prconguration de lenvironnement utilisateurs conguration, surveillance, raction et archivage des journaux lancement plani de travaux planication et mise en oeuvre des sauvegardes

18

Buts du chapitre
savoir crer, supprimer, limiter, suspendre, modier et prcongurer des comptes savoir congurer syslogd et rechercher linformation utile savoir utiliser at et cron (ou anacron) savoir dnir et congurer une sauvegarde automatise savoir congurer le temps systme et un daemon NTP

support de cours additionnel : cours Administration et SIB


& Ce chapitre traite de ladministration systme gnrale : gestion des comptes et de leur prconguration, des journaux, des travaux automatiques, des sauvegardes et du temps.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 6: Administration Gestion des comptes

p. 27

'

Gestion des comptes 6.1


Rsum des concepts importants
base de donnes : /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow ajouter, modier et supprimer les utilisateurs et groupes : useradd, userdel, usermod, groupadd, groupdel, groupmod passwd et gpasswd chage

19

&

Exercices
1. (rappel) investiguez les commandes {user,group}{add,del,mod} listes dans le souschapitre 2. comparez le chier /etc/passwd /etc/shadow, notamment ses permissions. 3. expirez un compte et loguez-vous. A quoi cela peut-t-il servir ? 4. mettez un mot de passe un groupe et utilisez newgrp pour y accder. Y-a-t-il une mthode plus simple pour donner le groupe un utilisateur ? 5. bloquez un compte, testez un login et dbloquez-le, retestez (nhsitez pas consulter /var/log/auth.log pour vous convaincre)

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 6: Administration Prconguration de lenvironnement

p. 28

'

Prconguration de lenvironnement 6.2


Rsum des concepts importants
maintenance du rpertoire de prconguration /etc/skel conguration de /etc/profilea commandes : env, export, set, unset 20
a

ou de /etc/environment

&

Exercices
1. crez un compte demo, loguez-vous avec, prcongurez des paramtres (p.ex. aliases de bash, conguration de GNOME ou KDE, icnes sur le desktop, etc). Copiez une partie des congurations dans /etc/skel. Crez un compte avec prconguration et vriez que les paramtres congurs ont t installs. Comment faire pour avoir des classes de conguration ? 2. ajoutez des aliases globaux dans /etc/profile ou des prcongurations de variables (LD_LIBRARY_PATH ou PATH p.ex.) et testez-les

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 6: Administration Conguration et gestion des journaux

p. 29

'

Conguration et gestion des journaux 6.3


Rsum des concepts importants
congurer syslogd (/etc/syslog.conf, type et niveau) chercher dans les logs : grep qqch /var/log/* archiver les logs : logrotate suivre les changements en temps rel : tail -f

21

&

Format de /etc/syslog.conf Chaque ligne (qui peut tre prolonge via un backslash) contient deux parties : la partie gauche est forme des conditions de slection (quel sous-systme (facility), quel niveau (priority), la partie droite de laction : la destination des logs (chier, serveur distant UDP, console, pipe, programme, etc). Les conditions de slection sont spares par des points-virgules, et comportent une partie facility et une partie priority, spare par un point. La partie facility peut tre multiple pour une seul priority, on spare alors par des virgules. Les facilities sont les suivantes : auth, authpriv, cron, daemon, ftp, kern, lpr, mail, mark et news. Les priorities (tries par ordre dimportance croissante) sont : debug, info, notice, warning, err, crit, alert, emerg et panic. La partie priority dnote soit un niveau et tous les niveaux suprieurs, ou alors seulement un niveau (en prsence dun symbole =). Ltoile remplace toute priority ou toute facility ; le mot-cl none spcie aucune ; le point dexclamation inverse la condition (de nouveau, sapplique pour une priority (=), ou sinon toutes depuis ce niveau). Si la partie droite est prxe par un -, le journal ne sera pas synchronis sur disque chaque criture (on peut donc perdre des entres rcentes en cas de crash brutal).

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 6: Administration Conguration et gestion des journaux

p. 30

Exercices
1. modier la conguration de syslogd pour envoyer les logs sur un serveur centralis 2. afcher tous les logs dauthentication de niveau exactement debug sur la console 8 (indication : utiliser la commande logger pour simuler des logs) 3. quoi sert le caractre - dans la partie droite (sortie) dans la conguration de syslogd ? 4. expliquez le fonctionnement de la commande logrotate et de ses chiers de conguration 5. expliquez la rpartition des logs entre /var/log/auth.log et /var/log/syslog

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 6: Administration Travaux excuts automatiquement

p. 31

'

Travaux excuts automatiquement 6.4


Rsum des concepts importants
cron : /etc/crontaba /etc/cron.allow, /etc/cron.deny, /var/spool/cron/* anacron : /etc/anacrontab atd : /etc/at.allow, /etc/at.deny commandes : at, atq, atrm, crontab
voir aussi les crontabs utilisateur dites via crontab -e, y compris pour root, les crontabs spars sous /etc/cron.d/, les scripts lancer rgulirement (journellement : /etc/cron.daily/, une fois par semaine : /etc/cron.weekly, une fois par mois : /etc/cron.monthly)
a

22

&

Exercices
1. quelle est la diffrence entre atd et cron ? 2. quoi sert anacron, et sur quel type de machines ? 3. expliquez le format de /etc/anacrontab 4. crivez un petit script1 qui envoie un mail root et soumettez le pour dans 5 minutes at. Vriez quil est dans la queue des jobs, supprimez-le, vriez et re-soumettez-le. Vriez quil sest bien excut. 5. donnez tous les endroits o peuvent tre congures des crontabs sous root 6. comparez le format de /etc/crontab celui gre par la commande crontab 7. interdisez laccs at votre utilisateur. 8. quel est le comportement si ni /etc/cron.allow existe mais est vide ?

obligatoirement un script compatible /bin/sh sinon utiliser un wrapper


Disponible sous licence GFDL, invariant: les 2 premires pages

c 2008 CRIL - Marc SCHAEFER

LPI-102

Chapitre 6: Administration Maintenir une sauvegarde fonctionnelle

p. 32

'

Maintenir une sauvegarde fonctionnelle 6.5


Rsum des concepts importants
sauvegarde/restaurations de priphriques bruts (raw devices) sauvegardes compltes et partielles vrication de sauvegardes restaurations compltes ou partielles commandes : cpio dd, dump, restore, tar

23

&

Les 2 types de programme de sauvegarde On distingue les programmes de sauvegardes comme dump qui accdent le systme de chiers directement celles comme tar et cpio qui sauvegardent partir de nimporte quel rpertoire, avec ou sans les systmes de chiers monts lintrieur de larborescence concerne. Ces derniers ont galement lavantage dtre plus portables et ables et sont donc recommands. Ce sont ceux qui sont en gnral utiliss par des logiciels intgrs de sauvegarde. Les niveaux de sauvegarde 0 sauvegarde complte 1 sauvegarde diffrentielle depuis le niveau 0 concern (uniquement ce qui a chang) N sauvegarde diffrentielle depuis le niveau N - 1 concern (uniquement ce qui a chang) En consquence, pour une restauration intgrale, il faut toujours restaurer le dernier niveau 0, puis tous les niveaux suprieurs associs, par ordre croissant.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 6: Administration Maintenir une sauvegarde fonctionnelle

p. 33

Exercices
1. laide de la commande dd, sauvegarder une petite partition dans un chier 2. quoi sert lavant-dernier champ (le 5e ) de /etc/fstab ? 3. comment pourriez-vous, laide de la commande chattr et des options, spcier quun rpertoire ou chier doit tre ignor par dump ? 4. comment faire une sauvegarde complte du systme de chiers /home sur le lecteur DDS SCSI avec la commande dump ? Comment restaurer ? 5. quel est lavantage de lalgorithme Tour de Hanoi implment par dump pour les niveaux suprieurs 0 ? 6. donnez des exemples de sauvegardes et restaurations avec tar et cpio. 7. est-ce que tar peut faire des sauvegardes incrmentales ? et cpio ? 8. comment vrier une sauvegarde avec restore ? et avec tar ?

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 6: Administration Grer le temps systme

p. 34

'

Grer le temps systme 6.6


Rsum des concepts importants
conguration du temps systme : date conguration des zones de temps : /usr/share/zoneinfo, /etc/timezone, /etc/localtime conguration du BIOS (CMOS) : hwclock conguration NTP (y compris la drive de temps (drift)) : ntpd, ntpdate, /etc/ntp.conf, /etc/ntp.drifta
a

24

/var/lib/ntp/ntp.drift sur les distributions compatibles FHS, comme Debian.

&

Horloge systme et CMOS GNU/Linux charge une fois au dmarrage lhorloge maintenue par le BIOS avec la commande hwclock -s (en gnral avec loption -u pour UTC/GMT). Ensuite, le temps est maintenu indpendamment et peut tre chang via la commande date. Si lon dsire reporter les changements dans la CMOS, il faut alors utiliser hwclock -w (galement en gnral avec -u). On peut aussi utiliser directement hwclock --set --date=newdate, ou voir lheure de la CMOS avec hwclock -r. Changement dhorloge UNIX a besoin dun temps monotone croissant : cest pour cela quen gnral on ne changera pas lheure, sinon au dmarrage (via hwclock depuis la CMOS, ou via ntpdate depuis un serveur de rfrence). Une fois que le systme est dmarr, un daemon peut tre utilis pour assurer une horloge uniforme dans un rseau, voire correcte. Ce daemon va ajuster la dure des secondes pour adapter (plus rapide, ou plus lent) lhorloge de manire monotone croissante. Ce daemon se synchronisera sur dautres serveurs, voire sur une horloge prcise locale. Un systme de strates (niveaux) indique la qualit relative de chaque source : schaefer@shakotay:~$ ntptrace localhost localhost: stratum 3, offset -0.007832, synch distance 0.082684 193.39.78.2: stratum 2, offset 0.000000, synch distance 0.026250 tik.cesnet.cz: stratum 1, offset 0.000000, synch distance 0.000010, refid GPS
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 6: Administration Grer le temps systme

p. 35

Exemple de conguration simplie : server pool.ntp.org # rfrence locale en cas de panne rseau server 127.127.1.0 fudge 127.127.1.0 stratum 13 driftfile /etc/ntp.drift # emplacement en violation FHS Le chier ntp.drift est modi par le serveur NTP en fonction des mesures correctives effectues dans le pass. Il permet de prcorriger et de moins driver en cas de panne rseau.

Exercices
1. excutez TZ=GMT date et expliquez 2. changez la date systme en arrire via la commande date. Redmarrez. Observez et expliquez. Maintenant faites la mme chose et utilisez ensuite la commande hwclock. Observez et expliquez. 3. que sont les chiers /etc/timezone et /etc/localtime ? que contiennent-ils ? que feriez-vous pour changer la zone locale manuellement1 ? 4. comment pourriez-vous modier le chier /etc/default/rcS pour collaborer efcacement avec la gestion dheure dt dsastreuse2 de Microsoft Windows ? 5. installez un ntpdate au dmarrage si ce nest pas dj fait. 6. installez un serveur NTP et testez-le (p.ex. avec loutil ntptrace) 7. trouvez les scripts de dmarrage et arrt qui soccupent de lhorloge.

Debian contient un outil de plus haut niveau appel tzselect ils ne changent pas la zone de temps pour DST, ils changent la CMOS ... donc maintiennent toujours la zone locale et non GMT dans le CMOS UNIX par dfaut travaille en GMT et prsente aux utilisateurs une vision cohrente et toujours correcte en fonction de la conguration systme et de la variable TZ
2
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 7: Bases du rseau p. 36

'

7. Bases du rseau
Contenu du chapitre
concepts de base du rseau IP protocoles conguration, dtermination et correction de problmes connexion via PPP

25

Buts du chapitre
connatre les concepts dadresses, routage, sous-rseaux, plages spciales savoir congurer ces paramtres et dterminer les problmes savoir congurer une connexion cliente via PPP support de cours additionnel : cours Rseau
& Ce chapitre traite des concepts de base du rseau sous TCP/IP, de la conguration, de la dtermination et de la correction des problmes usuels ainsi que de la connexion un fournisseur daccs Internet ou un rseau interne dentreprise via le protocole PPP.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 7: Bases du rseau Rappels sur TCP/IP

p. 37

'

Rappels sur TCP/IP 7.1


Rsum des concepts importants
concepts : adresses, sous-rseau, masques rseau (netmask), diffusion (broadcast), routage, classes, CIDRa , plages rserves ou spciales, route par dfaut protocoles : IP, ICMP, TCP, UDP services (ports) : 20 (FTP/DATA), 21 (FTP), 23 (TELNET), 22 (SSH), 25 (SMTP), 53 (DNS), 80 (HTTP), 110 (POP3), 119 (NNTP), 139 (SMB), 143 (IMAP2), 161 (SNMP) diffrences entre IPv4 et IPv6 /etc/services ftp, telnet, host, ping, dig, traceroute, whois

26

Lectures supplmentaires
http://www.bieringer.de/linux/IPv6/
a

rappel : adresse-sous-rseau/nombre-de-bits-libres, p.ex. 192.168.1.0/24)

&

Diffrences entre IPv4 et IPv6 adressage 128 bits (plutt que 32 bits pour IPv4), p.ex. 1fff:0000:0a88:85a3:0000:0000:ac1f: (ou formats simplis) plages allouables gnreusement protocole ARP non ncessaire (les bits infrieurs de ladresse IPv6 peuvent tre congurs comme ladresse MAC) NAT/PAT en thorie plus ncessaire champs DNS AAAA qualit de service mobilit authentication et chiffrement (optionnels) IPv6 sur IPv4 : possible (tunnel) (la plupart des avantages dIPv6 sont disponibles comme protocoles spciques dIPv4 comme p.ex. IPsec ; sauf la taille dadressage). Le support GNU/Linux est fonctionnel (y compris rewall). A savoir : si IPv6 est activ, les rgles du rewall IPv4 ne sappliquent plus forcment, et la commande netstat --inet6 doit tre utilise pour voir tous les services (qui pourraient tre invisibles via --inet). Le problme de la migration dIPv4 IPv6 est principalement politique.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 7: Bases du rseau Rappels sur TCP/IP

p. 38

Exercices
1. quelle est la taille en bits dune adresse IPv4 ? Comment la reprsente-t-on usuellement ? Donnez un exemple. 2. renseignez-vous laide de la commande whois sur le sous-rseau 193.72.186.0 et dduisez le netmask. 3. soit ladresse 80.83.54.61 et le masque de sous-rseau 255.255.255.224. Indiquez la classe de cette adresse. Ensuite, dterminez le sous-rseau effectif : donnez ladresse de sous-rseau et ladresse de broadcast. Donnez cette information galement sous forme CIDR 4. soit la machine 192.168.1.42 qui se trouve dans un sous-rseau CIDR sous-rseau/26. Indiquez ladresse de sous-rseau, le netmask et ladresse broadcast correspondante. 5. donnez des exemples de plages dadresses rserves pour les rseaux privs. Que doit faire un routeur connect Internet lorsquil voit passer un datagramme IP avec une adresse source dans ces plages ? 6. quoi sert la route par dfaut ? 7. congurez une deuxime adresse IP sur votre poste (ifconfig eth0:0 192.168.100.A, o A est la dernire partie de ladresse IP de votre machine : de manire viter des collisions avec dautres). Que doit faire votre voisin pour pouvoir pinger cette adresse ? (indication : on suppose que les deux ordinateurs sont dans le mme sous-rseau, soit non spars par un routeur). 8. dterminez le chemin jusqu une autre adresse IP (avec traceroute ou mtr) 9. dterminez ladresse IPv6 correspondant au nom domreg.nic.ch 10. avec quelle commande pouvez-vous lister les informations de la zone DNS alphanet.ch ? 11. quelle commande vous permet de faire des transferts de chiers via le protocole situ sur le port 21/tcp ? 12. dessinez larchitecture des 4 protocoles des couches 3 et 4 de TCP/IP 13. dterminez via /etc/services le numro de port et le protocole (TCP ou UDP) de quelques protocoles courants 14. dcongurez le support IPv6 dans votre systme (indication : soit une diversion sur le module kernel, soit, plus simple et plus portable, un alias dans /etc/modprobe.d)

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 7: Bases du rseau Conguration et dtermination de problmes

p. 39

'

Conguration et dtermination de problmes 7.2


Rsum des concepts importants
consulter, modier et vrier les tats et congurations des interfaces rseau : ifconfig, ifup, ifdown, route conguration dun client DHCP : dhcpcd, dhclient, pump conguration de base rseau : /etc/hostname (ou /etc/HOSTNAME), /etc/hosts, /etc/networks, /etc/host.conf, /etc/nsswitch.conf, /etc/resolv.conf debugging de problmes rseau : host, hostname, domainname, dnsdomainname, netstat, ping, traceroute, tcpdump /etc/init.d/networking

27

&

Exercices

1. si vous tes en DHCP, tuez le daemon DHCP, puis lancez-le manuellement 2. consultez les routes congures sur votre machine (route ou netstat -rn) 3. que faut-il faire si ping www.alphanet.ch retourne lerreur unknown host alors que ping 80.83.54.2 fonctionne ? et si cette dernire commande retourne network unreachable 4. quelle est la diffrence entre ifconfig eth0 down et ifdown eth0 ? 5. comment ajouter une route au rseau 192.168.100.0/24 via le routeur 192.168.42.35 sur eth0 ? 6. quelle est la diffrence entre changer le nom de la machine avec la commande hostname et via /etc/hostname ? 7. quel est lavantage de congurer un nom compltement quali (FQDN : machine.domaine.ch) pour ladresse IP principale de la machine dans /etc/hosts ? comment y congurer des aliases ? comment le faire sur plusieurs machines dun rseau ? 8. quelle est la diffrence entre dnsdomainname et domainname ? 9. listez tous les ports utiliss de la machine avec leur numro de processus (sans rsoudre les noms) 10. comment le systme sait-il que 0.0.0.0 doit sappeler default (sans loption -n de route ou netstat) ? (alternative : ajoutez votre sous-rseau ce chier et testez) 11. quoi servent les chiers /etc/host.conf et /etc/nsswitch.conf ? 12. quels sont les scripts lancs au dmarrage pour la conguration rseau ? 13. donnez deux ides pour dterminer quel serveur DNS est utilis alors quil y a un doute sur la conguration.
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 7: Bases du rseau Congurer un client PPP

p. 40

'

Congurer un client PPP 7.3


Rsum des concepts importants
modem, ISDN, ADSL (ou MS-PPTP, ou PPP-sur-SSH, etc) concept de chat script conguration : /etc/ppp/options.*, /etc/ppp/peers/*, /etc/wvdial.conf, /etc/ppp/ip-up, /etc/ppp/ip-down, commandes (connexion, dconnexion) : wvdial, pppd options particulires : reconnexion automatique (p.ex.)

28

Lectures supplmentaires
http://www.debianhelp.co.uk/ppp.htm (wvdial sur Debian) http://www.debian.org/releases/stable/i386/apds05.html.fr (PPPoE (ADSL ancien) sur Debian) http://tldp.org/HOWTO/PPP-HOWTO/ (obsolte)
&

Principes de base Le protocole PPP (Point-to-Point Protocol) est un protocole standard dchange de paquets entre deux systmes sur une liaison quelconque. Une application est la connexion un fournisseur daccs Internet (FAI) ou au rseau interne de lentreprise. Limplmentation UNIX est le logiciel pppd (qui agit en tant que serveur ou client). Lorsquun modem est utilis, il y a en gnral un dialogue (les commandes AT de composition) ainsi quventuellement un login et un mot de passe sur le concentrateur de terminal du fournisseur. Ce dialogue est fait par lutilitaire wvdial (ou chat). Cet outil peut se congurer manuellement dans /etc/wvdial.conf ou semi-automatiquement via lutilitaire wvdialconf. Exemple de chat classique : chat -v ATZ OK ATDT032841401 CONNECT ogin: pppmarc word: demo Lorsquil sagit dADSL, il existe, sil sagit dun modem ADSL (plutt quun routeur), dun protocole particulier appel PPP-over-Ethernet (vt. PPP-over-ATM) qui consiste changer des trames PPP qui sont converties dEthernet ADSL/ATM/AAL5 par le modem. Dans tous les cas, une phase dauthentication est en gnral prvue (le client sauthentie au serveur dans le cas gnral). La conguration de cette authentication se fait dans /etc/ppp/peers/* ainsi que dans /etc/ppp/chap-secrets ou /etc/ppp/pap-secrets. CHAP est un protocole challenge-response : le mot de passe doit tre en clair dans tous les cas. PAP est un protocole en clair, le mot de passe peut tre hash (sur le serveur, en clair sur le client).
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 7: Bases du rseau Congurer un client PPP

p. 41

Des options spciales sont congures dans /etc/ppp/options.*. Des scripts peuvent tre lancs lors de la connexion et/ou de la dconnexion (p.ex. pour lancer fetchmail ou dautres services) via /etc/ppp/ip-up et /etc/ppp/ip-down. Conguration de wvdial Cette conguration est la plus simple. Parfois elle est insufsante. On se rfrera alors la section suivante. On lancera la commande wvdialconf. Cette dernire crera les congurations /etc/wvdial.conf et ventuellement des secrets CHAP ou PAP dans /etc/ppp. Le chier /etc/wvdial.conf pourrait ressembler : [Dialer Defaults] Modem = /dev/ttyS1 Baud = 115200 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 S11=55 +FCLASS=0 Phone = 0840555555 Username = sunrise Password = freesurf Conguration de pppd On peut partir p.ex. de /etc/ppp/peers/provider. On y congurera le nom dutilisateur (p.ex. sunrise), et le mot de passe dans /etc/ppp/chap-secrets. Ou, plus simplement avec wvdial comme montr prcdemment. Le dmarrage se fait alors via pon provider, larrt par poff provider. On peut utiliser aussi la forme plus simple pppd call provider. Options avances Loption Auto Reconnect de wvdial.conf permet de rappeler indniment en cas de coupure de la connexion. Loption persist de pppd, quant elle, permet de redmarrer la connexion.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau p. 42

'

8. Services rseau
Contenu du chapitre
conguration de daemons rseau via le super-serveur inetd/xinetd conguration de base et gestion de divers MTA (Mail Transfer Agent) conguration de base et gestion dApache, NFS, Samba, DNS et SSH 29

Buts du chapitre
savoir congurer et grer quelques services rseaux classiques (indpendants (standalone) ou via inetd/xinetd) connatre les bases de la conguration, mise en place et gestion de services rseau classiques comme un serveur de courrier lectronique, le serveur WWW Apache, NFS, Samba, le DNS et SSH support de cours additionnel : cours Rseau, Administration, SMTP, Samba
& Ce chapitre traite des services de base installables en rseau TCP/IP, notamment du super-serveur inetd (ou xinetd), dun serveur de courrier lectronique (MTA), de la conguration de base de la gestion dApache, du partage de chiers classique UNIX NFS ou compatible Microsoft Samba, du DNS ainsi que de la connexion scurise SSH.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Super-serveur inetd/xinetd

p. 43

'

Super-serveur inetd/xinetd 8.1


Rsum des concepts importants
dnition des services : /etc/services conguration de services : /etc/inetd.conf (ou /etc/xinetd.conf et /etc/xinetd.d/) conguration des rgles daccs bases sur les adresses IP avec les tcpwrappers : /etc/hosts.allow, /etc/hosts.deny consultation des logs : /var/log/xinetd.log

30

&

Principes de base du super-serveur rseau Lide du super-serveur rseau (que cela soit inetd ou xinetd) est de sortir les fonctionnalits dcoute rseau et de gestion dinstances multiples des divers daemons. Le super-serveur coute sur les ports assigns et lance des instances de services (multiples ou uniques : en gnral multiples pour TCP et uniques pour UDP) qui ne doivent grer que lentre et la sortie standard. Des limites permettent dassurer une charge convenable (p.ex. rapidit successive de lancement, etc). Le support optionnel tcpwrappers permet de congurer des rgles simples de scurit (bases sur les adresses IP seulement !) avant le lancement de services. Exemple de lajout dun service Soit le service suivant : #! /bin/bash cat <<EOF Il est actuellement date. Veuillez tapez RETURN pour quitter le service. EOF read ignore

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Super-serveur inetd/xinetd

p. 44

stock par exemple comme /usr/local/bin/service-simple et rendu excutable (chmod a+rx /usr/local/bin/service-simple). Ce service peut tre ajout au super-daemon inetd comme suit : echo >> /etc/services mon-service 12345/tcp echo >> /etc/inetd.conf \ mon-service stream tcp nowait nobody \ /usr/sbin/tcpd /usr/local/bin/service-simple Pour quinetd relise sa conguration, il faut lui envoyer le signal HUP (ou passer par les scripts init.d) : killall -HUP inetd ou /etc/init.d/inetd reload # ou similaire

Exercices
1. installez le service propos et testez (avec telnet localhost 12345) quil fonctionne. 2. empchez ladresse IP de votre voisin (via /etc/hosts.deny) de se connecter ce service (indication : man tcpd). Quel est le symptme ? 3. installez un serveur telnet dpendant dinetd (p.ex. telnetd) et regardez ce que le systme prcongure pour vous dans /etc/inetd.conf. Consultez le script de post-installation1 . Quelle commande spcique est utilise ? 4. dinstallez linetd actuellement install et installez xinetd. Ajoutez une redirection de port et testez-l. Par exemple localhost:2222 vers localhost:22 (indication : man xinetd.conf, redirect). 5. quelles facilits sont disponibles pour limiter la frquence des connexions et dautres paramtres ? 6. dans quels cas congure-t-on des services en mode standalone plutt que via inetd ? 7. quelle est la diffrence entre stream et dgram ?

indication : /var/lib/dpkg/info/telnetd.postinst
Disponible sous licence GFDL, invariant: les 2 premires pages

c 2008 CRIL - Marc SCHAEFER

LPI-102

Chapitre 8: Services rseau Conguration et gestion de base dun MTA

p. 45

'

Conguration et gestion de base dun MTA 8.2


Rsum des concepts importants
MUA, MTA, MDA conguration de base : /etc/mail/*a , /etc/aliases, newaliases, ~/.forward serveurs Postx, exim, sendmail et qmail commandes de base : mailq, sendmail, runq anti-spam : concept de relais ouvert (open relay)

31

Lectures supplmentaires
http://www.flounder.net/qmail/qmail-howto.html
surtout pour sendmail : sendmail.cf, local_host_names (sendmail.cw), relay_domains, mail_access, mailertable, virtusertable, trusted_users &
a

Concepts de base Loutil utilis pour rdiger ou consulter ses mails est un MUA (Mail User Agent : par exemple mail, mailx, mutt, mozilla-thunderbird, evolution). Cet outil lit ses mails via POP, IMAP ou systme de chier local. Il envoie ses mails via SMTP (ou SMSP, rcemment, RFC-2476), ou plus simplement via /usr/sbin/sendmail local (qui correspond toujours une interface compatible au MDA/MTA local install, au moins sur Debian). Sur Internet, les mails sont changs entre MTA (Mail Transfer Agent : par exemple Postx, exim, sendmail, qmail). Le protocole utilis lors de ces changes est SMTP. Les enregistrement de type MX (Mail Exchanger) du DNS sont utiliss pour dterminer les serveurs grant le mail pour un domaine donn ( dfaut : les champs A). Enn, un moment donn, un mail atteint sa destination nale. Un MDA va dlivrer le mail dans la bote-aux-lettres concerne (Mail Delivery Agent, p.ex. une partie du MTA, ou un logiciel spcique comme procmail trs pratique pour le tri des messages dans des botes multiples par exemple ou deliver). La conguration et la gestion dun systme de mail Les aspects gnraux sont : /etc/aliases contient les redirections locales. La commande newaliases cre lindex associ et est donc obligatoire chaque changement. le chier .forward dans un rpertoire dun utilisateur UNIX permet de spcier une ou plusieurs redirections. on peut en gnral obtenir la liste des mails dans la queue avec mailq lenvoi de mail passe en gnral par une interface de compatibilit (/usr/sbin/sendmail)

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Conguration et gestion de base dun MTA

p. 46

Les aspects spciques sont : runq (exim) et postqueue -f servent relancer la queue la conguration de chaque MTA/MDA dans son rpertoire de /etc Exemple de chiers ~/.forward complexe : schaefer@shakotay:~$ cat .forward /home/schaefer/Mail/mail.received, \ "|/usr/bin/procmail /home/schaefer/.procmailrc-MANUAL", \ auto-rt@alphanet.ch Le spam Le but ici est simplement de rappeler quelques concepts de base de lanti-spam : aucun serveur de mail de devrait tre un relais ouvert : un MTA ne doit accepter que les mails dont la destination nale est locale (gre par lui : domaines locaux, aliases, envoi ventuel un serveur interne par SMTP, etc) seule exception : on peut faire relais ouvert pour ses utilisateurs (soit bas sur ladresse IP si cette mthode est sre, soit base sur une authentication SASL par mot de passe) Exemple dun serveur ouvert : (en fait il est ouvert uniquement pour le rseau priv) schaefer@reliant:~$ telnet 192.168.1.1 smtp Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is ^]. 220 shakotay.alphanet.ch ESMTP Postfix (Debian/GNU) HELO abcd 250 shakotay.alphanet.ch MAIL FROM: <whatever@earth.org> 250 Ok RCPT TO: <anyone@truc.org> 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> Subject: test bla . 250 Ok: queued as 30C2B58B01B QUIT 221 Bye Connection closed by foreign host. Mme exemple depuis lextrieur : outside% telnet smtp.alphanet.ch smtp Trying 80.83.54.2... Connected to shakotay.alphanet.ch. Escape character is ^].
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Conguration et gestion de base dun MTA

p. 47

220 shakotay.alphanet.ch ESMTP Postfix (Debian/GNU) HELO abcd 250 shakotay.alphanet.ch MAIL FROM: <whatever@earth.org> 250 Ok RCPT TO: <anyone@truc.org> 554 <anyone@truc.org>: Relay access denied On peut aussi utiliser le service http://www.abuse.net/relay.html pour tester. Autres informations exim http://www.exim.org/howto/relay.html sendmail http://www.akadia.com/services/sendmail_relay.html qmail http://www.palomine.net/qmail/relaying.html

Exercices
1. installez exim, testez que lenvoi de mail et la lecture fonctionnent (p.ex. utiliser mail ou mailx pour envoyer un mail, listez /var/mail, utilisez more ou mail pour lire vos mails) 2. documentez-vous sur la commande sendmail. 3. ajoutez-vous un .forward qui redirige un autre utilisateur. Testez que cela fonctionne. 4. faites de mme via /etc/aliases 5. modiez le type de serveur comme tant capable denvoyer tout Internet, envoyez un mail schaefer@alphanet.ch. Consultez les logs et la queue des mails. Que se passe-t-il ? Supprimez-le de la queue. 6. consultez les chiers de conguration dexim 7. empchez votre voisin denvoyer des mails via votre serveur (ou faites le contraire suivant la conguration par dfaut). 8. mme question pour Postx et sendmail. 9. comment congurez-vous un smart-host (relais par dfaut) avec sendmail ? testez et consultez les logs.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Conguration et gestion de base dApache 2

p. 48

'

Conguration et gestion de base dApache 2 8.3


Rsum des concepts importants
daemon httpda conguration : /etc/apache2/, httpd.conf commandes : apache2ctl (ou apachectl) 32
sous Debian, le nom du daemon est apache ou apache2, et la conguration est rpartie dans divers chiers et rpertoires sous /etc/apache2.
a

&

Conguration dApache 2 de base Une conguration de base dApache 2 : Listen 80 ServerRoot "/etc/apache2" User www-data Group www-data Alias /icons "/usr/share/apache2/icons/" <Directory "/usr/share/apache2/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ErrorDocument 404 /not_found.html AddCharset ISO-8859-1 AddCharset UTF-8 .iso8859-1 .utf8 .latin1

ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory />


c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Conguration et gestion de base dApache 2

p. 49

Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Il faut savoir que les distributions facilient grandement le travail de conguration grce leur prconguration et lorganisation des divers chiers et rpertoires. Les chiers de conguration sont grandement comments et des commandes supplmentaires (p.ex. a2enmod) permettent lajout facilit de modules, etc.

Exercices
1. quelles sont les oprations possibles laide dapache2ctl ? testez-les. 2. faites couter votre serveur WWW sur un port supplmentaire et testez (p.ex. 8080, http: //localhost:8080/) 3. ajoutez le module userdir si ce nest pas encore fait et testez lurl http://localhost/ ~user/ qui doit correspondre ~user/public_html/. 4. quoi sert un chier .htaccess ? 5. quoi peut servir lURL http://localhost/server-status/ ? 6. consultez les logs Apache et expliquez les champs. Pouvez-vous modier le format ?

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Bases de NFS et Samba

p. 50

'

Bases de NFS et Samba 8.4


Rsum des concepts importants
congurations : /etc/exports, /etc/fstab, /etc/smb.conf (ou /etc/samba/smb.conf), commandes : mount, umount autres commandes : showmount, rpcinfo, smbclient, nmblookup, swat LPI ne couvre que les concepts les plus simples

33

Lectures supplmentaires
http://nfs.sourceforge.net/nfs-howto/ http://tldp.org/HOWTO/SMB-HOWTO.html

&

Concepts de NFS NFS (Network File System) est un systme de chiers rseau supportant POSIX dans les grandes lignes. Il a t dvelopp dans les annes 80 par Sun Microsystems et est bas sur le systme RPC (Remote Procedure Call ). Les diffrences principales avec Samba sont les suivantes : protocole plus simple support de la norme POSIX (y compris le verrouillage si congur) montage normalement par le systme (p.ex. un /home distant mont comme /home) pour tous les utilisateurs, p.ex. dans /etc/fstab ou via lautomounter. modle de scurit UNIX (UID, GIDs, ventuellement ACLs), vri sur le client protocole UDP (NFSv4 : supporte TCP galement) pas de chiffrement ni authentication (sauf SecureRPC, scurisation couche IP (p.ex. IPsec, VPN) ou tunnelling en TCP) protocole sans-tat (sauf vt. verrouillage) : le serveur peut redmarrer sans affecter le client abilit : montage soft (erreur) ou hard (comportement ressai inni) charge serveur plus faible quavec Samba De nombreuses amliorations ont t apportes NFS. La version la plus rcente est NFSv4. Dautres systmes de chiers POSIX rseau existent : AFS, codafs, etc, mais NFS est le plus rpandu. Services ncessaires pour NFS Au minimum, il faut que le service portmap soit accessible (lanc et non bloqu via les rgles /etc/hosts.{allow,deny}) : ce daemon gre lattribution dynamique des numros de ports aux services RPC.
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Bases de NFS et Samba

p. 51

On peut tester que ce service fonctionne et quels sont les services RPC qui se sont enregistrs : schaefer@asterix:~$ rpcinfo -p localhost program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100021 1 udp 32773 nlockmgr 100021 3 udp 32773 nlockmgr 100021 4 udp 32773 nlockmgr 100021 1 tcp 32912 nlockmgr 100021 3 tcp 32912 nlockmgr 100021 4 tcp 32912 nlockmgr 100005 1 udp 947 mountd 100005 1 tcp 950 mountd 100005 2 udp 947 mountd 100005 2 tcp 950 mountd 100005 3 udp 947 mountd 100005 3 tcp 950 mountd 100024 1 udp 32774 status 100024 1 tcp 50018 status De plus, un serveur NFS doit tre install et lanc (soit en mode kernel, soit en mode utilisateur le mode kernel est prfr aujourdhui). Exportation de systmes de chiers en NFS De manire pouvoir exporter des systmes de chiers, le daemon rpc.mountd doit tre dmarr. On congurera les systmes de chiers exporter dans /etc/exports. Nimporte quel rpertoire peut en fait tre export. Ensuite, il faut annoncer au serveur rpc.mountd, via la commande exportfs -a, que /etc/exports a t modi. Par exemple : /opt/ltsp/i386 /data /scratch 192.168.0.0/255.255.255.0(ro,no_root_squash) 192.168.0.0/255.255.255.0(rw) 192.168.0.0/255.255.255.0(rw)

On peut tester que lexportation est correcte ainsi : schaefer@asterix:~$ /sbin/showmount -e localhost Export list for localhost: /data 192.168.0.0/255.255.255.0 /scratch 192.168.0.0/255.255.255.0 /opt/ltsp/i386 192.168.0.0/255.255.255.0
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Bases de NFS et Samba

p. 52

Les paramtres dexportation dnissent une liste daccs (adresse IP), la permission maximale (lecture/criture ou lecture seule) et dautres paramtres, comme par exemple la suspension de la translation de laccs root implicite en nobody ou des paramtres de performance. Montage de systmes de chiers NFS On peut monter nimporte quel rpertoire se situant lintrieur dune exportation (ou la racine de celle-ci). mount serveur:/chemin /mount/point/local # -t nfs implicite Le dmontage se fait p.ex. avec umount /mount/point/local On peut spcier un montage directement dans /etc/fstab. Les options de montage sont diverses : citons p.ex. loption soft, qui permet de retourner une erreur en cas dinaccessibilit du serveur plutt que dattendre indniment. Concepts de Samba Samba est une implmentation libre du protocole Lan Manager SMB, sous forme de deux daemons : smbd (gre les connexions, lauthentication et les transferts de donnes) et nmbd (serveur de nom spcique SMB). Les versions modernes de Samba implmentent en fait CIFS (Common Internet File System), en prsentant diverses interfaces suivant la version du client. Limplmentation Samba ne supporte que TCP/IP (ce qui est galement le cas recommand aujourdhui sous Microsoft). Ce qui est important pour Samba : le serveur porte un ou plusieurs nom et rpond en TCP/IP une ou plusieurs adresses sur des ports standards (smbd : TCP 139, 445 ; nmbd : UDP 137, 138) un service de nom (travaillant par broadcast ou via un protocole spcial appel WINS) permet de trouver ladresse IP en connaissant son nom \\NOM-SERVEUR un ou plusieurs partages sont accessibles \\NOM-SERVEUR\PARTAGE (avec quelques cas spciaux) un client sidentie la connexion en choisissant plusieurs modes possibles (pour Samba, en gnral cela signie un utilisateur et un mot de passe) mode share : authentication ancienne par partage mode user : authentication usuelle (utilisateur/mot de passe) mode domain : comme user, mais un serveur distant les droits daccs sappliquent comme si lutilisateur stait connect sous UNIX (UID, GID principal et secondaires), y compris les ACLs si dsir il est possible de forcer des droits daccs plus ou moins restrictifs que les droits dUNIX pour grer des cas particuliers Il ny a pas vraiment de diffrence fondamentale entre un serveur de domaine ou un serveur de workgroup Samba. La diffrence vient surtout dans la faon dont on y intgre les clients.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Bases de NFS et Samba

p. 53

Debugging Samba Trois outils sont trs pratiques : smbclient, nmblookup et smbstatus : schaefer@asterix:~$ smbclient -L localhost Password: Anonymous login successful Domain=[ENTERPRISE] OS=[Unix] Server=[Samba 3.0.24] Sharename --------IPC$ fax scratch data brother Server --------CLIENT1 CLIENT2 Workgroup --------ENTERPRISE WORKGROUP Type ---IPC Printer Disk Disk Printer

Comment ------IPC Service (asterix server (Samba 3.0. Fax Printer Temporary Files Enterprise data

Comment -------

Master ------ASTERIX MAC000A95CECF4C

schaefer@asterix:~$ nmblookup asterix querying asterix on 192.168.0.255 192.168.0.6 asterix<00> schaefer@asterix:~$ nmblookup MAC000A95CECF4C querying MAC000A95CECF4C on 192.168.0.255 192.168.0.247 MAC000A95CECF4C<00> schaefer@asterix:~$ smbclient \\asterix\scratch Password: Domain=[ASTERIX] OS=[Unix] Server=[Samba 3.0.24] smb: \> dir . DH 0 .. DH 0 tmp D 0 lost+found D 0 -U schaefer

Fri Tue Tue Fri

Jan 21 11:20:59 200 Nov 27 23:27:43 200 Sep 11 07:49:40 200 Jun 6 13:31:44 200

50396 blocks of size 2097152. 18899 blocks available smb: \> cd tmp smb: \tmp\> put /etc/motd bla putting file /etc/motd as \tmp\bla (18.1 kb/s) (average 18.1 kb/s) smb: \tmp\> del bla smb: \tmp\> quit

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Bases de NFS et Samba

p. 54

Exercices
1. vriez que vous avez les outils ncessaires pour NFS 2. exportez votre /home et vriez 3. montez un systme de chier export par votre voisin. Pouvez-vous effectuer des modications lintrieur sous root ? Quel est le problme et comment le corriger ? Pouvez-vous vous faire passer pour un utilisateur valide ? 4. congurez ce montage dans /etc/fstab et redmarrez 5. installez Samba, utilisez smbclient pour dterminer les services disponibles 6. congurez votre mot de passe avec smbpasswd -a UTILISATEUR 7. en utilisant les exemples dans /etc/samba/smb.conf, ajoutez un nouveau partage (p.ex. /tmp) et testez la connexion (dabord anonyme : public=yes puis non) (indication : un /etc/init.d/samba reload est ncessaire) 8. copiez /etc/samba/smb.conf, puis laide de loutil SWAT congurez Samba en mode graphique. Comparez enn les modications effectues (p.ex. avec diff) 9. congurez votre nmblookup pour utiliser le daemon de votre voisin. Testez avec loutil nmblookup. (indication : un /etc/init.d/samba restart est ncessaire. 10. comment fonctionne le partage des imprimantes ? 11. comment accder son rpertoire personnel via Samba ?

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 8: Services rseau Bases du DNS

p. 55

'

Bases du DNS 8.5


Rsum des concepts importants
conguration : /etc/hosts, /etc/resolv.conf, /etc/nsswitch.conf, /etc/named.conf a daemon : named outils : host, dig et whois (voire nslookup) dlgation, enregistrement, cache et forwarder
a

34

En gnral /etc/bind/named.conf

&

Exercices
1. expliquez ce quil se passe quand jessaie de rsoudre www.alphanet.ch (en supposant quil ny a pas de cache ni de forwarder) dans le cas gnral 2. copiez la conguration actuelle du client de rsolution (le resolver) 3. installez un serveur bind9 et assurez-vous quil est bien utilis par votre systme 4. une optimisation courante est de congurer un forwarder 1 sur un serveur de nom : un autre serveur qui sera utilis (plutt que deffectuer la rsolution via larborescence) pour rpondre aux questions dont les rponses ne sont pas encore caches localement. Congurez de prfrrence celui que vous aviez sauvegard et testez. 5. crez une zone test.ch en utilisant les exemples dans /etc/bind et testez 6. crez une zone de rsolution inverse pour le sous-rseau 192.168.100.0/24 et testez 7. expliquez ce que vous devriez faire pour enregistrer, activer et utiliser un nouveau nom de domaine sous ch. 8. expliquez la diffrence entre allow-query et allow-recursion.

en pratique : souvent les DNS du FAI, sils sont ables !


Disponible sous licence GFDL, invariant: les 2 premires pages

c 2008 CRIL - Marc SCHAEFER

LPI-102

Chapitre 8: Services rseau SSH

p. 56

'

SSH 8.6
Rsum des concepts importants
conguration : /etc/hosts.allow, /etc/hosts.deny, /etc/ssh/sshd_config, /etc/ssh_known_hosts (ou dans /etc/ssh/), /etc/sshrc (ou dans /etc/ssh/ fonctions spciales : /etc/nologin daemon : sshd commandes : ssh-keygen concept : cl publique/prive

35

&

Exercices
1. installez sshd si ce nest pas dj fait (indication : telnet localhost 22) 2. effectuez la manipulation suivante pour pouvoir vous connecter de votre utilisateur un autre utilisateur sans mot de passe : (a) sous votre utilisateur, gnrez un couple de cl prive et publique : ssh-keygen -t dsa (sans spcier de passphrase) (b) sauvez ces cls normalement (usuellement ~/.ssh/id_dsa pour la cl prive (garder secrte ! !) et .pub pour la cl publique (qui peut tre visionne (texte encod) ou copie ailleurs) consultez les permissions respectives de ces chiers (c) transfrez, p.ex. avec scp la cl publique dans ~autre-utilisateur/.ssh/authorized_keys (d) vriez que vous pouvez vous connecter sans mot de passe (indication : ssh -v permet davoir plus dinformations) 3. ajoutez une passphrase votre cl prive et tentez nouveau de vous connecter : la passphrase doit vous tre demande 4. vriez quun ssh-agent tourne sous votre utilisateur 5. ajoutez la passphrase lagent via ssh-add et vriez que vous pouvez vous connecter sans r-entrer la passphrase

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 9: Scurit p. 57

'

9. Scurit
Contenu du chapitre
tches dadministration concernant la scurit (revue, politiques, application, vrication (journaux p.ex.)) 36

Buts du chapitre
savoir dterminer une politique de scurit, vrier la conguration du systme, appliquer des politiques restrictives, auditer les rsultats support de cours additionnel : cours Scurit, Administration

& Ce chapitre traite de quelques tches dadministration de scurisation de base.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 9: Scurit Tches administratives de scurit

p. 58

'

Tches administratives de scurit 9.1


Rsum des concepts importants
tcpwrappers : /etc/hosts.{deny,allow} utiliser find pour trouver des chiers SUID/SGID grer les mots de passe (mettre, changer, modier les paramtres) savoir quoi mettre jour (selon la distribution, CERT, BUGTRAQ, etc) connatre quelques notions de base du rewall : iptables trouver les ports ouverts sur une machine : nmap, netstat auditer les packages /proc/sys/net/ipv4/ip_*, socket(7)

37

Lectures supplmentaires
http://www.debian.org/doc/manuals/securing-debian-howto/
&

Exercices
1. trouvez les chiers qui ont le bit SUID ou SGID mis, ou qui nappartiennent aucun utilisateur, ou qui sont modiables par nimporte qui 2. quel sont les rle respectifs des packages : debsums, integrit, nessus et logcheck ? 3. vous lisez sur la liste BUGTRAQ quune vulnrabilit a t trouve sur le plugin GPG pour Squirrelmail. Vous avez ce package install depuis Debian etch standard mais ne savez pas si Debian a fait le travail. (http://cve.mitre.org/cgi-bin/cvename.cgi?name= CVE-2005-1924). Est-ce que cette vulnrabilit a t corrige dans Debian ? Comment savoir ? (indications : http://www.securityfocus.com/, http://security.debian. org/, http://www.cert.org/, http://cve.mitre.org/) 4. utilisez loutil nmap pour dterminer les ports ouverts sur la machine de votre voisin 5. votre serveur de mail est assailli par un autre serveur (une seule adresse IP). Proposez une solution (avec le rewall de Linux) pour bloquer le trac SMTP en provenance de cette adresse. Que faire pour la supprimer ? (indication : http://www.brandonhutchinson.com/ iptables_fw.html) 6. installez loutil nessus et testez quelques vulnrabilits. Avez-vous des fausses alarmes ? si oui, pourquoi ?

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 9: Scurit Scurisation de la machine

p. 59

'

Scurisation de la machine 9.2


Rsum des concepts importants
conguration : /etc/xinetd.d/*, /etc/xinetd.conf, /etc/inetd.d/*, /etc/inetd.conf, /etc/nologin, /etc/passwd, /etc/shadow, /etc/syslog.conf 38

&

Exercices
1. faites en sorte que les mail pour root aille une adresse donne (NB : cest normalement dj le cas dans Debian, mais changez lalias) 2. assurez-vous que les mots de passe sont gr via /etc/shadow. Documentez-vous sur la commande pwconv. 3. dcongurez tous les services rseau inutiles (aidez-vous de netstat -anp --listen) 4. y-a-t-il des comptes sans mot de passe ? 5. comment feriez-vous pour crer des comptes UNIX qui nautoriseraient pas de connexion SSH ? 6. pour quelle raison les erreurs dauthentication ne sont pas loggues dans /var/log/syslog ou /var/log/messages mais dans un chier spar ? Adaptez les permissions sur ce chier si ncessaire (ainsi que la conguration logrotate).

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 9: Scurit Restrictions des utilisateur et processus

p. 60

'

Restrictions des utilisateur et processus 9.3


Rsum des concepts importants
savoir congurer des limites : ulimit commandes : quota, usermod 39

&

Exercices
1. documentez-vous sur le module PAM pam_limits (p.ex. : http://www.kernel.org/ pub/linux/libs/pam/Linux-PAM-html/sag-pam_limits.html) ainsi que sur le chier /etc/security/limits.conf. Limitez le nombre de processus 5 pour un utilisateur et testez. O peut-on galement congurer des limites sans utiliser PAM ? 2. donnez quelques exemples dutilisation de la commande ulimit (indication : commande interne !) 3. quelle est la diffrence entre les limites soft et hard de ulimit ?

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 61

10. Corrig des exercices


Kernel
Gestion des modules 1. uname -r ; /lib/modules/$(uname -r)/ 2. Il faut dcharger tous les modules qui utilisent ce module (ils sont lists droite), et vrier ensuite que le compteur est zro. Sinon cela signie quil y a des applications qui utilisent le priphrique (p.ex. utiliser fuser /dev/lp0), ou le kernel (p.ex. dans le cas dun montage et dun pilote de systme de chiers). 3. modinfo -p lp1 ; modprobe lp parport=0x378 ; echo >> /etc/modprobe.d/options options lp parport=0x378 4. depmod -a 5. lsmod | grep ipv6 ; changer ipv6 en off dans /etc/modprobe.d/aliases 6. echo >> /etc/modprobe.d/aliases alias bla plip Conguration, compilation et installation dun kernel 1. manipulation simple 2. les variables de conguration pour la compilation du kernel, telles que gnres par les interfaces de conguration du kernel comme p.ex. make config. Les sous-systmes sont activs avec Y ou M (en module), et dsactivs avec N. Dautres valeurs sont possibles pour des congurations spciques. Vous devriez lancer make oldconfig, au minimum. 3. intgrer tous les pilotes ncessaires au dmarrage et montage des systmes de chiers (pas comme modules : avec Y, pas M). 4. arch/i386/boot/bzImage (kernel), .config (conguration), System.map (liste des fonctions et adresses kernel), vt. les modules copier dans /lib/modules/kernel-version/ 5. plus gr par le packaging, peut tre cras en cas de mise jour, ncessite de modier la conguration de GRUB ou LILO manuellement. 6. cration dun package Debian binaire installable (pas aussi bon quun package cr via make-kpkg), dun package RPM source et dun package RPM binaire.

Dmarrage, initialisation, arrt et niveaux dexcution


Dmarrer le systme 1. Cette option limitera la mmoire disponible (on verra la dtection mmoire assez tt dans le log dmesg). Loption noapic quant elle supprimera la gestion dinterruption avance. On ne verra que les 15 niveau dinterruption classiques. loption -p a disparu dans les versions rcentes : elle permettait de ne voir que les paramtres du module.
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 62

2.

(a) spcier un autre / qui sera mont par le kernel (utile p.ex. avec un CD de dmarrage) (b) passage en mode mono-utilisateur (single-user mode), un mode de maintenance qui sera dtaill dans le sous-chapitre suivant. (c) /var/log/messages2 (d) Sil y a trop de messages, la gestion de tampon circulaire crasera les premires informations avant mme quelles puissent tre sauvegardes. Loption log_buf_len=100k permet de passer ce buffer 100 kilo-octets.

Changement des niveaux dexcution 1. shutdown -r 15 mise a jour du kernel ; CTRLC ou shutdown -c 2. il interdit la connexion aux non-superutilisateurs. Peut tre cr manuellement ou automatiquement pendant le dmarrage ou lors dun shutdown 5 minutes avant le shutdown effectif. Plus de dtail : shutdown(8) 3. runlevel (sortie : prcdent actuel) 4. telinit 1 (ou init 1) ; ps auxw 5. telinit 6 respectivement telinit 0 6. echo message | wall 7. modication de /etc/inittab (entre initdefault) 8. telinit q (ou init q)

Impression
Grer les imprimantes et les queues dimpression 1. grep print /etc/services ou netstat -anp | grep lp : 515/TCP 2. PostScript ; on utilise un ltre PostScript vers le format de limprimante (avec ghostscript, gimp-print, ou les ltres de CUPS) 3. Il nest pas ncessaire dinstaller les ltres dimpression sur les clients ni de pilotes spciques aux imprimantes (on peut le faire si ncessaire) Installation et conguration dimprimantes 1. manipulations et observations ; lpc status 2. lpc disable lp ; lpc status ; lpc enable lp ; lpc help ; lpc topq JOB 3. les chiers modis sont : /etc/cups/printers.conf, /etc/cups/ppd/NOM.ppd (find /etc/cups/ -mmin -5) et /var/run/cups/printcap3 4. manipulation simple. cupsdisable 5. accepte ou non les travaux dimpression sur une queue 6. /etc/cups/cupsd.conf : Browsing Off (ne pas oublier de recharger la cong de CUPS)
2 3

Aussi /var/log/syslog. en tous cas sous etch, /etc/printcap nest plus maintenu, voir une autre question plus bas.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 63

7. /etc/cups/cupsd.conf : section (ditto) 8. /etc/cups/cupsd.conf <Location /> Order Allow,Deny Allow from 192.168.1.0/24 Deny from All </Location> (ditto) 9. le plus simple : ln -s /var/run/cups/printcap /etc/printcap (alternative : modier cupsd.conf) 10. lpadmin -p impr1 -E -v parallel:/dev/lp0 -m laserjet.ppd lpadmin -x impr1 11. package cupsys-bsd, lire cups-lpd(8) (conguration via xinetd ou inetd) Imprimer des chiers 1. les ns de lignes UNIX (linefeed, LF, ASCII 10) provoquent un escalier limpression (NB : uniquement si limprimante supporte encore limpression texte simple, ce qui nest pas gagn). Les accents ventuels ne sont pas bien imprims. (solution : ajouter un ltre qui ajoute des carriage return, CR, ASCII 13, et qui transcode les caractres en CP-437 ou passer par le format PostScript, PCL5 ou bitmap de limprimante) 2. a2ps -o /tmp/a.ps /etc/motd a2ps -1 -Pimprimante /etc/motd 3. lpr /tmp/a.ps lpq -Pimprimante lprm -Pimprimante NUMERO_JOB

Documentation
Utiliser et grer la documentation locale systme 1. 1, 8, 4, 5, 7, 6 2. apropos network (ou man -k network) 3. apropos crontab man 5 crontab man 1 crontab 4. whatis commande 5. les documentations des programmes installs4 6. export MANPATH=~/man:5 man -M ~/man tar (voir aussi loption -l ~/man/man1/tar.1.gz) sous Debian, chaque rpertoire correspond un package et contient divers chiers obligatoires, voire une documentation plus tendue, qui peut aussi rsider dans un package nomm NOM-doc. 5 le : nal permet de chercher ensuite dans le systme galement, si pas trouv, voir /etc/manpath.config
c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 64

7. man -Tps intro > a-imprimer.ps6 8. man : format standard UNIX ; GNU Info : plutt FSF/Projet GNU. En gnral, GNU Info va plus en profondeur que man et contient parfois de petits tutoriaux. Trouver de la documentation sur Internet 1. p.ex. Thunderbird, ou plus simple : tin. On peut aussi lire les news archives sur Internet via Google groups 2. manipulation simple 3. manipulation simple 4. http://www.tldp.org/HOWTO/Man-Page/index.html Notier les utilisateurs 1. un texte afch sur une des consoles textes locales, sries (aussi modem) ; respectivement par rseau (via telnet ou rlogin), usuellement identie le systme sur lequel on se connecte 2. un texte afch au login (y compris ssh) 3. une commande qui permet dafcher un message sur tous les terminaux textes des utilisateurs (employe notamment par shutdown) 4. un chier qui, sil existe, sera afch juste avant de refuser le login aux utilisateurs non root (employ notamment lors du dmarrage du systme ainsi que par shutdown dans les dernires 5 minutes)

Scripts et programmation shell


Personnaliser et utiliser lenvironnement 1. section INVOCATION de la manpage de bash, il y a 2 cas possibles : shell de login /etc/profile est sourc ; ensuite le premier chier existant et lisible dans la liste qui suit est lu : ~/.bash_profile, ~/.bash_login et ~/.profile ; lorsque le shell quitte, ~/.bash_logout est sourc nouveau sous-shell interactif /etc/bash.bashrc et ~/.bashrc Il y a encore le cas de shells non interactifs (lancement de scripts) qui est spcial. ~/.profile est aussi sourc en mode compatibilit sh. 2. congurer libreadline (entre dune ligne au clavier dans bash et ailleurs) 3. export PATH=${PATH}:~/scripts 4. echo >> .bashrc export PATH=${PATH}:~/scripts (les apostrophes sont ncessaires, sinon le ${PATH} risque dtre tendu au mauvais moment) 5. (a) sans export, sera disponible pour le shell (et donc les commandes internes), mais pas aux futurs sous-shells ou aux commandes externes7 . (b) cest quivalent la forme courte export var=a
6 7

investiguer aussi groff -Tps -man tar.1 par convention, on nomme souvent les variables exportes en majuscules, ce qui nest pas le cas

ici
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 65

(c) unset var 6. -e : quitter au premier rsultat non zro -v : voir les commandes excutes. vous pouvez utiliser bash -v nom-du-script 7. #! /bin/bash function compresseur { if [ -f $1 ]; then case $1 in *.gz) ;; *) gzip -9 $1;; esac fi } compresseur /tmp/bla1 compresseur /tmp/truc.gz Adapter ou crire des scripts 1. #! /bin/bash function compresseur { if [ -f $1 ]; then case $1 in *.gz) return 1;; *) gzip -9 $1 && return 0 return 2;; esac else return 2 fi } compresseur /tmp/bla1; echo $? compresseur /tmp/truc.gz; echo $? 2. #! /bin/bash function compresseur { local i for i do if [ -f $i ]; then case $i in *.gz) ;; *) gzip -9 $i;; esac fi
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 66

done } compresseur /tmp/bla1 /tmp/truc.gz 3. 4. (a) la ligne she-bang, du style : #! /bin/bash pour choisir linterprte (b) la permission dexcution : chmod ux un-script+ (a) cp ~testuser/.bashrc schaefer+ (b) chown schaefer:schaefer ~schaefer/.bashrc (c) chmod 700 ~schaefer/.bashrc (ou moins restrictif, comme 755) 5. touch date --iso-86018 6. [ -f /tmp/flag ] && [ ! -s /tmp/flag ] && echo "test" | mail root 7. if [ "$DISPLAY" = "" ]; then DISPLAY=hostname:0; fi 8. /usr/local/bin 9. for i in seq 10 -1 1; do echo $i; done i=10; while [ $i -gt 0 ]; do echo $i; i=$(($i - 1)); done 10. fsck /tmp/blah case $? in 0) echo "Pas derreur";; 1) echo "Petites erreurs corriges";; 2) echo "Vous devriez rebooter";; *) echo "Pas eu envie de traiter ces cas";; esac

11. non, il faut alors utiliser un wrapper, en Perl, C, ou, plus simple, congurer sudo.

Administration
Gestion des comptes 1. voir les exercices et solutions du cours Administration 2. /etc/passwd doit tre lisible par tous pour que les commandes comme ls puissent convertir lUID en nom ; /etc/shadow contient les mots de passe hashs et ne devrait pas tre accessible autrement qu root (p.ex. commande passwd SUID), ou ventuellement en lecture un groupe spcique pour vrications. 3. chage -E 0 demo. On peut limiter un compte en dure de validit. 4. oui, ajouter le groupe lutilisateur (p.ex. usermod -G groupe1,groupe2,...,groupeN, o groupeN est le nouveau groupe ajouter et les autres sont les groupes maintenir 5. passwd -L demo, passwd -U demo Prconguration de lenvironnement 1. manipulation simple ; option -m de useradd pour copier depuis /etc/skel. Utiliser loption -k pour spcier un autre rpertoire skel pour implmenter des classes dutilisateurs. 2. manipulation simple
8

avec bash on peut remplacer les backticks par $()


Disponible sous licence GFDL, invariant: les 2 premires pages

c 2008 CRIL - Marc SCHAEFER

LPI-102

Chapitre 10: Corrig des exercices p. 67

Conguration et gestion des journaux 1. client : echo "*.* @serveur" > /etc/syslog.conf serveur : option -r au dmarrage 2. echo "auth.=debug /dev/tty8" >> /etc/syslog.conf 3. supprime le fsync(2) implicite chaque log : cela augmente les performances mais ne garantit plus la prsence des derniers logs sur le disque en cas de crash. 4. conguration de base : /etc/logrotate.conf, avec ventuellement un rpertoire /etc/logrotate.d. On y spcie la frquence de dplacement des logs et les paramtres de compression, voire des scripts lancer avant ou aprs le dplacement des logs, les permissions et le nombre de copies qui sont maintenues. logrotate est lanc depuis /etc/cron.daily/logrotate 5. les facilits entires auth et authpriv vont dans auth.log ; tout va dans syslog sauf tout auth et authpriv Travaux excuts automatiquement 1. atd : gre les travaux excuter une fois en mode batch (p.ex. en respectant une charge maximum de la machine) ; cron : les travaux excuter rgulirement (p.ex. chaque heure, chaque 1er jour du mois, etc) 2. lancer des travaux journaliers, hebdomadaires ou mensuels la premire occasion. Sert principalement sur des machines qui ne sont pas enclenches 24h/24 et 7j/7 (p.ex. des postes clients) 3. priodicit (jours) ; dlai aprs le boot (minutes) ; identication ; script 4. echo echo "test" | /usr/bin/mail root | at now 5 min+ atq atrm NUMERO 5. /var/spool/cron/crontabs/root (via crontab -e), /etc/crontab, /etc/cron.d/*, /etc/cron.{daily,weekly,monthly}/* 6. la colonne utilisateur est implicite 7. echo >> /etc/at.deny "demo" (uniquement si /etc/at.deny nexiste pas) 8. aucun utilisateur (sauf root) ne sera autoris Maintenir une sauvegarde fonctionnelle 1. dd if=/dev/hda1 of=/tmp/un_fichier 2. utilis en conjonction avec le chier /var/lib/dumpdates et loption -W de dump, il permet dindiquer automatiquement quels systmes de chiers devraient tre sauvegards et quel niveau. 3. chattr +d /tmp ; fonctionne galement pour les sauvegardes compltes dump si -h 0 est spci. 4. dump 0nf /dev/nst0 /home restore rf /dev/nst0 5. permet de faire plus rarement des sauvegardes de niveau 1, car chaque chier sauvegard est au moins sauv deux fois, statistiquement.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 68

6. tar -czf /tmp/bla.tar.gz /etc (cd /tmp && tar -xzf /tmp/bla.tar.gz find . -type f -print | cpio -o > /tmp/bla.cpio cpio -imBmdu < /tmp/bla.cpio 7. oui, tar peut utiliser un chier dtat (pas ncessaire de le sauvegarder) pour implmenter des niveaux > 0, via loption --listed-incremental. cpio peut tre associ, grce nd, un chier tmoin. tar peut galement travailler par ce biais. 8. option -C de restore. Option --compare de tar Grer le temps systme 1. nous avons ainsi recongur la notion de fuseau horaire pour cette commande seulement 2. il se peut que certains programmes aient de la peine (p.ex. screen saver, cron, etc). On verra quau dmarrage, la modication nest pas prise en compte9 . 3. /etc/timezone : nom textuel de la zone /etc/localtime : lien symbolique la zone en format compil zic : contient des indications de changement dheure dt et dhiver, des directives spciales (p.ex. la leap second servant compenser le ralentissement de la Terre), le tout sur plusieurs annes : zdump -v /etc/localtime Sun Mar 29 01:00:00 1981 UTC = Sun Mar 29 03:00:00 1981 CEST isdst=1 gmtoff=7200 Sun Sep 27 00:59:59 1981 UTC = Sun Sep 27 02:59:59 1981 CEST isdst=1 gmtoff=7200 [ ... ] Sun Mar 31 01:00:00 1996 UTC = Sun Mar 31 03:00:00 1996 CEST isdst=1 gmtoff=7200 Sun Oct 27 01:00:00 1996 UTC = Sun Oct 27 02:00:00 1996 CET isdst=0 gmtoff=3600 4. UTC=no. Notons que la "mthode Microsoft" ne permet plus, par la suite, didentier de manire univoque lheure de cration dun chier dans tous les cas (que cela soit sous Microsoft ou sous GNU/Linux) 5. manipulation simple 6. apt-get install ntp-simple (trop facile !) 7. $ grep -l hwclock /etc/rc?.d/* /etc/init.d/* /etc/rc0.d/K25hwclock.sh /etc/rc6.d/K25hwclock.sh /etc/rcS.d/S20checkroot.sh /etc/rcS.d/S50hwclock.sh /etc/init.d/checkroot.sh /etc/init.d/hwclock.sh

Bases du rseau
Rappels sur TCP/IP
9

sauf hwclock -w -u dans un des chiers de /etc/rc6.d ...


Disponible sous licence GFDL, invariant: les 2 premires pages

c 2008 CRIL - Marc SCHAEFER

LPI-102

Chapitre 10: Corrig des exercices p. 69

1. 32 bits. Sous forme dun quadruplet (4 x 8 bits), p.ex. 157.26.173.31 2. CIDR : 193.72.186.0/24, do netmask 255.255.255.0 3. 80.83.54.61 : classe A (0-127). netmask 224 (256 - 32, soit 5 bits de libert, donc CIDR 80.83.54.32/27), donc sous-rseau 80.83.54.32, broadcast 80.83.54.63. 4. /26 correspond (32 26 == 26 ), donc netmask 255.255.255.192. Ladresse sous-rseau est donc 192.168.1.0, le broadcast 192.168.1.63 5. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. Le routeur devrait jeter ces datagrammes sils sortent dun rseau priv et ne pas en accepter de lextrieur. 6. spcier une route qui sera utilise en dernier recours. En gnral pointera sur le routeur du sous-rseau. 7. route add 192.168.100.A dev eth0 (ou route add -net 192.168.100.0/24 dev eth0 p.ex.) 8. manipulation simple 9. host -t aaaa domreg.nic.ch 10. dig -t axfr alphanet.ch @ns1.ecoweb.ch 11. ftp couche protocoles 12. 4 TCP et UDP 3 IP (et ICMP) 13. grep NUMERO-DE-PORT /etc/services 14. remplacer lentre ipv6 off dans /etc/modprobe.d/aliases Conguration et dtermination de problmes 1. killall dhcpcd (ou pump, etc, cf ps (ou encore ifdown eth0)) 2. manipulation simple 3. (a) problme DNS, vrier /etc/resolv.conf (b) vrier les routes, notamment la route par dfaut, ou un rewall ventuel 4. ifcong travaille en bas-niveau sans tenir compte de la conguration effectue (p.ex. Debian dans /etc/network/interfaces) 5. route add 192.168.42.35 dev eth0 (si pas dj dans les routes) route add -net 192.168.100.0/24 gw 192.168.42.35 6. la commande ne change que ltat du kernel, au prochain dmarrage la modication sera perdue 7. certains programmes (p.ex. Apache) ont besoin dun nom correct en rsolvant ladresse IP (vers le nom) sur chaque interface active. Les aliases sont ajouts en colonnes supplmentaires. Sur un rseau, le DNS est prfr. 8. domainname concerne le domaine NIS. 9. netstat -pan 10. echo enterprise-net 192.168.100.0 >> /etc/networks 11. host.conf : conguration de lordre de rsolution entre /etc/hosts, DNS et NIS. nsswitch.conf : conguration de lendroit o certaines bases de donnes (/etc/passwd, etc) sont stockes (chiers dans /etc, bases de donnes NIS, LDAP, etc) 12. /etc/init.d/networking (p.ex.) 13. tcpdump ou strace
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 70

Services rseau
Super-serveur inetd/xinetd 1. manipulation simple 2. echo "service-simple: 1.2.3.4" >> /etc/hosts.deny la connexion souvre et se ferme tout de suite 3. update-inetd (plutt que de toucher le chier directement) 4. echo ma-redirection 2222/tcp >> /etc/services cat > /etc/xinetd.d/redirect-demo <<EOF service ma-redirection { socket_type = stream wait = no redirect = localhost 22 user = nobody } EOF 5. avec xinetd instances= : nombre dinstances dun service nice= : priorit per_source= : nombre dinstances par adresse IP cps= : connexions/secondes et dure darrt max_load= : charge systme maximum 6. ds le moment o le service est trs souvent accd ou a sa propre gestion, il vaut mieux quil soit en mode indpendant 7. stream est pour le type de socket(7) format un ux de donnes en mode connect (p.ex. TCP) alors que dgram sutilise dans le cas de datagrammes isols (p.ex. UDP). Conguration et gestion de base dun MTA 1. manipulation simple 2. exemple : ls -1 | sendmail -oi schaefer 3. echo autre-utilisateur > ~/.forward 4. echo utilisateur: autre-utilisateur >> /etc/aliases newaliases 5. il est trs possible que mon serveur refuse votre message pendant quelques minutes pour des raisons danti-spam. 6. manipulation simple 7. exim : par dfaut le relaying est interdit, du moins sous Debian. Les variables concernes sont gres par debconf, visibles dans /etc/exim4/update-exim4.conf.conf et modiables via dpkg-reconfigure exim4-config. Alternativement, dans le chier /etc/exim4/exim4.conf.template, on peut trouver les variables suivantes qui ont un rapport avec le relaying : MAIN_LOCAL_DOMAINS (domaines locaux) MAIN_RELAY_TO_DOMAINS (domaines relays)
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 71

MAIN_RELAY_NETS (autorisation par adresses IP) 8. Postx : /etc/postfix/main.cf mydestination (domaines locaux) relay_domains (domaines relays) mynetworks (autorisation par adresses IP) sendmail /etc/mail/access (autorisations par adresses IP ou noms) (ncessite une regnration des maps via makemap) 9. entre DSsmtp.fai.ch du chier /etc/sendmail.cf Conguration et gestion de base dApache 2 1. dmarrer, arrter, voir ltat, tester la conguration avant de lactiver 2. ajouter Listen 8080 et recharger (/etc/init.d/apache2 reload ou via apache2ctl) 3. a2enmod userdir puis recharger 4. congurer des restrictions daccs par rpertoire, p.ex. des mots de passe ou des excutions particulires 5. voir par exemple http://httpd.apache.org/docs/2.0/mod/mod_log_config. html Bases de NFS et Samba 1. manipulation simple 2. echo "/home 157.26.173.0/255.255.255.0(rw)" >> /etc/exports exportfs -v -a showmount -e localhost 3. mount adresse-ip-voisin:/home /mnt non, les droits du root local sont transforms en droits de nobody sur le serveur NFS (sauf si loption dexportation no_root_squash est active) oui, il est possible de faire un simple su utilisateur en tant que root sur le client pour avoir accs aux chiers de lutilisateur. 4. echo "adresse-ip-voisin:/home /mnt nfs defaults 0 0" >> /etc/fstab 5. smbclient -L localhost (RETURN la question du mot de passe) 6. manipulation simple 7. par exemple [public] comment = Test writable = yes public = yes ; puis no path = /tmp 8. manipulation simple 9. wins server = 1.2.3.4 10. chargement automatique dune conguration LPR/BSD/CUPS, partage ventuel spcial print$ (o sont stocks des pilotes Windows ventuels), partage printers avec gnration des noms automatiques 11. \\SERVEUR\NOM ou \\SERVEUR\HOMES
c 2008 CRIL - Marc SCHAEFER Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 72

Bases du DNS 1. le resolver consulte /etc/host.conf pour dterminer si /etc/hosts doit tre consult dabord, puis ventuellement /etc/nsswitch.conf pour voir si ce chier est en fait une base de donnes rseau NIS ou autre. En cas dchec, on consulte /etc/resolv.conf et on essaie en squence les serveurs de noms (nameserver) qui y sont congurs. Ces serveurs de noms, sils sont sympathiques (recurse) vont se charger de la rsolution entire. Sinon, ils vont simplement donner un pointeur et cest le client qui devrait faire les tapes. Ces tapes consistent tout dabord obtenir le serveur qui gre la racine du DNS (.). Ils sont en gnral congurs en dur (p.ex. /etc/bind/db.root). On en choisit un. On lui demande de rsoudre www.alphanet.ch. En gnral, il ne rpondra que "o est ch.". On contacte alors le NS de ch., qui nous donne le NS de alphanet.ch : on continue jusqu la rponse (type A). 2. manipulation simple 3. apt-get install bind9 cat /etc/resolv.conf 4. mettre forwarders { 1.2.3.4; 5.6.7.8; } dans /etc/bind/named.conf.options (p.ex.) 5. dans /etc/bind/test.ch.zone (p.ex.) : $TTL 86400 @ IN SOA ns1 postmaster.test.ch. ( 2007081801 ; serial number 18000 ; refresh 3600 ; retry 604800 ; expire 43200 ) ; minimum TTL @ IN NS ns1 ; ns1.test.ch @ IN NS ns1.imp.ch. ; externe @ www ns1 smtp IN IN IN IN MX 10 A A A smtp 1.2.3.4 4.5.6.7 8.9.0.1

ne pas oublier de charger la zone, p.ex. dans /etc/bind/named.conf.local zone "test.ch.ch" { type master; file "/etc/bind/test.ch.zone"; };

puis de recharger (vt. utiliser named-checkconf ou named-checkzone avant). 6. voir par exemple /etc/bind/db.127 7. il vous faut deux serveurs de noms enregistrs chez NIC/CH (en particulier sils rsident dans le nouveau domaine), qui rpondent la mme chose (p.ex. congurer le 2e en secondaire, qui tlcharge de temps en temps la zone du primaire)

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 73

8. allow-query : dnir quels clients peuvent faire des requtes. allow-recursion : dnir quels clients peuvent charger le serveur DNS de chercher une rponse qui nest ni disponible localement (authoritative) ni dans le cache. Les autres se verront rfrer simplement un serveur de larborescence de recherche. SSH 1. 2. 3. 4. 5.

apt-get install ssh manipulation simple ssh-keygen -p manipulation simple manipulation simple

Scurit

Tches administratives de scurit 1. find / -type f \( -perm +6000 -o -nouser -o -nogroup -o -perm -2 \) (on pourrait avoir envie de vrier les rpertoires inscriptibles galement via un type d) 2. vrier les md5sums des chiers installs en package. crer une base de donnes de chiers (aussi donnes ou logiciels installs localement, congurations, etc si dsir) n de vrication automatique. trouver des vulnrabilits automatiquement. rsumer les logs avec des expressions rgulires et envoyer par mail les entres inquitantes. 3. dans ce cas, cette partie vulnrable nest pas package dans le package Debian standard pour etch, voir http://www.debian.org/security/nonvulns-etch (la liste des NON vulnrabilits, rfrence de http://security.debian.org/. 4. $ nmap -A -T4 login
Starting Nmap 4.03 ( http://www.insecure.org/nmap/ ) at 2008-01-31 17:08 CET Interesting ports on login.alphanet.ch (80.83.54.2): (The 1660 ports scanned but not shown below are in state: closed) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 3.8.1p1 Debian-8.sarge.6 (protocol 2.0) 25/tcp open smtp Postfix smtpd 53/tcp open domain ISC Bind 9.2.4 80/tcp open http Apache httpd 1.3.33 ((Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e mod_perl/1.29) 81/tcp open http Apache httpd 1.3.33 ((Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e mod_perl/1.29) 110/tcp open pop3 Courier pop3d 113/tcp open ident OpenBSD identd 119/tcp open nntp INN nntpd 2.4.3 (posting ok) 143/tcp open imap Courier Imapd (released 2004) 443/tcp open http Apache httpd 1.3.33 ((Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e mod_perl/1.29) 993/tcp open ssl/imap Courier Imapd (released 2004) 995/tcp open ssl/pop3 Courier pop3d 5432/tcp open postgresql PostgreSQL DB 6667/tcp open irc Hybrid-based ircd Service Info: Hosts: shakotay.alphanet.ch, news.alphanet.ch; OS: OpenBSD Nmap finished: 1 IP address (1 host up) scanned in 19.037 seconds

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

LPI-102

Chapitre 10: Corrig des exercices p. 74

5. iptables -I INPUT -i eth0 -s 1.2.3.4/32 -p tcp --dport 25 -j DROP (pour supprimer, remplacer -I par -D) 6. les signatures sur lesquelles se base nessus sont bases sur des numros de version : si la vulnrabilit du programme X est corrige dans la version Y, il se peut trs bien que Debian montre que la version installe est U < Y (avec backport du patch vers la version Y) : non vulnrable. Scurisation de la machine 1. vi /etc/aliases ; newaliases 2. manipulation simple 3. manipulation simple 4. manipulation simple 5. p.ex. via DenyGroups ou AllowGroups dans /etc/ssh/sshd_config. 6. si la personne tape son mot de passe un prompt login, on ne veut pas que ces informations soient lisibles par nimporte qui. Restrictions des utilisateur et processus 1. on peut imaginer congurer ces limites dans les scripts de dmarrage systme du shell bash, par exemple. 2. ulimit -a : liste de toutes les limites ulimit -c unlimited : autoriser les core dumps ulimit -v 500000 : limiter lutilisation mmoire 500MB 3. (voir man 2 setrlimit) : la limite soft est celle gre par le kernel. La limite hard est la limite suprieure de congurabilit de la limite soft. Seul un processus avec des droits spciaux (capacit CAP_SYS_RESOURCE) peut augmenter la limite hard. En consquence, un script systme devrait toujours changer les limites hard.

c 2008 CRIL - Marc SCHAEFER

Disponible sous licence GFDL, invariant: les 2 premires pages

Vous aimerez peut-être aussi