Vous êtes sur la page 1sur 143

AdmInIstratIon UnIx v1.

2 jeanIuc CharIesJ 01J02J2007 page A1


Cours d'administration Unix
Cours d'administration Unix
1 Prsentation d'Unix
2 PrIncIpes de IonctIonnement d'UNX
3 Iements d'admInIstratIon UNX
4 nstaIIatIon de LInux (TP)
5 Les IIchIers de conIIguratIon (TP)
6 CestIon des utIIIsateurs, des groupes (TP)
7 ConIIguratIon de NS (TP)
8 ConIIguratIon de NFS (TP)
9 ConIIguratIon de DNS (TP)
10 ConIIguratIon de SAM8A (TP)
11 ConIIguratIon de LDAP (TP)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A2
1 Prsentation d'Unix
HIstorIque (AT&T, 8SD, ... CNUJLInux)
UnIx proprIetaIre J UnIx LIbre
UnIx en 2005 : The Open Croup
Concept de IogIcIeI IIbre
CNU et FSF
Open Source
CNUJLInux
Les dIstrIbutIons de CNUJLInux
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A3
1971
1975
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1998
1999
UTS VersIon 6 (8eII Labs)
UTS VersIon 7 (8eII Labs) en C
UnIx 32 V
4.28SD SYSTEM V
1969 Ken Thompson : UNCS, assembIeur sur PDP7
18SD
38SD
4.38SD
UTS : UnIx TImeSharIng (8eII Labs)
SoIarIs2
UnIxWare 1.0
4.38SD Reno
Net8SD 0.8
Free8SD 1.0
3868SD
8SD NetJ2
SUN OS 4.1.4
XENX 3.0
XENX 5.1 SCO
XENX 5.3 SCO SYSTEM V R3
4.18SD
SYSTEM (ATT) XENX 2.2
SUN OS 1
SUN OS 3.2
4.4 8SDLIte
LInux 0.0.1
SYSTEM SVR4 (USL)
Net8SD 1.0
Open8SD 2.3
Open8SD 2.0
Free8SD 2.0 Net8SD 1.1
Free8SD 3.0 Net8SD 1.3
LInux 1.2
LInux 2.2 SoIarIs7 MacOS X
Historique
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A4
1 Prsentation d'Unix : UnIx proprIetaIreJIIbre
The Open Group
Possede Ia marque deposee UNIX
PubIIe Ia norme SIngIe UNX SpecIIIcatIon
(Integre Ies normes precedentes : XJOpen Company's
XPC4, EEE's POSX Standards et SO C) http:JJwww.unIx.org
8M AX
HP HPUX
Tru64 UNX
SCO UnIxWare
SC RX
SUN SOLARS
Les prinipaux Unix propritaires
Open8SD
Free8SD
Net8SD
MacOS X
Ies CNUJLInux
Les prinipaux Unix Li!res
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A5
"ihard #ta$$man (chercheur au MT, auteur de gcc,
Emacs ...) enonce cIaIrement Ie concept de $o%iie$
$i!re (Iree)
... un savoIr scIentIIIque doIt etre partage en Ie dIstrIbuant, ...
Ies codes source doIvent etre IIbres d'acces ...
Demarre Ie projet GNU (1984). 8ut : recreer un
systeme d'expIoItatIon compIet (UnIxIIke), compose
unIquement de IogIcIeIs IIbres.
Cree Ia &#& (Free SoItware FundatIon, 1985) pour
gerer Ie projet CNU.
Remarque : Free dans Ia cuIture hacker sIgnIIIe
IIbre, pas necessaIrement gratuIt ou non
commercIaI
1 Prsentation d'Unix : Concept de LogIcIeI LIbre
Ori%ines du Lo%iie$ Li!re '
RIchard StaIIman
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A6
PrIncIpe de base : Ie IIbre acces au code source acceIere Ie progres en
matIere d'InIormatIque car I'InnovatIon depend de Ia dIIIusIon du code
source
La IIberte au sens CNU est deIInIe seIon quatre prIncIpes :
IIberte d'executer Ie programme, pour tous Ies usages
IIberte d'etudIer Ie IonctIonnement du programme, de I'adapter a ses
besoIns
IIberte de redIstrIbuer des copIes
IIberte d'ameIIorer Ie programme et de pubIIer ses ameIIoratIons,
pour en IaIre proIIter toute Ia communaute
1 Prsentation d'Unix : Ie projet CNU
Le projet GNU www.gnu.org
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A7
AutorIse I'utIIIsateur a copIer et dIstrIbuer a voIonte Ie IogIcIeI qu'eIIe
protege, pourvu qu'II n'InterdIse pas a ses paIrs de Ie IaIre aussI
RequIert aussI que tout derIve d'un travaII pIace sous sa protectIon soIt IuI
aussI protege par eIIe
Quand Ia CPL evoque Ies IogIcIeIs IIbre, eIIe traIte de IIberte et non de
gratuIte (un IogIcIeI CPL peut etre vendu)
Remarque : en angIaIs Iree meIange gratuIte et IIberte
(R. StaIIman precIse bIen : "Free as In speech, not as In beer")
1 Prsentation d'Unix : Ia IIcence CPL
La IIcence GPL (CeneraI PubIIc IIcence) www.gnu.orgcopyIeItJgpI.htmI
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A8
Cree par StaIIman en 1984
CarantIt Ies 4 IIbertes IondamentaIes pour tous Ies utIIIsateurs (artIste,
InIormatIcIen, ou quIconque produIt un travaII soumIs au droIt d'auteur)
vIte de mettre Ies IogIcIeIs CNU dans Ie domaIne pubIIc (pas de protectIon)
SpecIIIe que quIconque redIstrIbue Ie IogIcIeI, avec ou sans modIIIcatIons,
doIt aussI transmettre Ia IIberte de Ies copIer et de Ies modIIIer
Encourage et aIde Ies programmeurs (entreprIses, unIversItes) quI veuIent
ajouter etJou contrIbuer a des ameIIoratIons des IogIcIeIs IIbres.
Un IogIcIeI copyIeIt est d'abord decIare sous copyrIght, puIs on ajoute Ies
condItIons de dIstrIbutIon et Ies IIbertes IegaIement IndIssocIabIes.
1 Prsentation d'Unix : Ie copyIeIt CPL
Le op($e)t de Ia IIcence CPL www.gnu.orgJcopyIeIt
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A9
En 1997, ErIc Raymond (consuIutant), TIm O'ReIIIy et Larry AugustIn
(presIdent de VA Research), Ieaders de Ia communaute du IogIcIeI IIbre,
IntroduIsent Open #oure, pour IabeIIser Ies IogIcIeIs au code source ouvert
Open #oure est moIns contraIgnant que Ia GPL
Open #oure *e)inition est un descendant dIrect du *e!ian #oia$
Contrat
Open #oure permet surtout une pIus grande promIscuIte Iors d'un meIange
de code proprIetaIre avec du code open source
1 Prsentation d'Unix : I'Open Source
L' Open #oure Initiati+e OS www.opensource.org
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A10
GNU,Linux '
1 Prsentation d'Unix : CNUJLInux
ntegre :
Ie noyau Linux (cIone du systeme UnIx ecrIt par LInus TorvaIds et toute
une equIpe de deveIoppeurs sur nterNet)
des composants IogIcIeIs IIbres Issus du projet CNU (gcc, ...)
DIsponIbIe pour toutes Ies pIateIormes (PC, statIon,cIuster, maInIrame, ...)
La pIupart des edIteurs de soIutIons UNIX proprIetaIres Integrent
GNU,Linux en rempIacement (8M, HP, SIIIconCraphIcs ...)
L'admInIstratIon LInux est caIquee sur UNX System V (AT&T)
C'est un Unix a part entIere
Les sources du noyau LInux sont dIsponIbIes sur http',,---./erne$.or%,
conIorme a Ia norme SIngIe UNX
C'est un IogIcIeI IIbre dIstrIbue sous IIcence CPL
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A11
1 Prsentation d'Unix : dIstrIbutIons de LInux
www.redhat.Ir
socIete amerIcaIne Iondee en 1994.
ceIebre pour avoIr IntroduIt Ie systeme Red hat Package
Manager (RPM), de gestIon de paquets IogIcIeIs
Iedora.redhat.com
versIon grand pubIIque gratuIte de RedHat
utIIIse Ie systeme de gestIon de paquets RPM
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A12
1 Prsentation d'Unix : dIstrIbutIons de LInux
www.mandrIva.com
LA dIstrIbutIon IranaIse par exceIIence
Tres repandue dans Ie mIIIeu educatII, et en PMEJPM
utIIIse Ie systeme de gestIon de paquets RPM
www.noveII.comJIInuxJsuse
socIete aIIemande Iondee a Nuremberg en 1993
rachetee en 2003 par I'edIteur de IogIcIeIs amerIcaIn
NoveII
utIIIse Ie systeme de gestIon de paquets RPM
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A13
1 Prsentation d'Unix : dIstrIbutIons de LInux
www.debIan.org
dIstrIbutIon Issue d'un eIIort communautaIre,
Ie projet DebIan , et non d'une entreprIse
dIstrIbutIon tres soIgnee et IngenIeuse
austere a InstaIIer et a admInIstrer
(deconseIIIee aux debutants Z)
UtIIIse Ie systeme de gestIon de paquets de!ian
www.ubuntuIr.org
DIstrIbutIon popuIaIre a base debIan Iancee en 2004.
Son nom provIent d'un ancIen mot bantou (Iangue
d'AIrIque), ubuntu, sIgnIIIant
HumanIte aux autres, ou encore ]e suIs ce que je
suIs grce a ce que nous sommes tous
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A14
1 Prsentation d'Unix : dIstrIbutIons de LInux
www.turboIInux.com
La dIstrIbutIon de LInux majeure pour Ies pays
d'AsIe(partIcuIIerement repandue en ChIne)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A15
1 PresentatIon d'UnIx
0 Prinipes de )ontionnement d'UNIX
3 Iements d'admInIstratIon UNX
4 nstaIIatIon de LInux (TP)
5 Les IIchIers de conIIguratIon (TP)
6 CestIon des utIIIsateurs, des groupes (TP)
7 ConIIguratIon de NS (TP)
8 ConIIguratIon de NFS (TP)
9 ConIIguratIon de DNS (TP)
10 ConIIguratIon de SAM8A (TP)
11 ConIIguratIon de LDAP (TP)
Cours d'administration Unix
Cours d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A16
8oot et Iancement du noyau
Processus init
Services et dmons
Les runlevels
ScrIpts de Iancement des servIces
ExempIe d'outII graphIque (MandrIva)
0 Prinipes de )ontionnement d'UNIX
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A17
Au boot Ie 1IO# execute Ie 21" (Master 8oot Reccord) sItue sur Ie premIer
secteur (512 octets) du support bootabIe choIsI (dIsque, CD, cIeI US8, ...)
0 Prinipes de )ontionnement d'UNIX : Iancement du noyau
Lanement du s(st3me ' !oot et har%ement du no(au
Le 21" :
scanne Ie dIsque pour trouver LA partItIon bootabIe (IIag)
Iance Ie boot loader (chargeur de demarrage) du secteur de boot (premIer
secteur) de Ia partItIon bootabIe
Le bootloader :
charge Ie noyau en memoIre et I'execute
charge Ie ramdisk initrd.img en memoIre
2 bootIoader possIbIes: Li$o (LInux Loader)
Gru! (Crand UnIIIed 8ootIoader)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A18
Une IoIs Ie noyau charge en memoIre, II Iance Ie premIer processus :
Jbin/init
init est Ie pere de tous Ies autres processus quI seront crees par I'appeI
system fork()
init IIt Ie IIchIer /etc/inittab pour savoIr :
queI est Ie IIchIer a executer pour contInuer Ie chargement du systeme
queI est Ie runlevel (nIveau d'executIon) par deIauIt
comment Iancer Ies servIces pour un runlevel donne
...
0 Prinipes de )ontionnement d'UNIX : processus InIt
Lanement du s(st3me ' !oot 45 init
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A19
0 Prinipes de )ontionnement d'UNIX : processus InIt
ExpIe de IIchIer /etc/inittab Iormat des IIgnes id:runlevels:action:process
Le nIveau d'executIon par
deIaut
Les nIveaux d'executIon
possIbIes
ActIon a IaIre sur
I'evenement CTRLALTDEL
Pour Ies nIveaux 2 a 5,
actIver pIusIeurs consoIes en
mode caractere
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Default runlevel. The runlevels used by Mandrakelinux are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
... ...
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
... ...
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A20
0 Prinipes de )ontionnement d'UNIX : processus InIt
ExpIe de IIchIer /etc/inittab Iormat des IIgnes id:runlevels:action:process
Le nIveau d'executIon
par deIaut
Les nIveaux d'executIon
possIbIes
ActIon a IaIre sur
I'evenement CTRLALTDEL
Pour Ies nIveaux 2 et 3,
actIver pIusIeurs consoIes
en mode caractere
# The default runlevel.
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt, 1 is single-user, 2-5 are multi-user, 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
... ...
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
... ...
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A21
respa-n Le processus est redemarre a chaque IoIs qu'II se termIne
-ait Le processus n'est demarre qu'une seuI IoIs
!oot Le processus est execute pendant Ie demarrage du systeme
initde)au$t IndIque Ie mode de demarrage une IoIs Ie systeme
operatIonneI. SI aucun n'exIste, InIt demandera un runIeveI sur
Ia consoIe
s(sinit Le processus est execute pendant Ie demarrage du systeme. I
est execute avant Ies entrees !oot ou !oot-ait
tr$a$tde$ Le processus est execute Iorsque init reoIt Ie sIgnaI SCNT.
(appuI sImuItane des touches CTRL+ALT+DEL)
0 Prinipes de )ontionnement d'UNIX : processus InIt
ExempIes d'ations courantes pour Ie IIchIer inittab :
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A22
Apres Ie chargement du noyau, Ie scrIpt correspondant a s(sinit dans
IIchIer inittab est charge :
Mandrake : /etc/rc.d/rc.sysinit (1 scrIpt ~ 1300 IIgnes !!)
DebIan : /etc/rc.d/rcS Iance Ies scrIpts /etc/rcS.d/S??*
Ce scrIpt d'InItIaIIsatIon est charge de 2 tches IondamentaIes :
charger Ies modu$es dans Ie noyau (gestIon des perIpherIques)
demarrer Ies ser+ies en executant Ies processus
DeIerred AuxIIIary ExecutIve MonItor (daemons) correspondant,
en IranaIs : dmons
0 Prinipes de )ontionnement d'UNIX : servIces et demons
Lanement du s(st3me ' !oot 45 init 45 modu$es,ser+ies
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A23
/s-apd swap memoIre <> dIsque
/)$usd ecrIture physIque des donnees
n)sd serveur IIchIers reseaux (NFS)
portmap mIse en correspondance numero de ports TCPJP <> numero
de processus RPC
xinetd superserveur de gestIon des servIces reseau
)tpd serveur de transIert de IIchIers (FTP)
httpd serveur HTTP
0 Prinipes de )ontionnement d'UNIX : servIces et demons
ExempIe de dmons :
Les demons peuvent ImpIementer :
un servIce noyau (/s-apd, ...)
un servIce reseau (httpd, ...)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A24
Le mecanIsme de demarrage des ser+ies est caracterIstIque d'une
dIstrIbutIon ( : IncompatIbIIItes entre dIstrIbutIons) :
MandrIva, DebIan, RedHat, ... mecanIsme derIve d'UnIx System V
SIackware, Free8SD, Net8SD, ... mecanIsme derIvee d'UnIx 8SD
Ie repertoIre /etc/init.d contIent tous Ies scrIpts de gestIon des servIces
InstaIIes (1 servIce <> 1 ou pIusIeurs dmon(s))
Ies IIgnes /etc/rc.d/rc x du IIchIer /etc/inittab determInent Ie
Iancement des scrIpts pour Ie runIeveI x
Le runlevel de I'actIon initdefault est
Iance par Ie IIgne correspondante
0 Prinipes de )ontionnement d'UNIX : Ies runIeveIs
Lanement du s(st3me ' !oot 45 init 45 ser+ies
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A25
Le runlevel (numero de 0 a 6) IIxe Ie repertoIre de demarrage des servIces :
Mandrake > repertoIres /etc/rc.d/rc[0-6].d
DebIan > repertoIres /etc/rc[0-6].d
rcX.d : contIent des IIens symboIIques vers Ies scrIpts de gestIons des
servIces quI sont dans Ie repertoIre :
/etc/rc.d/init.d (Mandrake, + IIen symboIIque vers /etc/init.d)
/etc/init.d (DebIan)
Les IIens sont Iormes seIon Ia syntaxe : [S|K]XX<nom_du_script>
# Iance Ie scrIpt avec I'argument start (demarrage du servIce)
6 Iance Ie scrIpt avec I'argument stop (arret du servIce)
XX est un rang quI IIxe I'ordre dans IequeI Ies scrIpts sont Iances
0 Prinipes de )ontionnement d'UNIX : Ies runIeveIs
Lanement du s(st3me ' !oot 45 init 45 ser+ies
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A26
#! /bin/sh
... ...
# Now find out what the current and what the previous runlevel are.
Argv1="$1"
... ...
# Get first argument. Set new runlevel to this argument.
[ -n "$argv1" ] && runlevel="$argv1"
... ...
# First, run the KILL scripts.
for i in /etc/rc$runlevel.d/K* ; do
... ...
done
# Now run the START scripts.
for i in /etc/rc$runlevel.d/S* ; do
check_runlevel "$i" || continue
# Check if the subsystem is already up.
subsys=${i#/etc/rc$runlevel.d/S??}
[ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] && continue
# If we're in confirmation mode, get user confirmation
if [ -f /var/run/confirm ]; then
if [ "$subsys" = dm ]; then
CONFIRM_DM=1
continue
fi
confirm $subsys
case $? in
1) continue;;
2) rm -f /var/run/confirm;;
esac
fi
... ...
ExtraIt du IIchIer /etc/rc.d/rc
0 Prinipes de )ontionnement d'UNIX : ScrIpts de Iancement
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A27
... ...
# Get first argument. Set new runlevel to this argument.
[ "$1" != "" ] && runlevel=$1
... ...
# First, run the KILL scripts.
... ...
for i in /etc/rc$runlevel.d/K[0-9][0-9]*
do
# Check if the script is there.
[ ! -f $i ] && continue
# Stop the service.
startup $i stop
done
fi
# Now run the START scripts for this runlevel.
for i in /etc/rc$runlevel.d/S*
do
[ ! -f $i ] && continue
... ...
suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]}
stop=/etc/rc$runlevel.d/K[0-9][0-9]$suffix
previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix
#
case "$runlevel" in
0|6)
startup $i stop
;;
*)
startup $i start
;;
esac
done
fi
# eof /etc/init.d/rc
ExtraIt du IIchIer /etc/init.d/rc
0 Prinipes de )ontionnement d'UNIX : ScrIpts de Iancement
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A28
ExempIe de contenu du repertoIre /etc/rc5.d :
0 Prinipes de )ontionnement d'UNIX : ScrIpts de Iancement
Demarrage du reseau
Demarrage du servIce Son
Demarrage de Ia bannIere
de connexIon en mode
graphIque (dIspIay
manager)
Demarrage du servIce antI
spam
Pour IInIr, Lancement du
scrIpt de conIIguratIon
IocaIe
lrwxrwxrwx 1 root root 14 Jul 20 21:46 K59dund -> ../init.d/dund*
lrwxrwxrwx 1 root root 14 Jul 20 21:46 K59hidd -> ../init.d/hidd*
lrwxrwxrwx 1 root root 14 Jul 20 21:46 K59pand -> ../init.d/pand*
lrwxrwxrwx 1 root root 14 Jul 20 21:43 S01udev -> ../init.d/udev*
lrwxrwxrwx 1 root root 19 Jul 20 21:46 S05harddrake -> ../init.d/harddrake*
lrwxrwxrwx 1 root root 17 Jul 20 22:02 S10network -> ../init.d/network*
lrwxrwxrwx 1 root root 17 Jul 20 22:02 S11portmap -> ../init.d/portmap*
lrwxrwxrwx 1 root root 16 Jul 20 22:02 S12syslog -> ../init.d/syslog*
lrwxrwxrwx 1 root root 17 Jul 20 21:43 S13partmon -> ../init.d/partmon*
lrwxrwxrwx 1 root root 17 Jul 20 21:46 S14nfslock -> ../init.d/nfslock*
lrwxrwxrwx 1 root root 14 Jul 20 21:42 S17alsa -> ../init.d/alsa*
lrwxrwxrwx 1 root root 16 Jul 20 22:03 S17ypbind -> ../init.d/ypbind*
lrwxrwxrwx 1 root root 15 Jul 20 22:02 S18sound -> ../init.d/sound*
lrwxrwxrwx 1 root root 13 Jul 20 21:44 S20xfs -> ../init.d/xfs*
lrwxrwxrwx 1 root root 20 Jul 20 21:43 S24messagebus -> ../init.d/messagebus*
lrwxrwxrwx 1 root root 19 Jul 20 21:46 S25bluetooth -> ../init.d/bluetooth*
lrwxrwxrwx 1 root root 19 Jul 20 21:44 S25haldaemon -> ../init.d/haldaemon*
lrwxrwxrwx 1 root root 15 Jul 20 22:02 S25netfs -> ../init.d/netfs*
lrwxrwxrwx 1 root root 17 Jul 20 21:47 S29numlock -> ../init.d/numlock*
lrwxrwxrwx 1 root root 12 Jul 20 21:43 S30dm -> ../init.d/dm*
lrwxrwxrwx 1 root root 14 Jul 20 21:44 S33nifd -> ../init.d/nifd*
...
lrwxrwxrwx 1 root root 13 Jul 20 21:46 S40atd -> ../init.d/atd*
lrwxrwxrwx 1 root root 14 Jul 20 21:47 S55sshd -> ../init.d/sshd*
lrwxrwxrwx 1 root root 20 Jul 20 22:02 S56rawdevices -> ../init.d/rawdevices*
lrwxrwxrwx 1 root root 18 Jul 20 22:02 S75keytable -> ../init.d/keytable*
lrwxrwxrwx 1 root root 15 Jul 20 17:52 S80spamd -> ../init.d/spamd*
lrwxrwxrwx 1 root root 17 Jul 20 21:50 S85proftpd -> ../init.d/proftpd*
lrwxrwxrwx 1 root root 15 Jul 20 22:02 S90crond -> ../init.d/crond*
lrwxrwxrwx 1 root root 14 Jul 20 21:44 S92lisa -> ../init.d/lisa*
lrwxrwxrwx 1 root root 17 Jul 20 22:02 S95kheader -> ../init.d/kheader*
lrwxrwxrwx 1 root root 11 Jul 20 21:43 S99local -> ../rc.local*
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A29
ExempIe de contenu du repertoIre /etc/rc5.d :
0 Prinipes de )ontionnement d'UNIX : ScrIpts de Iancement
Demarrage du reseau
Demarrage du servIce
d'ImpressIon
Demarrage du serveur ssh
Demarrage de Ia bannIere
de connexIon en mode
graphIque ( %nome dIspIay
manager)
lrwxrwxrwx 1 root root 18 2005-09-18 20:04 S10sysklogd -> ../init.d/sysklogd
lrwxrwxrwx 1 root root 15 2005-09-18 20:04 S11klogd -> ../init.d/klogd
lrwxrwxrwx 1 root root 13 2005-09-18 20:03 S14ppp -> ../init.d/ppp
lrwxrwxrwx 1 root root 17 2005-09-18 19:10 S18portmap -> ../init.d/portmap
lrwxrwxrwx 1 root root 14 2005-09-19 09:42 S20apmd -> ../init.d/apmd
lrwxrwxrwx 1 root root 16 2005-09-18 19:11 S20dbus-1 -> ../init.d/dbus-1
lrwxrwxrwx 1 root root 17 2005-09-18 19:11 S20dirmngr -> ../init.d/dirmngr
lrwxrwxrwx 1 root root 15 2005-09-18 20:03 S20exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root 15 2005-09-18 20:03 S20inetd -> ../init.d/inetd
lrwxrwxrwx 1 root root 13 2005-09-18 19:10 S20lpd -> ../init.d/lpd
lrwxrwxrwx 1 root root 17 2005-09-18 20:02 S20makedev -> ../init.d/makedev
lrwxrwxrwx 1 root root 16 2005-09-18 20:05 S20pcmcia -> ../init.d/pcmcia
lrwxrwxrwx 1 root root 15 2005-09-18 15:16 S20rsync -> ../init.d/rsync
lrwxrwxrwx 1 root root 13 2005-09-18 19:11 S20ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root 13 2005-09-18 14:57 S20vdr -> ../init.d/vdr
lrwxrwxrwx 1 root root 16 2005-09-18 22:01 S20webmin -> ../init.d/webmin
...
lrwxrwxrwx 1 root root 13 2005-09-18 21:00 S20xfs -> ../init.d/xfs
lrwxrwxrwx 1 root root 16 2005-09-18 21:00 S20xinetd -> ../init.d/xinetd
lrwxrwxrwx 1 root root 15 2005-09-18 21:07 S21aumix -> ../init.d/aumix
lrwxrwxrwx 1 root root 13 2005-09-18 19:12 S21fam -> ../init.d/fam
lrwxrwxrwx 1 root root 20 2005-09-18 19:10 S21nfs-common -> ../init.d/nfs-common
lrwxrwxrwx 1 root root 13 2005-09-18 20:04 S89atd -> ../init.d/atd
lrwxrwxrwx 1 root root 14 2005-09-18 20:03 S89cron -> ../init.d/cron
lrwxrwxrwx 1 root root 13 2005-09-18 19:17 S99gdm -> ../init.d/gdm
lrwxrwxrwx 1 root root 19 2005-09-18 20:02 S99rmnologin -> ../init.d/rmnologin
lrwxrwxrwx 1 root root 23 2005-09-18 20:02 S99stop-bootlogd -> ../init.d/stop-
bootlogd
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A30
UtIIItaIres en mode consoIe :
DebIan : update-rc.d
Mandrake : chkconfig, service
0 Prinipes de )ontionnement d'UNIX : ScrIpts de Iancement
Lanement du s(st3me ' !oot 45 init 45 ser+ies
Ie scrIpt /etc/rc.local peut contenIr des personnaIIsatIons IocaIes quI
seront Iancees a Ia IIn du processus init
Pour demarrer un servIce sous mandrake, on peut taper :
service <nom_du_service> start
ou encore :
/etc/rc.d/init.d/<cript_correspondant_au_service> action
ation : starp | stop | restart | status | ...
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A31
0 Prinipes de )ontionnement d'UNIX : ScrIpts de Iancement
Lanement du s(st3me ' !oot 45 init 45 ser+ies
OutII graphIque de gestIon des servIces :
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A32
0 Prinipes de )ontionnement d'UNIX : ScrIpts de Iancement
Lanement du s(st3me ' !oot 45 init 45 ser+ies
OutII graphIque de gestIon des servIces :
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A33
1 PresentatIon d'UnIx
2 PrIncIpes de IonctIonnement d'UNX
7 8$ments d'administration UNIX
4 nstaIIatIon de LInux (TP)
5 Les IIchIers de conIIguratIon (TP)
6 CestIon des utIIIsateurs, des groupes (TP)
7 ConIIguratIon de NS (TP)
8 ConIIguratIon de NFS (TP)
9 ConIIguratIon de DNS (TP)
10 ConIIguratIon de SAM8A (TP)
11 ConIIguratIon de LDAP (TP)
Cours d'administration Unix
Cours d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A34
Les 2 modes d'admInIstratIon
NotIon de )ihier spia$
Nomma%e des perIpherIques de boot
Partitionnement des dIsques
&ormata%e dIsque et filesystem
Le monta%e des perIpherIques
Les %estionnaires de paquets (rpm et de!ian)
ConIIguratIon du bootloader (LIIo)
Context > archItecture PC
7 8$ments d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A35
7 8$ments d'administration Unix : 2 modes d'admInIstratIon
UnIx supporte 2 modes d'admInIstratIon :
: $a main :
dItIon (manueIIe) des IIchIers de conIIguratIon
UtIIIsatIon (manueIIe) des commandes d'admInIstratIon
UtIIIsatIon (manueIIe) des gestIonnaIres de paquets RPM ou DE8AN
dItIon de scrIpts de commande (Iangage : sheII, perI, awk, ...)
Avec des $o%iie$s d'admInIstratIon (graphIque ou mode caractere) :
QuI manIpuIent Ies IIchIers de conIIguratIon
QuI utIIIsent des commandes d'admInIstratIon standard ou specIIIques
Souvent IncontournabIes, avec des UnIx proprIetaIres (HP : SAM)
LInux : $inuxon), -e!min, *ra/Con), ....
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A36
Principe :
sous Unix,
tout est fichier
=> tous les priphriques
- disques,
- clavier, souris,
- carte son,
- ports d'E/S
- sockets rseau,
- mmoire ...
sont reprsents par
un fichier spcial
dans le rpertoire /dev
7 8$ments d'administration Unix : notIon de IIchIer SpecIaI
Lect. DVD
Lect. CD
Carte son
DIsque dur
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A37
7 8$ments d'administration Unix : notIon de IIchIer SpecIaI
AttrIbuts des IIchIers specIaux :
Mode d'acces : !Ioc , ou haracter
ProprIetaIre, groupe
DroIts d'acces cIassIque unIx : rwxrwxrwx
Au IIeu de Ia taIIIe en octet (ZZZ) :
2a;eur (entIer) : permet au noyau d'actIver Ie drIver du perIopherIque
(> Indexe dans une tabIe de poInteurs de IonctIons)
2ineur (entIer) : argument passe au drIver
b}c
majeur, mIneur
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A38
7 8$ments d'administration Unix : Nommage des perIpherIques
Nommage des perIpherIques :
DE 1 Master SIave
DE 0 Master SIave
JdevJhda JdevJhdb
JdevJhdc JdevJhdd
PerIpherIques DE P<T<
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A39
Nommage des perIpherIques :
LInux <=2.4 JdevJhda
IInux >= 2.6 JdevJsda
SATA
DE #<T<
FLOPPY
JdevJId0
disquette
SCS
JdevJsda JdevJsdb JdevJsdc
d : 0 d : 1 d : 2
...
PerIpherIques #C#I
U#1 : AssImIIe SCS
JdevJsdb
US8
JdevJsda
JdevJsdc
7 8$ments d'administration Unix : Nommage des perIpherIques
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A40
7 8$ments d'administration Unix : PartItIonnement des dIsques
La pIupart des systemes d'expIoItatIon (IIxes) correctement InstaIIes
utIIIsent un dIsque pIusIeurs partItIons:
partItIon systeme (IIchIers systemes, IIchIers de conIIguratIon ...)
partItIon utIIIsateurs (donnees des utIIIsateurs)
...
expIoItatIon pIus securIsee
on peut Iormater une partItIon Independamment des autres
on peut utIIIser une partItIon en Iecture seuIe
...
partItIonnement statIque => pIanIIIer Ie partItIonnement
on ne peut pas modIIIer sImpIement un partItIonnement statIque
partItIonner est une operatIon Iow IeveI, rIsquee !!
...
Pour beneIIcIer des avantage du partItIonnement dynamIque II Iaut
passer a des soIutIons de type "<I* ("edondant <rray oI Independant
*Isks) ou L=2 (LogIcaI =oIume 2anager)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A41
7 8$ments d'administration Unix : PartItIonnement des dIsques
DIsque dur entIer (JdevJhda)
4 partItIons
prImaIres max
PartItIonnement dIsque :
3 partItIons prImaIres max +
1 etendue
PartItIon prImaIre 1
JdevJhda1
Systeme WIndows
!oota!$e
M
8
R
PartItIon prImaIre 0
JdevJhda2
Data utIIIsateur
PartItIon prImaIre 7
JdevJhda3
AppIIcatIons
PartItIon prImaIre >
JdevJhda4
ArchIves
PartItIon etendue 3 JdevJhda3
M
8
R
JdevJhda5
LInux Syst.
JdevJhda6
Data user
JdevJhda7
Swapp
JdevJhda8
AppIIcatIons
PartItIon prImaIre 1
JdevJhda1
Systeme WIndows
!oota!$e
PartItIon prImaIre 0
JdevJhda2
Data utIIIsateur
2
1
"
Rq: correspondance WIndows : C: <=> JdevJhda1
D: <=> JdevJhda2 ...
PartItIon 1 8S
PartItIon 2
!oota!$e
8S PartItIon 3 8S
21"
TP 8L
21" : Master 8oot Reccord
TP : TabIe PartItIon
1L : 1oot Loader
1# : 1oot #ector
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A42
7 8$ments d'administration Unix : PartItIonnementJFIIesystem
PartItIonnement et Iormatage du dIsque dur :
Formatage bas nIveau (physIque, en usIne)
PartItIonnement (a I'InstaIIatIon de I'OS)
fips, fdisk, PartitionMagic (DOS)
fdisk, parted (IInux)
a l'installation de LInux (menu caractere, menu graphIque)
Formatage haut nIveau (IogIque, depends de I'OS et du
FIIeSystem cIbIe)
format (WIndows : cree un IIIesystem FAT ou NTFS)
mkfs (UnIx : cree un IIIesystem Ext2, Ext3, FAT, ...)
expIe : mkfs -t ext2 /dev/hda1
mkfs -t vfat /dev/fd0
Systeme de IIchIers journaIIses : pIus robuste aux pannes secteurs
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A43
FPS
7 8$ments d'administration Unix : PartItIonnementJFIIesystem
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A44
PartItIonMagIc
7 8$ments d'administration Unix : PartItIonnementJFIIesystem
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A45
)dis/
7 8$ments d'administration Unix : PartItIonnementJFIIesystem
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A46
)dis/
7 8$ments d'administration Unix : PartItIonnementJFIIesystem
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A47
)dis/
7 8$ments d'administration Unix : PartItIonnementJFIIesystem
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A48
)dis/
7 8$ments d'administration Unix : PartItIonnementJFIIesystem
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A49
nstaIIatIon MandrIva J outII DrakConI
7 8$ments d'administration Unix : PartItIonnementJFIIesystem
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A50
7 8$ments d'administration Unix : FIIesystem
#(st3me d'exp$oitation T(pes de s(st3me de )ihiers supports
Dos FAT16
WIndows 95 FAT16
WIndows 95 OSR2 FAT16, FAT32
WIndows 98 FAT16, FAT32
WIndows NT4 FAT, NTFS (versIon 4)
WIndows 2000JXP FAT, FAT16, FAT32, NTFS (versIons 4 et 5)
LInux Ext2, Ext3, ReIserFS, LInux Swap, (FAT, NTFS, ...)
MacOS HFS, MFS
SC RX XFS
Free8SD, Open8SD UFS (UnIx FIIe System)
Sun SoIarIs UFS (UnIx FIIe System)
8M AX ]FS (]ournaIed FIIe System)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A51
7 8$ments d'administration Unix : Montage des perIpherIques
L'operatIon de monta%e des perIpherIques :
DOS et WIndows utIIIsent Ia notIon d'unit $o%ique pour IournIr un acces
aux ressources de stockage
( A: > IIoppy, C: > dIsque dur, ... E: > Iecteur CD)
Tous Ies UnIx utIIIsent Ia notIon de monta%e :
un perIpherIque est assocIe a un poInt de montage (repertoIre) par une
operatIon de montage (commande mount)
Ia commande mount peut etre utIIIsee a Ia maIn
expIe : mount /dev/hda1 /
mount /dev/sda1 /mnt/removable
tous Ies perIpherIques montes beneIIcIent du cache dIsque
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A52
7 8$ments d'administration Unix : Montage des perIpherIques
avant d'extraIre un perIpherIque amovIbIe (dIsquette, cIeI US8, ...), on DOT Ie
demonter (umount), pour synchronIser Ies ecrItures (vIdage du cache dIsk)
tous Ies montages permanents sont IndIques dans Ie IIchIer /etc/fstab
La commande d) aIIIche Ia IIste des perIpherIques montes + proprIetes :
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A53
7 8$ments d'administration Unix : conIIguratIon de IIIo
$i$o (Linux Loader) permet d'InstaIIer un !oot$oader muItIsystemes
FIchIer de conIIguratIon : /etc/lilo.conf
Apres toute modIIIcatIon de lilo.conf, II Iaut reInstaIIer Ie bootIoader
modIIIe en tapant Ia commande $i$o
nstaIIatIon en M8R
PartItIon racIne
Noyau a booter
FIchIer ramdIsque
OptIons du noyau
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A54
7 8$ments d'administration Unix : CestIonnaIres de paquets
CNUJLInux et Ies appIIcatIons tournant sous ce systeme peuvent etre IIvres
(source ou bInaIres) sous 3 Iormats prIncIpaux :
Le )ormat "ead Hat ?"P2 : ReadHat Package Manager) :
IIchIers *.rpm
Le )ormat *@1I<N (*P6G : DebIan PacKaCe) :
IIchIers *.deb
Le )ormat tar (archIve) :
IIchIers *.tar : archIve creee par Ia commande UnIx tar
IIchIers *.tar.gz : archIve tar comprImee par %Aip
IIchIers *.tar.bz2 : archIve tar comprImee par !Aip
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A55
7 8$ments d'administration Unix : CestIonnaIres de paquets
HIstorIquement, avec Ies premIeres versIon d'UnIx, tout etaIt IaIt :
Avec Ia commande tar
Avec des utIIItaIres dedIes (UnIx proprIetaIres)
Aujourd'huI, Ie Iormat tar n'est pIus utIIIse que :
pour des InstaIIatIons partIcuIIeres (code maIson, archIvage, ...)
Pour depIacer une arborescence de IIchIers (copIe vers une autre repertoIres,
une autre machIne, document attache maII, ...)
>L'utIIIsatIon de Ia commande tar comme utIIItaIre d'archIvage sera vue
Iors des seances de TP.
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A56
7 8$ments d'administration Unix : CestIonnaIres de paquets
Les systemes de gestIons de paquets Read Hat ou DebIan permettent une
gestIon tres puIssante des appIIcatIons InstaIIees sous CNUJLInux :
Cration des paquets (compIIatIon et creatIon du paquet source ou du
paquet bInaIre)
Insta$$ation des paquets (gestIon des composants necessaIres)
mise B ;our des paquets (gestIons des dependances, des conIIIts, ...)
#uppression des paquets (gestIon des dependances, et de tout ce quI a
ete InstaIIe)
Interro%ation :
IIste des paquets,
IIchIers contenus dans un paquet donne,
queI paquet contIent un IIchIer donne,
...
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A57
7 8$ments d'administration Unix : CestIonnaIres de paquets
2andri+a (comme *e!ian) propose 2 nIveaux de commandes :
Ni+eau du paquet : rpm (DebIan : dp/%)
Ia gestIon des dependances est purement InIormatIve, sans resoIutIon
automatIque => II Iaut InstaIIer tous Ies paquets a Ia maIn
Ni+eau %$o!a$ : urpmCiq)eD (DebIan : apt (advanced paquet tooI))
Ia gestIon des dependances est totaIe : Ies paquets requIs sont
automatIquement rajoutes a Ia IIste des paquets a InstaIIer
I exIste des InterIace graphIque pour Ie nIveau gIobaI :
MandrIva : dra/rpm
DebIan : s(napti, aptitude
>L'utIIIsatIon detaIIIee des commandes rpm, urpmq, urpmi, ...
sera vue en TP.
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A58
7 8$ments d'administration Unix : CestIonnaIre RPM
Commande rpm : InIos sur Ies paquets insta$$s
(optIons de conIort : v > verbose ; h > barre d'avancement tracee avec des #)
Insta$$ation (instaII) : rpm Ivh nomdupaquet
ExpIe : rpm -ivh acpid-1.0.4-4mdk.rpm
mise B ;our (update) : rpm Uvh nomdupaquet
ExpIe : rpm -Uvh acpid-1.0.4-4mdk.rpm
#uppression (erase) : rpm e nomdupaquet
ExpIe : rpm -e acpid
Interro%ation (query) :
nIormatIons sur un paquet : rpm q nompaquetcourt
ExpIe : rpm -q emacs (rponse : emacs-21.3-20mdk)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A59
7 8$ments d'administration Unix : CestIonnaIre RPM
Interro%ation (query) suIte :
InIormatIons sur un paquet : rpm qI paquet
IIste des IIchIers d'un paquet InstaIIe :
rpm qI paquetInstaIIe , ou rpm qI p IIchIerrpm
ExpIe : rpm -ql cups
IIste de tous Ies paquets InstaIIes : rpm qa
rechercher sI un paquet est InstaIIe : rpm qa } grep paquet
recherche des paquets InstaIIes contenant un IIchIer :
rpm qI nomdeIIchIerabsoIu
ExpIe : rpm -qf /usr/sbin/cupsd
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A60
7 8$ments d'administration Unix : CestIonnaIre URPM
Commande urpmi (InstaIIer un paquet) :
urpmi gere Ies InstaIIatIons a partIr de dIvers medIas :
Itp, http,
voIumes nIs et Iocaux,
medIas amovIbIes (CD, DVD, ...)
La conIIguratIon des sources (orIgInes) de I'InstaIIatIon est donnee par
Ie IIchIer /etc/urpmi/urpmi.cfg
On peut modIIIer Ies sources de Ia dIstrIbutIon :
urpmi.remo+emedia : permet de supprImer des entrees
urpmi.addmedia : permet d'ajouter de nouveIIs entrees
Syntaxe de urpmI est tres sImpIe : urpmi nomdupaquet
SI necessaIre, urpmi demande d'Inserer Ie medIum necessaIre
>Des exempIes d'utIIIsatIon de Ia commande urpmi seront vus en TP.
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A61
7 8$ments d'administration Unix : CestIonnaIre URPM
Commande urpmq : InIos sur Ies paquets Einsta$$a!$esF
urpmq [option] nom_paquet|fichier_rpm
permet d'Interroger Ia 8ase de Donnees (8D) urpmI (cI man urpmI);
ExempIe d'optIons utIIes :
Iuzzy : (ou y) recherche Ies paquets *nompaquet*
IIste : IIste de tous Ies paquets connus de Ia 8D urpmI
IIstemedIa : aIIIche Ies medIa de Ia dIstrIbutIon (CD, reseau, ...)
IIsteurI : Idem, avec en pIus Ies URL d'acces
dumpconIIg : IournIt Ia totaIIte des InIormatIons sur Ies medIa de
Ia dIstrIb, Ies URL d'acces et Ies IIchIers d'InIo utIIIses
I paquet : IIste Ies IIchIers du paquets de Ia dIstrIbutIon
ExpIes :
urpmq cups
urpmq --fuzzy cups
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A62
7 8$ments d'administration Unix : CestIonnaIre URPM
Commande urpm) :
urpm) [option] fichier
trouve Ie paquet RPM de Ia dIstrIbutIon contenant Ie IIchIer mentIonne
SI fichier est un nom absoIu, II est cherche exactement,
SI fichier est un extraIt de path absoIu, II est cherche sous Ia Iorme
*fichier*
ExpIes :
urpmf /usr/sbin/cupsd
urpmq bin/cupsd
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A63
7 8$ments d'administration Unix : CestIonnaIre DE8AN
Commande dp/% : gestIon d'un paquet IsoIe,
pas de gestIon automatIque des dependances
dp/% [option] [fichier.deb ...] ; PrIncIpaIes optIons :
I : InstaIIe Ie(s) paquets contenus dans Ies IIchIers(s)
r : desInstaIIe Ie paquet sans supprImer ses IIchIers de conIIguratIon
purge : desInstaIIatIon compIete (paquet + IIchIers conIIg)
reconIIgure paquet : rejouer Ia conIIguratIon du paquet
I : IIste de tous Ies paquets
L : aIIIche Ia IIste de tous Ies IIchIers contenus dans Ie paquet
S fichier : recherche de tous Ies paquets contenant fichier
ExpIes :
dpkg -i cups
dpkg -S /usr/bin/cupsd
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A64
7 8$ments d'administration Unix : CestIonnaIre DE8AN
Le systeme <PT : <dvanced Package TooI
Resoud automatIquement Ies probIemes de dependances entre paquets
TIent a jour Ies IIstes des InstaIIes et des paquets dIsponIbIes
Cere Ia IIste des sources d'InstaIIatIon (IIchIer /etc/apt/sources.list)
apt4%et insta$$ fichier.deb ... : InstaIIer des paquets DebIan
apt4%et remo+e [--purge] fichier.deb ... : desInstaIIer des paquets
apt4%et update : recupere Ia IIste des paquets dIsponIbIes en utIIIsant Ies
sources mentIonnees dans Ie IIchIer sources.list
apt4%et up%rade : mIse a jour des paquets
apt4%et $ean : supprIme Ies IIchIers presents dans
/var/cache/apt/archives
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A65
7 8$ments d'administration Unix : CestIonnaIre DE8AN
RecapItuIatII IncompIet et approxImatII des equIvaIences RPMJDE8AN !!!
rpm qI paquet dpkg L paquet
rpm qa dpkg I
dpkg -getseIectIon
rpm I paquet dpkg I paquet
rpm e paquet dpkg purge paquet
Z dpkg r paquet
Z dpkg reconIIgure paquet
rpm qI IIchIer dpkg S
urpmI paquet aptget InstaII paquet
urpme paquet aptget remove paquet
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A66
1 PresentatIon d'UnIx
2 PrIncIpes de IonctIonnement d'UNX
3 Iements d'admInIstratIon UNX
> Insta$$ation de Linux ?TPG
5 Les IIchIers de conIIguratIon (TP)
6 CestIon des utIIIsateurs, des groupes (TP)
7 ConIIguratIon de NS (TP)
8 ConIIguratIon de NFS (TP)
9 ConIIguratIon de DNS (TP)
10 ConIIguratIon de SAM8A (TP)
11 ConIIguratIon de LDAP (TP)
Cours d'administration Unix
Cours d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A67
=oir $e texte du TP1
ObjectIIs :
nstaIIer un PC serveur CNUJLInux (InstaIIatIon reseau FTP ou HTTP
n'utIIIsant que Ie premIer CD).
> Insta$$ation de GNU,Linux ' TP1
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A68
1 PresentatIon d'UnIx
2 PrIncIpes de IonctIonnement d'UNX
3 Iements d'admInIstratIon UNX
4 nstaIIatIon de LInux (TP)
H Les )ihiers de on)i%uration ?TPG
6 CestIon des utIIIsateurs, des groupes (TP)
7 ConIIguratIon de NS (TP)
8 ConIIguratIon de NFS (TP)
9 ConIIguratIon de DNS (TP)
10 ConIIguratIon de SAM8A (TP)
11 ConIIguratIon de LDAP (TP)
Cours d'administration Unix
Cours d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A69
=oir $e texte du TP1
ObjectIIs :
nstaIIer un PC serveur CNUJLInux (InstaIIatIon reseau FTP ou HTTP
n'utIIIsant que Ie premIer CD).
VIsIter Ies prIncIpaux IIchIers de conIIguratIon utIIes a I'admInIstratIon
d'un serveur LInux.
H Les )ihiers de on)i%uration ' TP1
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A70
1 PresentatIon d'UnIx
2 PrIncIpes de IonctIonnement d'UNX
3 Iements d'admInIstratIon UNX
4 nstaIIatIon de LInux (TP)
5 Les IIchIers de conIIguratIon (TP)
I Gestion des uti$isateursJ des %roupes ?TPG
7 ConIIguratIon de NS (TP)
8 ConIIguratIon de NFS (TP)
9 ConIIguratIon de DNS (TP)
10 ConIIguratIon de SAM8A (TP)
11 ConIIguratIon de LDAP (TP)
Cours d'administration Unix
Cours d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A71
=oir $e texte du TP1
ObjectIIs :
nstaIIer un PC serveur CNUJLInux (InstaIIatIon reseau FTP ou HTTP
n'utIIIsant que Ie premIer CD).
VIsIter Ies prIncIpaux IIchIers de conIIguratIon utIIes a I'admInIstratIon d'un
serveur LInux.
ReaIIser des operatIons eIementaIres d'admInIstratIon a Ia maIn :
utIIIser des commandes de base d'admInIstratIon (mount, mkfs, df , ...)
gerer Ies comptes utIIIsateurs, ...
InstaIIer des serveurs usueIs (ssh, ftp).
UtIIIser Ie sheII (commandes, redIrectIons, IIItres) en InteractII, et comme
Iangage de programmatIon (scrIpts d'admInIstratIon).
I Gestion des uti$isateursJ des %roupes ' TP1
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A72
1 PresentatIon d'UnIx
2 PrIncIpes de IonctIonnement d'UNX
3 Iements d'admInIstratIon UNX
4 nstaIIatIon de LInux (TP)
5 Les IIchIers de conIIguratIon (TP)
6 CestIon des utIIIsateurs, des groupes (TP)
K Con)i%uration de NI# ?TPG
8 ConIIguratIon de NFS (TP)
9 ConIIguratIon de DNS (TP)
10 ConIIguratIon de SAM8A (TP)
11 ConIIguratIon de LDAP (TP)
Cours d'administration Unix
Cours d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A73
K NI# ' Prsentation
NI# : une base de donnees repartIe
PrIncIpes
nstaIIatIon
Commandes utIIes
ConIIguratIon
Lancement
TP
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A74
K NI# ' Prsentation
NI# (Network InIormatIon Center, http:JJwww.IInuxnIs.org ) :
ProtocoIe datant des annees 1985
OrIgIne : Ies YeIIow Pages (YP) de SUN
ConstItue une base de donnees repartIe pour Ies IIchIers de conIIguratIon
UnIx
Permet de centraIIser Ies IIchIers de conIIguratIon sur un serveur NI# pour
evIter de duppIIquer tous ces IIchIers en autant d'exempIaIres que
d'ordInateurs a gerer sur un reseau
vIte Ies copIes muItIpIes !
vIte Ies copIes pas a jour !!
Permet de n'avoIr a maIntenIr Ies IIchIers que sur une seuIe machIne (serveur)
NI# et N&# permettent de construIre des systemes InIormatIques repartIs
assurant un partage des IIchIers et des donnees coherent et transparent.
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A75
K NI# ' Prsentation
ServIcesJdemons utIIIses par Ie servIce NI# :
portmap mIse en correspondance numero de ports TCPJP <> numero
de processus RPC (voIr /etc/rpc pour Ies numeros reserves)
cte serveur :
(pser+ ImpIemente Ie serveur NS
(ppass-d permet de changer un mot de passe sur Ie serveur NS depuIs
un cIIent NS (demon rpc.yppasswd)
(px)rd acceIere Ies transIerts entre serveur matre et escIave (demon
rpc.ypxIrd)
Cte cIIent:
(p!ind ImpIemente Ie cIIent NS
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A76
FIchIers de
conIIguratIon
serveur
make
Cartes bInaIres
(maps)
*omaine NI#
*omaine NI#
CIIent NS
Requete acces IIchIer
de conIIguratIon
FIchIers
Iocaux
Le cIIent voIt Ies cartes
du serveur comme sI c'etaIent
des IIchIers Iocaux
AttentIon : Ie nom de domaIne
NI# et Ie nom de domaIne *N#
sont 2 concepts dIIIerents.
Serveur
NS Matre
rseau
*omaine NI#
JetcJnsswItch.conI :
ordre des choIx
1
0
NIS
K NI# ' Prinipe
Serveur
NS
escIave
Cartes
bInaIres
Domaine NIS
yprxId
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A77
FIchIers bInaIres
(commande ou demon)

FIchIers de conIIguratIon


FIchIers de Iancement
K NI# ' Insta$$ation 4 ser+eur
# rpm -ql ypserv
/etc/rc.d/init.d/yppasswdd
/etc/rc.d/init.d/ypserv
/etc/rc.d/init.d/ypxfrd
/etc/ypserv.conf
/usr/include/rpcsvc/ypxfrd.x
/usr/lib/yp/...
/usr/lib/yp/ypinit
/usr/lib/yp/ypxfr
...
/usr/sbin/rpc.yppasswdd
/usr/sbin/rpc.ypxfrd
/usr/sbin/yppush
/usr/sbin/ypserv
...
/usr/share/man/man8/ypxfrd.8.bz2
/var/yp/Makefile
Paquet serveur : (pser+

Insta$$ation : portmap et rseau prerequIs,
serveur -> urpmi ypserv
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A78
inaires
!commandes, dmons"
# rpm -ql yp-tools
/usr/bin/ypcat
/usr/bin/ypchfn
/usr/bin/ypchsh
/usr/bin/ypmatch
/usr/bin/yppasswd
/usr/bin/ypwhich
/usr/sbin/yppoll
/usr/sbin/ypset
/usr/sbin/yptest
/usr/share/doc/...
/usr/share/man/man1/...
/var/yp/nicknames
#ichiers con$i%uration
#ichiers lancement
K NI# ' Insta$$ation 4 $ient

# rpm -ql ypbind
/etc/rc.d/init.d/ypbind
/etc/yp.conf
/sbin/ypbind
/usr/share/doc/ypbind...
/usr/share/man/man5/...
/usr/share/man/man8/...
/var/yp/binding
Paquets cIIent : (p!ind et (p4too$s
Installation : portmap et rseau pr-requis,
client -> urpmi ypbind tp-tools
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A79
K NI# ' Commandes uti$es
Commandes uti$es
nisdomainname
domainname
ypdomainname aIIIcher Ie nom de domaIne NS
rpcinfo -p aIIIcher Ies servIces portmap
#er+eur
/usr/lib/yp/ypinit -m InItIaIIser Ie serveur matre
cd /var/yp; make reIaIre Ies cartes du serveur matre,
et Ies propager vers Ies serveurs escIaves
/usr/lib/yp/ypinit -s InItIaIIser un serveur escIave
C$ient
ypwhich aIIIcher Ie nom du serveur NS
yppasswd changer son mot de passe sur Ie serveur NS
ypcat passwd aIIIcher Ie IIchIer passwd du serveur
ypcat group aIIIcher Ie IIchIer group du serveur
ypcat ... aIIIcher Ie IIchIer ... du serveur
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A80
ordre dans IequeI utIIIser Ies dIIIerents mode d'acces possIbIes (IIchIer, nIs,
dns) pour resoudre Ies correspondances adresse P <=> FQDN
I est preIerabIe d'utIIIser Ie DNS pIutt que NS :
...
order hosts,bind
...
MaIs sI aucun serveur DNS n'est accessIbIe, on pourraIt ecrIre :
...
order hosts,nis
...
/etc/host.conf
ordre dans IequeI utIIIser Ies dIIIerents mode d'acces possIbIes (IIchIer, nIs,
dns) pour acceder au contenu des IIchIers de conIIguratIon
...
passwd: files nis nisplus
shadow: files nis nisplus
group: files nis nisplus
...
/etc/nsswitch.conf
Network ServIce SwItch
FIchIers Iocaux
NS+ = NS versIon 3 (securIse)
K NI# ' Con)i%uration ommune $ient L ser+eur ' on)i% rseau
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A81
K NI# ' Con)i%uration ser+eur ' on)i% rseau
Un ser+eur a une adresse IP )ixe => on doit precIser Ie nom du domaine
NI# dans un IIchIer de conIIguratIon
HOSTNAME=hostaaa.domainebbb.fr
NETWORKING=yes
GATEWAY=192.168.74.1
NISDOMAIN=tp
/etc/sysconfig/network
Tous Ies IIchIers de conIIguratIon des servIces specIIIques aux
dIstrIbutIons derIvees de RedHat (Fedora, MandrIva, ...)
sont dans Ie repertoIre : JetcJsysconIIg
tp
/etc/defaultdomain
FIchIer de conIIguratIon reseau : /etc/network/interfaces
FIchIer de conIIguratIon domaIne NS : /etc/defaultdomaine
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A82
K NI# ' Con)i%uration ser+eur
fIchIer ASC quI contenant 2 types de IIgne :
des optIons pour Ie demon ypserv : option: [yes|no] ExempIes :
dns yes Ie serveur Interrogera Ie DNS pour trouver ses cIIents quI
n'apparaIssent pas dans Ies maps hosts.
xfr_check_port yes : pour IaIre tourner Ie serveur sur un port InIerIeur
a 1024 (yes par deIaut)
des regIes d'acces au serveur NS ( > quI peut voIr quoI ...) au Iormat :
host:domain:map:security
security : none > acces autorIse
port > acces autorIse seuIement sI port cIIent < 1024
deny > pas d'acces
/etc/ypserv.conf
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A83
/etc/ypserv.conf
K NI# ' Con)i%uration ser+eur
ExempIe de IIchIer :
...
# Should we do DNS lookups for hosts not found in the hosts table ?
# This option is ignored in the moment.
dns: no
# xfr requests are only allowed from ports < 1024
xfr_check_port: yes
# Not everybody should see the shadow passwords, not secure, since
# under MSDOG everbody is root and can access ports < 1024 !!!
*:*:shadow.byname:port
...
/var/yp/Makefile
ContIent Ies optIons Importantes comme Ie choIx des cartes du serveur quI
seront exportes par NS.
A personnaIIser apres toutes InstaIIatIon d'un paquet ypserv.
/etc/nsswitch.conf
/etc/host.conf
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A84
K NI# ' Initia$isationJ $anement de NI# sur un ser+eur
Apres I'InstaIIatIon du paquet serveur NI# :
#er+eur maMtre
1 ConIIgurer Ie nom de domaIne NS
2 dIter sI besoIn Ie IIchIer /etc/hosts pour decIarer tous Ies serveurs
(matre ou escIaves) utIIIses par NS
3 dIter sI besoIn Ie IIchIer /var/yp/Makefile
4 dIter sI besoIn Ie IIchIer /etc/host.conf : choIx de I'ordre des
methodes de resoIutIon FQDN<>adresse P (IocaI, dns, nIs Z)
5 dIter sI besoIn Ie IIchIer JetcJnsswItch.conI : choIx de I'ordre des
methodes d'acces aux IIchIers seIectIonnee en 2
6 dIter Ie IIchIer /etc/ypserv.conf
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A85
K NI# ' Initia$isationJ $anement de NI# sur un ser+eur
7 VerIIIer Ia presence des scrIpts de demarrage
/etc/rc.d/init.d/yppasswdd, ypserv, ypxfrd
8 Lancer Ies servIces ypserv,ypserv et yppasswdd
9 InItIaIIser Ie serveur matre :/usr/lib/yp/ypinit -m
#er+eur es$a+e
1 nstaIIer Ia machIne comme un cIIent NS
2 nstaIIer Ia machIne comme un serveur matre (etapes 1 a 8 )
3 InItIaIIser Ie serveur escIave :
/usr/lib/yp/ypinit -s server_maitre
4 sur Ie serveur matre :
mettre Ia IIste des serveurs secondaIres dans Ie IIchIer /var/yp/ypserv
edIter Ie IIchIer /var/yp/Makefile, mettre Ia varIabIe NOPUSH a false
aIIer dans Ie repertoIre /var/yp et taper make
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A86
K NI# ' Con)i%uration $ient ' rseau
HOSTNAME=hostaaa.domainebbb.fr
NETWORKING=yes
GATEWAY=192.168.74.1
NISDOMAIN=tp
/etc/sysconfig/network
C$ient )ixe => on doit precIser Ie nom du domaine NI#
C$ient nomade ?porta!$eG
on peut precIser Ie nom du domaIne NS dans Ie IIchIer network,
maIs P8 quand on change de reseau
I est pIus Interessant d'utIIIser Ia conIIguratIon dynamIque *HCP pour
recuperer Ies InIormatIons nom de domaIne NS et serveur NS
...
request subnet-mask, broadcast-address, time-offset,routers,
domain-name, domain-name-servers, host-name, nis-domain;
...
/etc/dhclient-eth0.conf
/etc/dhclient.conf
tp
/etc/defaultdomain
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A87
/etc/nsswitch.conf
/etc/host.conf
LIste des serveurs pour Ie domaIne nIs du cIIent :
domain nom_domaine_nis server adresseIP|FQDN
/etc/yp.conf
(Permet d'evIter Ia recherche du serveur NS par broadcast)
K NI# ' Con)i%uration $ient
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A88
K NI# ' Lanement du ser+ie NI# Nt $ient
Apres I'InstaIIatIon du paquet cIIent NI# :
1 ConIIgurer Ie nom de domaIne NS
2 dIter sI besoIn Ie IIchIer /etc/host.conf : choIx de I'ordre des
methodes de resoIutIon FQDN<>adresse P (IocaI, dns, nIs Z)
3 dIter sI besoIn Ie IIchIer /etc/nsswitch.conf : choIx de I'ordre des
methodes d'acces aux IIchIers seIectIonnee en 2
4 dIter Ie IIchIer /etc/yp.conf pour desIgner Ie(s) serveur(s) NS
(utIIIser des adresses P pIutt que des FQDN ...)
5 ReIancer Ie servIce network (prIse en compte du nom de domaIne NS)
6 Lancer Ie servIce ypbind.
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A89
NS n'est pas un protocoIe tres securIse.
PreIerer I'utIIIsatIon de NS en rseau $oa$ (192.168.x.y) accedant a
Internet par une passereIIe securIse (IIrewaII)
UtIIIser Ies IIchIers /etc/ypserv.conf et /var/yp/securenet pour
IImIter Ies acces non autorIses a NS
K NI# ' surit
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A90
1 PresentatIon d'UnIx
2 PrIncIpes de IonctIonnement d'UNX
3 Iements d'admInIstratIon UNX
4 nstaIIatIon de LInux (TP)
5 Les IIchIers de conIIguratIon (TP)
6 CestIon des utIIIsateurs, des groupes (TP)
7 ConIIguratIon de NS (TP)
O Con)i%uration de N&# ?TPG
9 ConIIguratIon de DNS (TP)
10 ConIIguratIon de SAM8A (TP)
11 ConIIguratIon de LDAP (TP)
Cours d'administration Unix
Cours d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A91
O N&# ' Prsentation
N&# : un systeme de IIchIers reseau
PrIncIpes
nstaIIatIon
ConIIguratIon
Lancement
TP
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A92
N&# (Network FIIe System) http:JJnIs.sourceIorge.netJ :
FournIt un acces reseau transparent aux IIchIers d'un serveur
(systeme de IIchIer reseau)
Serveur sans etat
ProtocoIe IntroduIt par SUN en 1984, prIs en maIn par I'ETF (nternet
EngIneerIng Task Force) depuIs 1988
ProtocoIe ouvert, portabIe sur de nombreux envIronnements pIateIormesJ
reseaux, utIIIse Ies "PC (Remote Procedure CaIIs) de SUN
ServeurJCIIent NFS present sur tous Ies UnIx
CIIents N&# dIsponIbIes pour tous Ies systemes d'expIoItatIon (Ws,Ux,Mc)
VersIon actueIIe : 3 (RFC 1813), versIon 4 en cours (RFC 3530)
O N&# ' Prsentation
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A93
O N&# ' Prsentation
ServIcesJdemons utIIIses par Ie servIce NFS :
portmap mIse en correspondance numero de ports TCPJP <> numero de
processus RPC (voIr JetcJrpc pour Ies numeros reserves)
cte serveur :
rp.n)sd ImpIemente Ia partIe utIIIsateur du protocoIe
rp.statd prIse en compte du redemarrage des serveurs, pour une gestIon
correcte des verrous
(ImpIemente Ie protocoIe "PC N#2 (Network Status MonItor))
rp.$o/d gestIon du verouIIIage des IIchIers
(ImpIemente Ie protocoIe NL2 (Network Lock Manager))
rp.mountd ImpIemente Ia partIe serveur du protocoIe, a I'ecoute des
demandes de montage
cte cIIent : rp.statd rp.$o/d
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A94
Serveur
NFS
reseau
Ressources de stockage
exportees sous NFS
N&#
O N&# ' Prinipe
Le cIIent accede a Ia ressource
de Iaon transparente
mount -t nfs serveur:path_distant path_local
CIIent NFS
Ressources
IocaIes
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A95
FIchIers bInaIres
(commande ou demon)

FIchIers de conIIguratIon

FIchIers de Iancement

O N&# ' Insta$$ation 4 ser+eur
# rpm -ql nfs-utils
/etc/rc.d/init.d/nfs
/etc/sysconfig/nfs
/sbin/nfsddebug
/sbin/nfsdebug
/sbin/rpcdebug
/usr/sbin/exportfs
/usr/sbin/nfsstat
/usr/sbin/nhfsgraph
/usr/sbin/nhfsnums
/usr/sbin/nhfsrun
/usr/sbin/nhfsstone
/usr/sbin/rpc.mountd
/usr/sbin/rpc.nfsd
/usr/share/doc/...
/usr/share/man/man5/...
/usr/share/man/man7/...
/usr/share/man/man8/...
Paquet serveur : n)s4uti$s
Insta$$ation : portmap et rseau prerequIs,
serveur -> urpmi nfs-utils
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A96

O N&# ' Insta$$ation P ser+eur et $ient
Insta$$ation : portmap et rseau prerequIs,
serveur ou client -> urpmi nfs-utils-client
Paquet cIIent : n)s4uti$s4$ient
FIchIers bInaIres
(commande ou demon)
FIchIers de conIIguratIon

FIchIers de Iancement
#rpm -ql nfs-utils-clients
/etc/rc.d/init.d/nfslock
/sbin/rpc.lockd
/sbin/rpc.statd
/usr/sbin/showmount
/usr/share/doc/...
/usr/share/man/...
/var/lib/nfs
/var/lib/nfs/statd
/var/lib/nfs/state
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A97
(voIr man pour Ies detaIIs)
Serveur
showmount -a IIste des cIIentsJrepertoIre utIIIse
-d IIste des repertoIres montes par des cIIents
-e IIste des repertoIres exportes
exportfs -a reIIt Ie IIchIer /etc/exportfs
-ra remet a jour Ia IIste des repertoIres exportes
rpcinfo -p aIIIcher Ies servIces portmap
Client
rpcinfo -p [host] aIIIcher Ies servIces portmap
showmount -e host IIste des repertoIres exportes par Ie serveur host
O N&# ' Commandes uti$es
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A98
IIste des repertoIres exportes par Ie serveur,
et des optIons (droIts d'acces, ...)
Syntaxe :
directory1 host1(option,...) host2(option,...) ....
directory2 host1(option,...) host2(option,...) ....
...
ExempIe :
/opt 192.168.1.0/255.255.255.0(rw,no_root_squash)
/home 192.168.1.0/255.255.255.0(rw)
/mnt/disk 192.168.1.45(rw) pc1(ro)
/usr/local *(ro)
O N&# ' Con)i%uration ser+eur
optIons de Iancement du serveur NFS
/etc/sysconfig/nfs
Tous Ies IIchIers de conIIguratIon des servIces specIIIques aux
dIstrIbutIons derIvees de RedHat (Fedora, MandrIva, ...)
sont dans Ie repertoIre : /etc/sysconfig
/etc/exports
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A99
PrIncIpaIes optIons du IIchIer exports (serveur) :
ro read-onl& !acc's en lecture seule au rpertoire e(port"
r- readwrIte : Ie cIIent accede au repertoIre en IectureJecrIture
rootQsquash transIorme Ies acces UD root en UD nobody
noQrootQsquash Ies acces root sur Ie cIIent restent root sur Ie serveur !
a$$Qsquash ConvertIt tous Ies UDJCD en utIIIsateurs anonymes.
UtIIe pour exporter avec NFS des repertoIres pubIIcs.
PrIncIpaIes optIons du IIchIer fstab (cIIent) :
hard montage avec ecrIture bIoquante (> attente)
)%J !% montage en )or%round, back%ound
intr montage InterruptIbIe (utIIe avec hard en cas de bIocage)
so)t montage sans ecrIture bIoquante (> pas d'attente)
AttentIon : Ies optIons doIvent etre separees par des vIrguIes, SANS ESPACE.
O N&# ' Con)i%uration ser+eur
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A100
Le Iancement des servIces se IaIt cIassIquement :
VerIIIer Ia presence des scrIpts de demarrage
/etc/init.d/nfs et /etc/init.d/nfslock
Iancement automatIque par IIen symboIIque (preIIxe par Sxx) dans
/etc/rc3.d ou /etc/rc5.d
Iancement manueI :
/etc/init.d/nfs start, ou service nfs start (Mandriva)
On peut verIIIer Ie IonctIonnement en Interrogeant portmaper
On peut vIsuaIIser queIIe machIne cIIente monte queIIe ressource :
showmount -a
cat /proc/fs/nfs/exports
O N&# ' Lanement de N&# sur $e ser+eur
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A101
Cote cIIent, II suIIIt d'eIIectuer Ie montage de Ia ressource exportee par un
serveur NFS :Le Iancement des servIces se IaIt cIassIquement :
A Ia maIn : mount -t nfs serveur:path_distant point_de_montage
- path_distant : est Ie nom du repertoIre exporte par Ie serveur
- point_de_montage : est Ie nom du repertoIre IocaI a partIr duqueI seront
utIIIsabIe Ies IIchIers du serveur NFS
Pour automatIser Ie montage des ressources NFS sur un poste cIIent, on
utIIIser IIchIer JetcJIstab.
VoIr man mount pour Ies optIons de montage supportees par NFS
O N&# ' Lanement de N&# sur un $ient
...
serveur:/home/users /home/users nfs rsize=8192,wsize=8192,soft 0 0
...
/etc/fstab
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A102
NFS n'est pas un protocoIe tres securIse (No File Security !!!) :
Par deIaut I'UD root d'une machIne cIIente est mappee en I'UD nobody
pour tous Ies acces NFS
L'authentIIIcatIon des cIIents repose unIquement sur Ie nom de domaIne
ou I'adresse P => spooIIng possIbIe
L'IdentIIIcatIon des utIIIsateurs repose sur Ie user Id sur Ie poste
cIIents => usurpatIon possIbIe
TransactIons non cryptees
UtIIIsatIon recommandee en Intranet IsoIe protege de I'nterNet par un
FIrewaII (> on IaIt conIIance aux utIIIsateurs Iocaux !!!)
O N&# ' #urit
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A103
NFS peut utIIIser Ies mecanIsmes de contrIe d'acces oIIert par tpd, base
sur Ies IIchIers /etc/hosts.deny et /etc/hosts.allow
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
portmap: ALL
lockd: ALL
mountd: ALL
rquotad: ALL
statd: ALL
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
portmap: 192.168.0.0/255.255.255.0
lockd: 192.168.0.0/255.255.255.0
mountd: 192.168.0.0/255.255.255.0
rquotad: 192.168.0.0/255.255.255.0
statd: 192.168.0.0/255.255.255.0
O N&# ' #urit
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A104
1 PresentatIon d'UnIx
2 PrIncIpes de IonctIonnement d'UNX
3 Iements d'admInIstratIon UNX
4 nstaIIatIon de LInux (TP)
5 Les IIchIers de conIIguratIon (TP)
6 CestIon des utIIIsateurs, des groupes (TP)
7 ConIIguratIon de NS (TP)
8 ConIIguratIon de NFS (TP)
R Con)i%uration de *N# ?TPG
10 ConIIguratIon de SAM8A (TP)
11 ConIIguratIon de LDAP (TP)
Cours d'administration Unix
Cours d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A105
R *N# ' Prsentation
*N# : Systeme de Nommage par base de donnees repartIe
PrIncIpes
nstaIIatIon
ConIIguratIon
Lancement
TP
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A106
*N# (DomaIn Name System)
gere Ies correspondances entre Ies noms d'htes et Ies adresse P :
Par expIe : www.Iree.Ir correspond a I'adresse P 213.228.0.42
A I'orIgIne (annees 70) Ia tabIe des correspondances nom d'hte <>
adresse P etaIt ecrIte dans un IIchIer unIque HOSTS.TXT, gere par Ie
Network nIormatIon Center (NC) sur une machIne sItuee au StandIord
Research nstItute (SR) en CaIIIornIe.
Ies probIemes de taIIIe du IIchIer HOSTS.TXT, de conIIIt de noms, de charge
du reseau et du processeur Iors de Ia dIIIusIon du IIchIer ... ont montre que
Ie mecanIsme base sur HOSTS.TXT ne pouvaIt pas suIvre I'expansIon du
reseau
En 1984 Ies premIeres RFC decrIvant Ie Systeme de noms de domaIne
(DNS) sont pubIIees.
R *N# ' Prsentation
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A107
R *N# ' Prinipe
Ies donnees de chaque
noeud sont accessIbIes
de partout (mecanIsme
de cIIentserveur)
dupIIcatIon (serveurs
secondaIres) et cache
memoIre regIent Ies
aspect de robustesse et
perIormance
a chaque noeud sont
assocIes des serveurs de
noms
Ies cIIents sont des
resolvers (IIbraIrIe C)

AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A108


R *N# ' Prinipe
Ie prIncIpe arborescent des noms de domaIne garantIt I'unIcIte des noms
nom absoIu : www.Iree.Ir. equIvaIent a www.Iree.Ir
(on parIe aussI de &S*N : &uIIy SuaIIIIed *omaIn Name)
un domaIne est un sousarbre de I'espace de nommage
un mecanIsme de deIegatIon permet a un domaIne de creer autant de sous
domaInes qu'II veut ... et aInsI de suIte ....
II ya deIegatIon d'autorIte d'un domaIne vers chacun de ses sous
domaInes ... et aInsI de suIte ...
Ia resoIutIon Inverse (obtenIr un nom d'hte d'apres une adresse P) met en
oeuvre une branche partIcuIIere de I'espace de nommage construIte seIon :
d.c.b.a.in4addr.arpa pour une machIne d'adresse P a.b.c.d
Par exempIe Ia consuItatIon de I'hte correspondant a 42.0.228.213.In
addr.arpa donne www1.Iree.Ir
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A109
R *N# ' Prinipe
I'ImpIementatIon LInux est derIvee de 1IN* (8erkeIey nternet Name DomaIn),
ecrIt a I'orIgIne pour UnIx 8SD 4.3
8ND est aujourd'huI maIntenu par SC (nternet SoItware ConsortIum)
http:JJwww.Isc.orgJbInd.htmI
ServIcesJdemons utIIIses par Ie servIce DNS :
named ImpIementatIon du serveur DNS
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A110
FIchIers bInaIres
(commande ou demon)

FIchIers de conIIguratIon

FIchIers de Iancement

R *N# ' Insta$$ation 4 ser+eur
Paquet serveur : bInd9.3.1
Insta$$ation : rseau prerequIs, urpmi bind
JetcJIogrotate.dJnamed
JetcJrc.dJInIt.dJnamed
JetcJrndc.conI
JetcJrndc.key
JetcJsysconIIgJnamed
JusrJsbInJbIndchroot.sh
JusrJsbInJdnskeygen
...
JusrJsbInJnamed
JusrJsbInJrndc
...
JusrJshareJdocJbInd9.3.1...
JusrJshareJmanJman3J...
JusrJshareJmanJman8J...
...
JvarJIogJnamed
JvarJnamed
JvarJnamedJnamed.ca
JvarJrunJnamed
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A111
FIchIers bInaIres
(commande ou demon)
FIchIers de conIIguratIon
FIchIers de Iancement

R *N# ' Insta$$ation uti$itaires P ?ser+eur ou $ientG
Paquet cIIent : bIndutIIs9.3.1
Insta$$ation : rseau prerequIs, urpmi bind-utils
/usr/bin/dig
/usr/bin/host
/usr/bin/ldap2zone
/usr/bin/nslookup
/usr/bin/nsupdate
/usr/bin/zonetoldap
/usr/share/man/man1/...
/usr/share/man/man5/...
/usr/share/man/man8/...
/usr/share/doc/bind-utils-9.3.1/...
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A112
R *N# ' Commandes uti$es
Commandes uti$es
C$ient
Un cIIent resolver peut etre mIs en oeuvre avec Ies commandes dig, host.
ExempIe de syntaxe pour demander au serveur DNS serv Ies InIos de type typ
sur Ie domaIne dom :
dig [@serv] dom [typ]
host [-a] [-t type] dom [serv]
dnsdomainname retourne Ie nom de domaIne de I'hte
#er+eur
On peut agIr sur Ie demon named en cours de IonctIonnement grce a Ia
commande rndc
rndc aIIIche Ies optIons possIbIe
rndc flush vIde Ies caches du serveur de nom
rndc status aIIIche I'etat du serveur de noms
(voIr man pour Ies detaIIs)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A113
ordre dans IequeI utIIIser Ies dIIIerents mode d'acces possIbIes (IIchIer, nIs,
dns ...) pour resoudre Ies correspondances adresse P <=> FQDN
I est preIerabIe d'utIIIser Ie DNS pIutt que NS :
...
order hosts,bind
...

/etc/host.conf
ordre dans IequeI utIIIser Ies dIIIerents mode d'acces possIbIes (IIchIer, nIs,
dns ...) pour acceder au contenu des IIchIers de conIIguratIon
...
passwd: files nis nisplus
shadow: files nis nisplus
group: files nis nisplus
...
hosts: files dns nis
...
/etc/nsswitch.conf
Network ServIce SwItch
FIchIers Iocaux
DNS
R *N# ' Con)i%uration ommune $ient L ser+eur ' on)i% rseau
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A114
R *N# ' Con)i%uration ser+eur ' on)i% rseau
on peut precIser Ie nom du domaine *N# dans un IIchIer de conIIguratIon
HOSTNAME=hostaaa.mydomaine.fr
NETWORKING=yes
GATEWAY=192.168.74.1
/etc/sysconfig/network
Tous Ies IIchIers de conIIguratIon des servIces specIIIques aux
dIstrIbutIons derIvees de RedHat (Fedora, MandrIva, ...)
sont dans Ie repertoIre : JetcJsysconIIg
Le IaIt d'utIIIser un nom &S*N
pour HO#TN<2@ permet de IIxer
Ie domaine *N# de Ia machIne
/etc/nsswitch.conf
/etc/host.conf
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A115
/etc/named.conf
R *N# ' Con)i%uration ser+eur maMtre ' $e )ihier named.on)
,et,named.on) : IIxe Ies optIons prIncIpaIes du serveur DNS et Ies domaInes
sur IesqueIs Ie serveur a autorIte.
ExempIe de IIchIer d'un serveur DNS prImaIre ayant autorIte sur Ie domaIne
mydomaine.fr :
key "key" {
algorithm hmac-md5;
secret "c3Ryb25nIGVub3Bmb3I...YnV0IG1hZGUgZm9yIGEgd29tYW4K";
};
controls {
inet 127.0.0.1 allow { 127.0.0.1; } keys { "key"; };
};
options {
pid-file "/var/run/named/named.pid";
directory "/var/named";
};
...
meme cIeI que ceIIe deIInIe
pour rnd dans JetcJrndc.conI
serveur DNS matre
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A116
/etc/named.conf serveur DNS matre : suIte
deIInIt Ia zone Inverse
192.168.74 de type master a
partIr d'un IIchIer zone
zone "." {
type hint;
file "named.cache";
};
zone "mydomaine.fr"{
type master;
file "named.mydomaine";
};
zone "74.168.192.in-addr.arpa"{
type master;
file "named.74.168.192";
};
zone "0.0.127.in-addr.arpa"{
type master;
file "named.0.0.127";
};
deIInIt Ia racIne de type hint
a partIr d'un IIchIer zone
deIInIt Ia zone mydomaIne.Ir de type
master a partIr d'un IIchIer zone
R *N# ' Con)i%uration ser+eur maMtre ' )ihier named.on)
deIInIt Ia correspondance :
127.0.0.1<>IocaIhost
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A117
PrIncIpaux types d'enregIstrement d'un IIchIer zone DNS
#O< start oI authorIty : deIInIt Ie serveur DNS IournIssant
I'InIormatIon IaIsant autorIte sur un domaIne nternet
N# name server : deIInIt Ies serveurs DNS de ce domaIne
2X maII exchange : deIInIt Ies serveurs maII pour ce domaIne
< address : assocIe une adresse Pv4 a un nom d'hte
<<<< Pv6 address : assocIe une adresse Pv6 a un nom d'hte
PT" poInter : assocIe un nom de domaIne a une adresse P
CN<2@ canonIcaI name : decIare un nom aIIas d'un autre
#"= generaIIse Ia notIon de MX record, standardIse dans Ia RFC 2782.
R *N# ' Con)i%uration ser+eur ' struture d'un )ihier de Aone
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A118
@ IN SOA serv1.mydomain.fr. jl.mydomain.fr. (
2005112501 ; numro srie (annee mois jour xy)
21600 ; rafraichissement aprs 6h
3600 ; nouvel essai aprs 1h
604800 ; expiration aprs 7 jours
86400 ) ; TimeToLive (TTL) de 1 jour
; serveurs (primaire et secondaires ...)
IN NS serv1.mydomaine.fr.
IN NS serv2.mydomaine.fr.
; changeur de courier SMTP
IN MX 0 mail.mydomaine.fr.
; machines du domaine
localhost IN A 127.0.0.1
serv1 IN A 192.168.74.1
serv2 IN A 192.168.74.2
mail IN A 192.168.74.10
asterix IN A 192.168.74.100
...
; alias de machines
ftp IN CNAME serv2
R *N# ' Con)i%uration ser+eur ' struture )ihier Aone
ATTENTON : tous Ies noms
d'htes DOVENT etre
termInes par un .
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A119
R *N# ' Con)i%uration ser+eur ' struture )ihier Aone
Ie symboIe IndIque Ie domaIne auqueI s'appIIque Ie IIchIer (IcI mydomaIne.Ir).
=> Ies noms partIeIIement quaIIIIes sont reIatIIs a ce domaIne
Structure du debut d'autorIte #O< :
rappeI du nom du serveurmatre (serveur1.mydomaIne.Ir)
adresse maII responsabIe du serveur (caractere rempIace par. expIe :
jImydomaIne.Ir > jI.mydomaIne.Ir)
parenthese ouvrante (
numero de serIe
IntervaIIe entre 2 tentatIves des serveurs secondaIres de se resynchronIser sur Ie
serveur prImaIre
attente avant une nouveIIe tentatIve Iorsque Ia resynchronIsatIon d'un serveur
secondaIre a echoue
deIaI au bout duqueI Ies donnees expIres sur Ies serveurs secondaIres
duree de vIe sur Ies serveurs autres que Ies serveurs secondaIres
parenthese Iermante )
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A120
@ IN SOA serv1.mydomain.fr. jl.mydomain.fr. (
2005112501 ; numro srie (annee mois jour xy)
21600 ; rafraichissement aprs 6h
3600 ; nouvel essai aprs 1h
604800 ; expiration aprs 7 jours
86400 ) ; TimeToLive (TTL) de 1 jour
;
IN NS serv1.mydomaine.fr.
IN NS serv2.mydomaine.fr.
1 IN PTR serv1.mydomaine.fr.
2 IN PTR serv2.mydomaine.fr.
10 IN PTR mail.mydomaine.fr.
...
100 IN PTR asterix.mydomaine.fr.
...
R *N# ' Con)i%uration ser+eur ' struture )ihier Aone in+erse
La zone Inverse K>.1IO.1R0.in4addr.arpa decrIt Ies machInes du reseau
192.168.74.0:
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A121
@ IN SOA localhost. root.localhost. (
2005112501 ; numro srie (annee mois jour xy)
21600 ; rafraichissement aprs 6h
3600 ; nouvel essai aprs 1h
604800 ; expiration aprs 7 jours
86400 ) ; TimeToLive (TTL) de 1 jour
;
IN NS localhost.
; rsolution inverse 127.0.0.1 -> localhost
1 IN PTR localhost.
R *N# ' Con)i%uration ser+eur ' struture )ihier Aone in+erse
La zone Inverse T.T.10K.in4addr.arpa decrIt Ies machInes du reseau
127.0.0.0:
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A122
; <<>> DiG 9.3.0 <<>> @a.root-servers.net
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42818
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
518400 IN NS A.ROOT-SERVERS.NET.
518400 IN NS H.ROOT-SERVERS.NET.
...
518400 IN NS E.ROOT-SERVERS.NET.
518400 IN NS D.ROOT-SERVERS.NET.
;; ADDITIONAL SECTION:
A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4
H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53
...
D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90
...
R *N# ' Con)i%uration ser+eur ' )ihier de Aone raine
On cree ce IIchIer par Ia commande :
dig @a.root-servers.net > named.cache
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A123
options {
default-server localhost;
default-key "key";
};
server localhost {
key "key";
};
key "key" {
algorithm hmac-md5;
secret "c3Ryb25nIGVub3VnaCB...nV0GUgZm9yIGEgd29tYW4K";
};
R *N# ' Con)i%uration ser+eur ' $e )ihier rnd.on)
/etc/rndc.conf
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A124
R *N# ' Initia$isationJ $anement du ser+eur
Apres I'InstaIIatIon du paquet serveur *N# :
1 ConIIgurer Ie nom de domaIne DNS
2 dIter sI besoIn Ie IIchIer /etc/host.conf : choIx de I'ordre des
methodes de resoIutIon FQDN<>adresse P (IocaI, dns, nIs Z)
5 dIter sI besoIn Ie IIchIer /etc/nsswitch.conf : choIx de I'ordre des
methodes d'acces aux IIchIers
6 dIter Ie IIchIer /etc/named.conf : conIIgurer au besoIn
7 Creer Ie IIchIer de zone racIne
8 dIter Ies IIchIers de zone
9 Lancer Ie serveur.
10 - Tester avec Ies commandes host ou dig
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A125
R *N# ' Con)i%uration $ient ' rseau
HOSTNAME=hostaaa.mydomaine.fr
NETWORKING=yes
GATEWAY=192.168.74.1
NISDOMAIN=tpAL
/etc/sysconfig/network
C$ient )ixe => on peut precIser Ie nom du domaine *N#
C$ient nomade ?porta!$eG
on peut precIser Ie nom du domaIne DNS dans Ie IIchIer network,
maIs P8 quand on change de reseau !
I est pIus Interessant d'utIIIser Ia conIIguratIon dynamIque *HCP pour
recuperer Ies InIormatIons nom de domaIne DNS et serveur DNS
...
request subnet-mask, broadcast-address, time-offset,routers,
domain-name, domain-name-servers, host-name, nis-domain;
...
/etc/dhclient-eth0.conf
/etc/dhclient.conf
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A126
/etc/nsswitch.conf
/etc/host.conf
ContIent Ies InIormatIons Iues par Ies routInes de Ia bIbIIotheque resoIver :

namesever adresse P d'un serveur DNS accessIbIe
search nom du domaIne quI sera rajoute par deIaut aux noms de
domaIne partIeIIement quaIIIIes
/etc/resolv.conf
R *N# ' Con)i%uration $ient ?reso$+erG
search mydomaine.fr
nameserver 192.168.74.1
Exemple /etc/resolv.conf
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A127
/etc/named.conf
R *N# ' Con)i%uration ser+eur es$a+e ' $e )ihier named.on)
I est pIus que conseIIIe de conIIgurer un ou pIusIeurs serveur DNS
escIave par zone.
Le serveur DNS escIave reoIt Ia copIe des IIchIers zones envoyes par Ie
serveur DNS matre.
key "key" {
algorithm hmac-md5;
secret "c3Ryb25nIGVub3Bmb3I...YnV0IG1hZGUgZm9yIGEgd29tYW4K";
};
controls {
inet 127.0.0.1 allow { any; } keys { "key"; };
};
options {
pid-file "/var/run/named/named.pid";
directory "/var/named";
};
...
Le debut du IIchIer
named.conI est IdentIque a
ceIuI du serveur matre
serveur DNS ecIave
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A128
/etc/named.conf serveur DNS escIave : suIte
deIInIt Ia zone Inverse
192.168.74 de type s$a+e
zone "." {
type hint;
file "named.cache";
};
zone "mydomaine.fr"{
type slave;
masters { 192.168.74.1; }
file "named.mydomaine";
};
zone "74.168.192.in-addr.arpa"{
type slave;
masters { 192.168.74.1; }
file "named.74.168.192";
};
zone "0.0.127.in-addr.arpa"{
type master;
file "named.0.0.127";
};
deIInIt Ia racIne de type hint
a partIr d'un IIchIer zone
deIInIt Ia zone mydomaIne.Ir
de type s$a+e
R *N# ' Con)i%uration ser+eur es$a+e ' )ihier named.on)
deIInIt Ia correspondance :
127.0.0.1<>IocaIhost
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A129
1 PresentatIon d'UnIx
2 PrIncIpes de IonctIonnement d'UNX
3 Iements d'admInIstratIon UNX
4 nstaIIatIon de LInux (TP)
5 Les IIchIers de conIIguratIon (TP)
6 CestIon des utIIIsateurs, des groupes (TP)
7 ConIIguratIon de NS (TP)
8 ConIIguratIon de NFS (TP)
9 ConIIguratIon de DNS (TP)
1T Con)i%uration de L*<P ?TPG
11 ConIIguratIon de SAM8A (TP)
Cours d'administration Unix
Cours d'administration Unix
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A130
R L*<P ' Prsentation
L*<P : un annuaIre centraIIse
PresentatIon
nstaIIatIon
ConIIguratIon
Lancement
TP
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A131
R L*<P ' Prsentation
L*<P (LIghtweIght DIrectory Access ProtocoIe ; http:JJwww.openIdap.org)
ProtocoIe ouvert d'acces a un <nnuaire (1993), resuItant de I'adaptatIon de
Ia norme X.500 a TCPJP
Les <nnuaires sont des 8ases de Donnees partIcuIIeres specIaIIsees dans Ia
recherche de I'InIormatIon, pas dans Ie traItement
L'organIsatIon d'un annuaIre LDAP est hIerachIque et dynamIque (structure
et contenu)
voIutIvIte : on peut IacIIement ajouter des InIormatIons a un objet d'un
annuaIre (structure et contenu)
La dernIere versIon L*<P+7 propose chIIIrement (SSL, ...) et authentIIIcatIon
(SASL) pour securIser I'acces aux InIormatIons
OpenL*<P est un annuaIre derIve de LDAP de I'UnIversIte du MIchIgan
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A132
Un annuaIre permet de stocker des donnees typees,
organIsees seIon des cIasses partIcuIIeres
presentees dans un arbre.
L'exempIe Ie pIus commun est I'annuaIre de personnes
MaIs on peut stocker bIen d'autres choses:
comptes UnIx,
donnees personneIIes (carnet d'adresses, photos, etc.),
donnees d'IdentIIIcatIon,
certIIIcats ...
... pIus generaIement tout ce quI peut etre nomme et a quI on peut attacher
des InIormatIons.
R L*<P ' Prsentation
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A133
Un cIIent ouvre une sessIon LDAP sur Ie port TCP 389 du serveur.
Le cIIent envoIe des requetes au serveur quI envoIe des reponses en retour.
Une IoIs Ia connexIon au serveur etabIIe, Ies operatIons cIassIques sont :
1ind : IndIque Ia versIon du protocoIe utIIIsee, et authentIIIe I'utIIIsateur.
#tart TL# : utIIIsatIon Transport Layer SecurIty pour securIser Ia connexIon
o #earh : recherche dans I'annuaIre et rapatrIement des donnees ;
o Compare : test sI une entree contIent un attrIbut avec une vaIeur donnee
o <dd : ajout d'une nouveIIe entree ;
o *e$ete : suppressIon d'une entree ;
o 2odi)( : modIIIcatIon d'une entree ;
o 2odi)( *N : depIacement ou renommage d'une entree ;
o <!andon : annuIatIon d'une requete precedente ;
o @xtended : permet de deIInIr d'autres operatIons ;
Un!ind : cIture Ia connexIon.
R L*<P ' Prsentation 4 Prinipe d'une session
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A134
Serveurs LDAP
Apache DIrectory Server
Fedora DIrectory Server
Red Hat DIrectory Server
OpenLDAP
NoveII eDIrectory
Sun DIrectory Server EnterprIse EdItIon
8M SecureWay DIrectory
8M TIvoII DIrectory Server (IormerIy 8M DIrectory Server)
8M Lotus DomIno
WIndows Server 2003 ActIve DIrectory
OracIe nternet DIrectory
...
R L*<P ' Prsentation
@xemp$es de ser+eurs L*<P '
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A135
R L*<P ' Prsentation 4 L'ar!oresene d'in)ormations ?*ITG
Les InIormatIons d'un annuaIre sont organIsees seIon une arborescence
hIerarchIque (Ie *IT : DIrectory nIormatIon Tree)
Ies InIormatIons sont des entrees (*#@ : DIrectory ServIce Entry)
Au seIn du *IT, I`IdentIIIcatIon d`une entree se IaIt a I`aIde d`un nom,Ie
*istin%uish Name (DN).
"e$ati+e *istin%uished Name (RDN)
ExempIe : mail=Audrey.Tautou@inpg.fr, uid=tautoua, etc.
*istin%uished Name (DN)
RDN + chemIn dans I'arborescence en remontant
attrIbut du RDN a choIsIr pour que tout DN soIt unIque
ExempIe : uid=tautoua,ou=people,ou=inpg,dc=agalan,dc=org
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A136
R L*<P ' Prsentation 4 L'ar!oresene d'in)ormations ?*ITG
Les entres de I'annuaIre
sont des o!;ets (correspond a un objet abstraIt ou reeI ),
appartIennent a des $asses, deIInIssant des attrIbuts
Ies attrIbuts, Ies syntaxes et Ies cIasses d`objets sont IdentIIIes a I`aIde
d`un numro unique, OI* (Object dentIIIer).
L`ensembIe des attrIbuts, de Ieur syntaxe, des regIes de comparaIson et
des cIasses d`objets, constItue Ie shma de I`annuaIre.
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A137
est constItuees d'attrIbuts obIIgatoIres (MUST) ou optIonneIs (MAY)
est de type structureIIe, auxIIIaIre ou abstraIte
s'InscrIt dans un arbre d'herItage de cIasses (SUP : cIasse mere)
LDAP deIInIt des cIasses d'apres X.500
On peut en IabrIquer de nouveIIes !
R L*<P ' Prsentation P Les C$asses
Une $asse
inetorgPerson ( 2.16.840.1.113730.3.2.2
NAME 'inetOrgPerson'
SUP organizationalPerson
STRUCTURAL
MAY ( audio $ businessCategory $ carLicense $ departmentNumber $
displayName $ employeeNumber $ employeeType $ givenName $
homePhone $ homePostalAddress $ initials $ jpegPhoto $...
x500uniqueIdentifier $ preferredLanguage $
userSMIMECertificate $ userPKCS12
)
)
@xemp$e de $asse
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A138
R *N# ' Insta$$ation 4 ser+eur
FIchIers bInaIres
(commande ou demon)

FIchIers de conIIguratIon

FIchIers de Iancement

/etc/logrotate.d/ldap
/etc/openldap
/etc/openldap/DB_CONFIG.example
/etc/openldap/schema
/etc/openldap/schema/local.schema
/etc/openldap/slapd.access.conf
/etc/openldap/slapd.conf
/etc/rc.d/init.d/ldap
/etc/ssl/openldap
/etc/sysconfig/ldap
/usr/lib/openldap
/usr/lib/openldap/accesslog-2.3.so.0...
/usr/sbin/slapacl
/usr/sbin/...
/usr/sbin/slapd...
/usr/sbin/slappasswd...
/usr/share/doc/openldap-servers-2.3.6 ...
/usr/share/man/man5/slapd-bdb.5.bz2 ...
/usr/share/openldap/schema...
/usr/share/openldap/schema/autofs.schema
...
Paquet serveur : open$dap-servers-2.3.6
Insta$$ation : rseau prerequIs, serveur -> urpmi openldap-servers-2.3.6
nom du bInaIre Idap
(StandaIone LDAP Daemon)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A139
R *N# ' Insta$$ation 4 ser+eur
<utres paquets B insta$$er '
open$dap4$ients
IournIt Ies commandes : Idapadd, IdapdeIete, IdapmodIIy, Idapsearch, ...
nssQ$dap
IournIt I'InterIaage entre L*<P et le Name Service Switch (fichier
/etc/nsswitch)
pamQ$dap
IournIt I'InterIaage entre L*<P et Ie Linux4P<2 (ModuIe d'authentIIIcatIon
pour LInux)
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A140
IIchIer ASC contenant dIIIerents types de IIgne :
des IncIude de schemas preetabIIes :
include /usr/share/openldap/schema/nis.schema
des deIInItIons d'ACL (Access ControI LIst) compIementaIres
include /etc/openldap/slapd.access.conf
des deIInItIons de base :
database bdb
suffix "dc=world-company,dc=com"
PreconIsatIons de I'ETF :
> du nom de domaIne DNS comme suIIIxe de son annuaIre
> I'utIIIsatIon de I`attrIbut DomaIn Component (dc) :
dc=worIdcompany, dc=com
/etc/openldap/slapd.conf
R L*<P ' Con)i%uration 4 ser+eur
ConIIguratIon du serveur $dap stand4a$one
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A141
/etc/openldap/slapd.conf
R L*<P ' Con)i%uration 4 ser+eur
suIte
Ie repertoIre ou seront stockes Ies IIchIers de donnees Idpap :
directory /var/lib/ldap
Le nom du superutIIIsateur pour cette base :
rootdn "cn=admin,dc=example,dc=com"
et son mot de passe :
rootpw {SSHA}/egZlrlv21XhkwRsU2cjzZ6F0Upd31ar
Le mot de passe crypte peut etre genere par Ia commande slappasswd :
[root@mars ~]# slappasswd -h '{SSHA}' -s secret -v
[root@mars ~]# {SSHA}/egZlrlv21XhkwRsU2cjzZ6F0Upd31ar
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A142
L*<P *ata Interhan%e &ormat (LDF) est Ie standard de representatIon des
entrees sous Iorme texte.
UtIIIse pour aIIIcherJmodIIIer Ies donnees de Ia base suIvant deux modes :
IaIre des ImportsJexports de base,
IaIre des modIIIcatIons sur des entrees.
Le Iormat utIIIse est I`ASC.
Toute vaIeur d`attrIbut ou tout DN quI n`est pas ASC, est code en base 64.
Des exempIes de IIchIers LDF seront vus en TP.
R L*<P ' $e $an%a%e textue$ L*I&
AdmInIstratIon UnIx v1.2 jeanIuc CharIesJ 01J02J2007 page A143
CRU (ComIte Reseau des UnIversItes):
http:JJwww.cru.IrJIdapJ

Vous aimerez peut-être aussi