Vous êtes sur la page 1sur 146

Cours d'administration Unix

1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de SAMBA (TP)
11 Configuration de LDAP (TP)

1 Prsentation d'Unix

Historique (AT&T, BSD, ... GNU/Linux)


Unix propritaire / Unix Libre
Unix en 2005 : The Open Group
Concept de logiciel libre
GNU et FSF
Open Source
GNU/Linux
Les distributions de GNU/Linux

Historique
UNIX est le nom d'un systme d'exploitation multitche et
multi-utilisateur cr en 1969, conceptuellement ouvert et fond
sur une approche par laquelle il offre de nombreux petits outils
chacun dots d'une mission spcifique. Il a donn naissance
une famille de systmes, dont les plus populaires en 2009 sont
Linux et Mac OS X. On nomme famille Unix l'ensemble de ces
systmes. On dit encore qu'ils sont de type Unix et on les
qualifie (en anglais, UNIX tant invariable en franais) dUnices. Il
existe en date de 2008 un ensemble de standards runis sous la
norme POSIX qui vise unifier certains aspects de leur
fonctionnement. Le nom UNIX drive de Unics, un jeu de mot
avec Multics, car contrairement ce dernier qui visait offrir
simultanment plusieurs services un ensemble d'utilisateurs, le
systme initial de Kenneth Thompson se voulait moins ambitieux
et utilisable par une seule personne la fois avec des outils
ralisant une seule tche[

Historique
Voici un schma non exhaustif retraant globalement l'apparition des principaux
systmes de type UNIX:

1 Prsentation d'Unix : Unix propritaire/libre


Les principaux Unix propritaires

IBM

Les principaux Unix Libres

AIX

HP

HP-UX
Tru64 UNIX
SCO UnixWare
SGI

IRIX

OpenBSD
FreeBSD
NetBSD
Mac-OS X

les
SUN SOLARIS
GNU/Linux
The Open Group
Possde la marque dpose UNIX
Publie la norme Single UNIX
Specification
http://www.unix.org

(intgre les normes prcdentes : X/Open


Company's XPG4, IEEE's POSIX Standards et

1 Prsentation d'Unix : Concept de Logiciel Libre

Origines du Logiciel
Libre :
Richard Stallman (chercheur au MIT,
auteur de gcc, Emacs ...) nonce clairement
le concept de logiciel libre (free)
... un savoir scientifique doit tre partag en le distribuant, ...
les codes source doivent tre libres d'accs ...

Dmarre le projet GNU (1984). But : re-crer


un systme d'exploitation complet (Unixlike), compos uniquement de logiciels
Richard Stallman

libres.
Cr la FSF (Free Software Fundation, 1985)
pour grer le projet GNU.
Remarque : Free dans la culture hacker
signifie libre, pas ncessairement
gratuit ou non commercial

1 Prsentation d'Unix : le projet GNU

Le projet GNU
www.gnu.org
Principe de base : le libre accs au code source acclre le
progrs en matire d'informatique car l'innovation dpend de
la diffusion du code source
La libert au sens GNU est dfinie selon quatre principes :
- libert d'excuter le programme, pour tous les usages
- libert d'tudier le fonctionnement du programme, de
l'adapter ses besoins
- libert de redistribuer des copies
- libert d'amliorer le programme et de publier ses
amliorations,
pour en faire profiter toute la communaut

1 Prsentation d'Unix : la licence GPL

La licence GPL (General Public licence)


www.gnu.orgcopyleft/gpl.html
Autorise l'utilisateur copier et distribuer volont le logiciel
qu'elle protge, pourvu qu'il n'interdise pas ses pairs de le
faire aussi
Requiert aussi que tout driv d'un travail plac sous sa
protection soit lui aussi protg par elle
Quand la GPL voque les logiciels libre, elle traite de libert et
non de gratuit (un logiciel GPL peut tre vendu)
Remarque : en anglais free mlange gratuit et libert
(R. Stallman prcise bien : Free as in speech, not as in beer")

1 Prsentation d'Unix : le copyleft GPL

Le copyleft de la licence GPL


www.gnu.org/copyleft
Cr par Stallman en 1984
Garantit les 4 liberts fondamentales pour tous les utilisateurs
(artiste, informaticien, ou quiconque produit un travail soumis
au droit d'auteur)
vite de mettre les logiciels GNU dans le domaine public (pas
de protection)
Spcifie que quiconque redistribue le logiciel, avec ou sans
modifications, doit aussi transmettre la libert de les copier et
de les modifier
Encourage et aide les programmeurs (entreprises, universits)
qui veulent ajouter et/ou contribuer des amliorations des

1 Prsentation d'Unix : l'Open Source

L' Open Source Initiative OSI


www.opensource.org
En 1997, Eric Raymond (consulutant), Tim O'Reilly et Larry
Augustin (prsident de VA Research), leaders de la
communaut du logiciel libre, introduisent Open Source, pour
labeliser les logiciels au code source ouvert
Open Source est moins contraignant que la GPL
Open Source Definition est un descendant direct du Debian
Social Contract
Open Source permet surtout une plus grande promiscuit lors
d'un mlange de code propritaire avec du code open source

1 Prsentation d'Unix : GNU/Linux

GNU/Linux :
C'est un Unix part entire
C'est un logiciel libre distribu sous licence GPL
Les sources du noyau Linux sont disponibles sur
http://www.kernel.org/
Intgre :
- le noyau Linux (clone du systme Unix crit par Linus
Torvalds et toute une quipe de dveloppeurs sur InterNet)
- des composants logiciels libres issus du projet GNU (gcc, ...)
conforme la norme Single UNIX
Disponible pour toutes les plateformes (PC, station,cluster,
mainframe,
...) diteurs de solutions UNIX propritaires
La plupart des
intgrent GNU/Linux en remplacement (IBM, HP,
SiliconGraphics ...)
L'administration Linux est calque sur UNIX System V (AT&T)

1 Prsentation d'Unix : distributions de Linux

www.redhat.fr
socit amricaine fonde en 1994.
clbre pour avoir introduit le systme Red hat
Package Manager (RPM), de gestion de paquets
logiciels
fedora.redhat.com
version grand publique gratuite de RedHat
utilise le systme de gestion de paquets RPM

1 Prsentation d'Unix : distributions de Linux

www.mandriva.com
LA distribution franaise par excellence
Trs rpandue dans le milieu ducatif, et en
PME/PMI
utilise le systme de gestion de paquets
www.novell.com/linux/suse
RPM
socit allemande fonde Nuremberg en
1993
rachete en 2003 par l'diteur de logiciels
amricain Novell
utilise le systme de gestion de paquets
RPM

1 Prsentation d'Unix : distributions de Linux

www.debian.org
distribution issue d'un effort
communautaire,
le projet Debian , et non d'une entreprise
distribution trs soigne et ingnieuse
austre installer et administrer
(dconseille aux dbutants ?)
www.ubuntu-fr.org
Utilise le systme de gestion de paquets
Distribution
populaire base dbian lance
debian
en 2004. Son nom provient d'un ancien mot
bantou (langue d'Afrique), ubuntu, signifiant
Humanit aux autres, ou encore Je suis
ce que je suis grce ce que nous sommes
tous

1 Prsentation d'Unix : distributions de Linux

www.turbolinux.com
La distribution de Linux majeure pour les
pays d'Asie(particulirement rpandue en
Chine)

Cours d'administration Unix


1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de SAMBA (TP)
11 Configuration de LDAP (TP)

2 Principes de fonctionnement d'UNIX

Boot et lancement du noyau


Processus init
Services et dmons
Les runlevels
Scripts de lancement des services
Exemple d'outil graphique

2 Principes de fonctionnement d'UNIX : lancement du noyau

Lancement du systme : boot et chargement du


noyau
Au boot le BIOS excute le MBR (Master Boot Reccord) situ
sur le premier secteur (512 octets) du support bootable choisi
(disque, CD, clef USB, ...)
Le MBR :
- scanne le disque pour trouver LA partition bootable (flag)
- lance le boot loader (chargeur de dmarrage) du secteur
de boot (premier secteur) de la partition bootable
Le bootloader :
- charge le noyau en mmoire et l'excute
- charge le ramdisk initrd.img en mmoire
2 bootloader possibles: Lilo (Linux Loader)
Grub (Grand Unified Bootloader)

2 Principes de fonctionnement : processus init

Lancement du systme : boot ->


init
Une fois le noyau charg en mmoire, il lance le premier
processus :
/bin/init
init est le pre de tous les autres processus qui seront crs
par l'appel system fork()
init lit le fichier /etc/inittabpour savoir :
- quel est le fichier excuter pour continuer le
chargement du systme
- quel est le runlevel (niveau d'excution) par dfault
- comment lancer les services pour un runlevel donn
- ...

2 Principes de fonctionnement d'UNIX : processus init

Exple de fichier /etc/inittab

format des lignes

id:runlevels:action:process

Le niveau d'excution
par dfaut
Les niveaux d'excution
possibles
Action faire sur
l'vnement CTRL-ALT-DEL
Pour les niveaux 2 5,
activer plusieurs consoles
en mode caractre

#
#inittabThisfiledescribeshowtheINITprocessshouldsetup
#thesysteminacertainrunlevel.
#
#Defaultrunlevel.TherunlevelsusedbyMandrakelinuxare:
#0halt(DoNOTsetinitdefaulttothis)
#1Singleusermode
#2Multiuser,withoutNFS(Thesameas3,ifyoudonothave
networking)
#3Fullmultiusermode
#4unused
#5X11
#6reboot(DoNOTsetinitdefaulttothis)
#
id:5:initdefault:
#Systeminitialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc0
l1:1:wait:/etc/rc.d/rc1
l2:2:wait:/etc/rc.d/rc2
l3:3:wait:/etc/rc.d/rc3
l4:4:wait:/etc/rc.d/rc4
l5:5:wait:/etc/rc.d/rc5
l6:6:wait:/etc/rc.d/rc6
#TrapCTRLALTDELETE
ca::ctrlaltdel:/sbin/shutdownt3rnow
......
#Rungettysinstandardrunlevels
1:2345:respawn:/sbin/mingettytty1
2:2345:respawn:/sbin/mingettytty2
3:2345:respawn:/sbin/mingettytty3
......

2 Principes de fonctionnement d'UNIX : processus init

Exple de fichier /etc/inittab

format des lignes

id:runlevels:action:process

#Thedefaultrunlevel.
id:2:initdefault:

Le niveau d'excution
par dfaut

Les niveaux d'excution


possibles
Action faire sur
l'vnement CTRL-ALT-DEL
Pour les niveaux 2 et 3,
activer plusieurs consoles
en mode caractre

#Boottimesystemconfiguration/initializationscript.
#Thisisrunfirstexceptwhenbootinginemergency(b)mode.
si::sysinit:/etc/init.d/rcS
#Whattodoinsingleusermode.
~~:S:wait:/sbin/sulogin
#/etc/init.dexecutestheSandKscriptsuponchange
#ofrunlevel.
#
#Runlevel0ishalt,1issingleuser,25aremultiuser,6isreboot.
l0:0:wait:/etc/init.d/rc0
l1:1:wait:/etc/init.d/rc1
......
l5:5:wait:/etc/init.d/rc5
l6:6:wait:/etc/init.d/rc6
#WhattodowhenCTRLALTDELispressed.
ca:12345:ctrlaltdel:/sbin/shutdownt1arnow
1:2345:respawn:/sbin/getty38400tty1
2:23:respawn:/sbin/getty38400tty2
3:23:respawn:/sbin/getty38400tty3
4:23:respawn:/sbin/getty38400tty4
5:23:respawn:/sbin/getty38400tty5
6:23:respawn:/sbin/getty38400tty6
......

2 Principes de fonctionnement d'UNIX : processus init

Exemples d'actions courantes pour le fichier inittab :


respawn

Le processus est redmarr chaque fois qu'il se


termine
wait
Le processus n'est dmarr qu'une seul fois
boot
Le processus est excut pendant le dmarrage
du systme
initdefault indique le mode de dmarrage une fois le
systme oprationnel. Si aucun n'existe, init
demandera un runlevel sur la console
sysinit
Le processus est excut pendant le dmarrage
du systme. Il est excut avant les entres boot
ou bootwait
ctrlaltdel
Le processus est excut lorsque init reoit le
signal SIGINT. (appui simultan des touches
CTRL+ALT+DEL)

2 Principes de fonctionnement d'UNIX : services et dmons

Lancement du systme : boot -> init ->


modules/services
Aprs le chargement du noyau, le script correspondant
sysinit dans fichier inittab est charg :
- Mandrake : /etc/rc.d/rc.sysinit (1 script ~ 1300
lignes !!)
- Debian : /etc/rc.d/rcSlance les scripts
/etc/rcS.d/S??*
Ce script d'initialisation est charg de 2 tches fondamentales
:
- charger les modules dans le noyau (gestion des
priphriques)
- dmarrer les services en excutant les processus
Deferred Auxiliary Executive Monitor (daemons)

2 Principes de fonctionnement d'UNIX : services et dmons

Exemple de dmons :
kswapd
kflusd
nfsd
portmap
xinetd
ftpd
httpd

swap mmoire <-> disque


criture physique des donnes
serveur fichiers rseaux (NFS)
mise en correspondance numro de ports TCP/IP
<-> numro de processus RPC
super-serveur de gestion des services rseau
serveur de transfert de fichiers (FTP)
serveur HTTP

Les dmons peuvent implmenter :


- un service noyau (kswapd, ...)
- un service rseau (httpd, ...)

2 Principes de fonctionnement d'UNIX : les runlevels

Lancement du systme : boot -> init -> services


Le mcanisme de dmarrage des services est
caractristique d'une distribution ( : incompatibilits entre
distributions) :
- Mandriva, Debian, RedHat, ...

mcanisme driv d'Unix

System V
- Slackware, FreeBSD, NetBSD, ... mcanisme drive
d'Unix BSD
le rpertoire /etc/init.d contient tous les scripts de gestion
des services installs (1 service <-> 1 ou plusieurs
dmon(s))
les lignes /etc/rc.d/rcx du fichier /etc/inittab
dterminent le lancement des scripts pour le runlevel x
Le runlevel de l'action initdefault est

2 Principes de fonctionnement d'UNIX : les runlevels

Lancement du systme : boot -> init -> services


Le runlevel (numro de 0 6) fixe le rpertoire de dmarrage
des services :
- Mandrake -> rpertoires /etc/rc.d/rc[06].d
- Debian -> rpertoires /etc/rc[06].d
rcX.d : contient des liens symboliques vers les scripts de
gestions des services qui sont dans le rpertoire :
- /etc/rc.d/init.d (Mandrake, + lien symbolique vers
/etc/init.d)
- /etc/init.d (Debian)
Les liens sont forms selon la syntaxe : [S|
K]XX<nom_du_script>
-S

lance le script avec l'argument start (dmarrage du

2 Principes de fonctionnement d'UNIX : Scripts de lancement

Extrait du fichier /etc/rc.d/rc


#!/bin/sh
......
#Nowfindoutwhatthecurrentandwhatthepreviousrunlevelare.
Argv1="$1"
......
#Getfirstargument.Setnewrunleveltothisargument.
[n"$argv1"]&&runlevel="$argv1"
......
#First,runtheKILLscripts.
foriin/etc/rc$runlevel.d/K*;do
......
done
#NowruntheSTARTscripts.
foriin/etc/rc$runlevel.d/S*;do
check_runlevel"$i"||continue
#Checkifthesubsystemisalreadyup.
subsys=${i#/etc/rc$runlevel.d/S??}
[f/var/lock/subsys/$subsysof/var/lock/subsys/$subsys.init]&&continue
#Ifwe'reinconfirmationmode,getuserconfirmation
if[f/var/run/confirm];then
if["$subsys"=dm];then
CONFIRM_DM=1
continue
fi
confirm$subsys
case$?in
1)continue;;
2)rmf/var/run/confirm;;
esac
fi
......

2 Principes de fonctionnement d'UNIX : Scripts de lancement

Extrait du fichier
......
/etc/init.d/rc
#Getfirstargument.Setnewrunleveltothisargument.
["$1"!=""]&&runlevel=$1
......
#First,runtheKILLscripts.
......
foriin/etc/rc$runlevel.d/K[09][09]*
do
#Checkifthescriptisthere.
[!f$i]&&continue
#Stoptheservice.
startup$istop
done
fi
#NowruntheSTARTscriptsforthisrunlevel.
foriin/etc/rc$runlevel.d/S*
do
[!f$i]&&continue
......
suffix=${i#/etc/rc$runlevel.d/S[09][09]}
stop=/etc/rc$runlevel.d/K[09][09]$suffix
previous_start=/etc/rc$previous.d/S[09][09]$suffix
#
case"$runlevel"in
0|6)
startup$istop
;;
*)
startup$istart
;;
esac
done
fi
#eof/etc/init.d/rc

2 Principes de fonctionnement d'UNIX : Scripts de lancement

Exemple de contenu du rpertoire /etc/rc5.d :

Dmarrage du rseau
Dmarrage du service Son
Dmarrage de la bannire
de connexion en mode
graphique (display
manager)
Dmarrage du service
anti-spam

Pour finir, Lancement du


script de configuration
locale

lrwxrwxrwx1rootroot14Jul2021:46K59dund>../init.d/dund*
lrwxrwxrwx1rootroot14Jul2021:46K59hidd>../init.d/hidd*
lrwxrwxrwx1rootroot14Jul2021:46K59pand>../init.d/pand*
lrwxrwxrwx1rootroot14Jul2021:43S01udev>../init.d/udev*
lrwxrwxrwx1rootroot19Jul2021:46S05harddrake>
../init.d/harddrake*
lrwxrwxrwx1rootroot17Jul2022:02S10network>../init.d/network*
lrwxrwxrwx1rootroot17Jul2022:02S11portmap>../init.d/portmap*
lrwxrwxrwx1rootroot16Jul2022:02S12syslog>../init.d/syslog*
lrwxrwxrwx1rootroot17Jul2021:43S13partmon>../init.d/partmon*
lrwxrwxrwx1rootroot17Jul2021:46S14nfslock>../init.d/nfslock*
lrwxrwxrwx1rootroot14Jul2021:42S17alsa>../init.d/alsa*
lrwxrwxrwx1rootroot16Jul2022:03S17ypbind>../init.d/ypbind*
lrwxrwxrwx1rootroot15Jul2022:02S18sound>../init.d/sound*
lrwxrwxrwx1rootroot13Jul2021:44S20xfs>../init.d/xfs*
lrwxrwxrwx1rootroot20Jul2021:43S24messagebus>
../init.d/messagebus*
lrwxrwxrwx1rootroot19Jul2021:46S25bluetooth>
../init.d/bluetooth*
lrwxrwxrwx1rootroot19Jul2021:44S25haldaemon>
../init.d/haldaemon*
lrwxrwxrwx1rootroot15Jul2022:02S25netfs>../init.d/netfs*
lrwxrwxrwx1rootroot17Jul2021:47S29numlock>../init.d/numlock*
lrwxrwxrwx1rootroot12Jul2021:43S30dm>../init.d/dm*
lrwxrwxrwx1rootroot14Jul2021:44S33nifd>../init.d/nifd*
...
lrwxrwxrwx1rootroot13Jul2021:46S40atd>../init.d/atd*
lrwxrwxrwx1rootroot14Jul2021:47S55sshd>../init.d/sshd*
lrwxrwxrwx1rootroot20Jul2022:02S56rawdevices>
../init.d/rawdevices*
lrwxrwxrwx1rootroot18Jul2022:02S75keytable>../init.d/keytable*
lrwxrwxrwx1rootroot15Jul2017:52S80spamd>../init.d/spamd*
lrwxrwxrwx1rootroot17Jul2021:50S85proftpd>../init.d/proftpd*
lrwxrwxrwx1rootroot15Jul2022:02S90crond>../init.d/crond*

2 Principes de fonctionnement d'UNIX : Scripts de lancement

Exemple de contenu du rpertoire /etc/rc5.d :


lrwxrwxrwx1rootroot182005091820:04S10sysklogd>../init.d/sysklogd
lrwxrwxrwx1rootroot152005091820:04S11klogd>../init.d/klogd
lrwxrwxrwx1rootroot132005091820:03S14ppp>../init.d/ppp
lrwxrwxrwx1rootroot172005091819:10S18portmap>../init.d/portmap
Dmarrage du rseau
lrwxrwxrwx1rootroot142005091909:42S20apmd>../init.d/apmd
lrwxrwxrwx1rootroot162005091819:11S20dbus1>../init.d/dbus1
lrwxrwxrwx1rootroot172005091819:11S20dirmngr>../init.d/dirmngr
Dmarrage du service
lrwxrwxrwx1rootroot152005091820:03S20exim4>../init.d/exim4
d'impression
lrwxrwxrwx1rootroot152005091820:03S20inetd>../init.d/inetd
lrwxrwxrwx1rootroot132005091819:10S20lpd>../init.d/lpd
lrwxrwxrwx1rootroot172005091820:02S20makedev>../init.d/makedev
Dmarrage du serveur ssh lrwxrwxrwx1rootroot162005091820:05S20pcmcia>../init.d/pcmcia
lrwxrwxrwx1rootroot152005091815:16S20rsync>../init.d/rsync
lrwxrwxrwx1rootroot132005091819:11S20ssh>../init.d/ssh
lrwxrwxrwx1rootroot132005091814:57S20vdr>../init.d/vdr
lrwxrwxrwx1rootroot162005091822:01S20webmin>../init.d/webmin
Dmarrage de la bannire ...
de connexion en mode
lrwxrwxrwx1rootroot132005091821:00S20xfs>../init.d/xfs
lrwxrwxrwx1rootroot162005091821:00S20xinetd>../init.d/xinetd
graphique ( gnome
lrwxrwxrwx1rootroot152005091821:07S21aumix>../init.d/aumix
display manager)
lrwxrwxrwx1rootroot132005091819:12S21fam>../init.d/fam
lrwxrwxrwx1rootroot202005091819:10S21nfscommon>../init.d/nfs
common
lrwxrwxrwx1rootroot132005091820:04S89atd>../init.d/atd
lrwxrwxrwx1rootroot142005091820:03S89cron>../init.d/cron
lrwxrwxrwx1rootroot132005091819:17S99gdm>../init.d/gdm
lrwxrwxrwx1rootroot192005091820:02S99rmnologin>
../init.d/rmnologin
lrwxrwxrwx1rootroot232005091820:02S99stopbootlogd>
../init.d/stopbootlogd

2 Principes de fonctionnement d'UNIX : Scripts de lancement

Lancement du systme : boot -> init -> services


Utilitaires en mode console :
- Debian : updaterc.d
- Mandrake : chkconfig,service
le script /etc/rc.local peut contenir des personnalisations
locales qui seront lances la fin du processus init
Pour dmarrer un service sous mandrake, on peut taper :
service<nom_du_service>start
ou encore :
/etc/rc.d/init.d/<cript_correspondant_au_service>
action
action:starp|stop|restart|status|...

2 Principes de fonctionnement d'UNIX : Scripts de lancement

Lancement du systme : boot -> init -> services


Outil graphique de gestion des services :

2 Principes de fonctionnement d'UNIX : Scripts de lancement

Lancement du systme : boot -> init -> services


Outil graphique de gestion des services :

Cours d'administration Unix


1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de SAMBA (TP)
11 Configuration de LDAP (TP)

3 lments d'administration Unix

Context -> architecture PC


Les 2 modes d'administration
Notion de fichier spcial
Nommage des priphriques de boot
Partitionnement des disques
Formatage disque et filesystem
Le montage des priphriques
Les gestionnaires de paquets (rpm et debian)
Configuration du bootloader (Lilo)

3 lments d'administration Unix : 2 modes d'administration

Unix supporte 2 modes d'administration :


la main :
dition (manuelle) des fichiers de configuration
Utilisation (manuelle) des commandes d'administration
Utilisation (manuelle) des gestionnaires de paquets RPM ou
DEBIAN
dition de scripts de commande (langage : shell, perl, awk,
Avec des logiciels d'administration (graphique ou mode
...)
caractre) :
Qui manipulent les fichiers de configuration
Qui utilisent des commandes d'administration standard ou
spcifiques
Souvent incontournables, avec des Unix propritaires (HP :
SAM)

3 lments d'administration Unix : notion de fichier Spcial

Principe :

sous Unix,
tout est fichier

Carte son

Disque dur

=>

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

Lect. DVD
Lect. CD

3 lments d'administration Unix : notion de fichier Spcial

Attributs des fichiers spciaux :


Mode d'accs : bloc , ou character
Propritaire, groupe
Droits d'accs classique unix : rwxrwxrwx
Au lieu de la taille en octet (???) :
- Majeur (entier) : permet au noyau d'activer le driver du
priophrique

(-> indexe dans une

table de pointeurs de fonctions)


- Mineur (entier) : argument pass au driver

b|c

majeur, mineur

3 lments d'administration Unix : Nommage des priphriques

Nommage des priphriques :


Priphriques IDE
PATA

IDE 0

Master

Slave
/dev/hda

/dev/hdb

IDE 1

Master

Slave
/dev/hdc
/dev/hdd

3 lments d'administration Unix : Nommage des priphriques

Nommage des priphriques :


disquet
te

IDE SATA

USB : Assimil
SCSI
/dev/sda

SATA

FLOPPY

USB
/dev/sdb

/dev/fd0

Linux <=2.4
/dev/hda
linux >= 2.6
/dev/sda

/dev/sdc

Priphriques SCSI
Id : 0

Id : 1

Id : 2

...

SCSI
/dev/sda
/dev/sdc

/dev/sdb

3 lments d'administration Unix : Partitionnement des disques

La plupart des systmes d'exploitation (fixes)


correctement installs utilisent un disque plusieurs
partitions:
- partition systme (fichiers systmes, fichiers de
configuration ...)
-- partition
utilisateurs
(donnes des utilisateurs)
exploitation
plus scurise
on peut formater une partition indpendamment des
-- ...
autres
- on peut utiliser une partition en lecture seule
...
-- partitionnement
statique => planifier le partitionnement
- on ne peut pas modifier simplement un partitionnement
statique
- partitionner est une opration low level, risque !!
- Pour
... bnficier des avantage du partitionnement
dynamique il faut passer des solutions de type RAID
(Redondant Array of Independant Disks) ou LVM (Logical
Volume Manager)

3 lments d'administration Unix : Partitionnement des disques

Partitionnement disque :
M
B
R

Disque dur entier

(/dev/hda)
4 partitions
primaires max

Partition primaire 1

M
/dev/hda1
B
R Systme Windows
bootable

Partition primaire 2
/dev/hda2

Partition primaire 3
/dev/hda3

Partition primaire 4
/dev/hda4

Data utilisateur

Applications

Archives

3 partitions primaires max +


1 tendue

M
B
R

Partition primaire 1 Partition primaire 2


/dev/hda1
/dev/hda2
Systme Windows
bootable

Data utilisateur

MBR
TP BL BSPartition 1 BS
Rq: correspondance Windows :
/dev/hda2

...

Partition tendue 3

/dev/hda3

/dev/hda5

/dev/hda6

/dev/hda7 /dev/hda8

Linux Syst.

Data user

Swapp

Partition 2
bootable

C:

BSPartition 3
<=>

Applications

MBR : Master Boot Reccord


TP : Table Partition
BL : Boot Loader
BS : Boot Sector

/dev/hda1
D:

<=>

3 lments d'administration Unix : Partitionnement/Filesystem

Partitionnement et formatage du disque dur :


Formatage bas niveau (physique, en usine)
Partitionnement ( l'installation de l'OS)
- fips, fdisk, PartitionMagic (DOS)
- fdisk, parted (linux)
- l'installation de Linux (menu caractre, menu
graphique)
Formatage haut niveau (logique, dpends de l'OS
et du FileSystem cible)
- format

(Windows : cr un filesystem FAT ou NTFS)

- mkfs

(Unix : cr un filesystem Ext2, Ext3, FAT, ...)


exple :

mkfstext2/dev/hda1

mkfstvfat/dev/fd0

3 lments d'administration Unix : Partitionnement/Filesystem

FIPS

3 lments d'administration Unix : Partitionnement/Filesystem

PartitionMagic

3 lments d'administration Unix : Partitionnement/Filesystem

fdisk

3 lments d'administration Unix : Partitionnement/Filesystem

fdisk

3 lments d'administration Unix : Partitionnement/Filesystem

fdisk

3 lments d'administration Unix : Partitionnement/Filesystem

fdisk

3 lments d'administration Unix : Partitionnement/Filesystem

Installation Mandriva / outil DrakConf

3 lments d'administration Unix : Filesystem

Systme d'exploitation
supports

Types de systme de fichiers

Dos

FAT16

Windows 95

FAT16

Windows 95 OSR2

FAT16, FAT32

Windows 98

FAT16, FAT32

Windows NT4

FAT, NTFS (version 4)

Windows 2000/XP

FAT, FAT16, FAT32, NTFS (versions 4 et

5)
Linux

Ext2, Ext3, ReiserFS, Linux Swap, (FAT,


NTFS, ...)

MacOS

HFS, MFS

SGI IRIX

XFS

3 lments d'administration Unix : Montage des priphriques

L'opration de montage des priphriques :


DOS et Windows utilisent la notion d'unit logique pour
fournir un accs
aux ressources de stockage
( A: -> floppy, C: -> disque dur, ... E: -> lecteur CD)
Tous les Unix utilisent la notion de montage :
- un priphrique est associ un point de montage
(rpertoire) par une opration de montage (commande
mount)
- la commande mount peut tre utilise la main
exple :

mount/dev/hda1/
mount/dev/sda1/mnt/removable

3 lments d'administration Unix : Montage des priphriques

avant d'extraire un priphrique amovible (disquette, clef


USB, ...), on DOIT le dmonter (umount), pour synchroniser les
critures (vidage du cache disk)
tous les montages permanents sont indiqus dans le fichier
/etc/fstab

La commande df affiche la liste des priphriques monts +


proprits :

3 lments d'administration Unix : configuration de lilo

lilo (Linux Loader) permet d'installer un bootloader multisystmes


Fichier de configuration : /etc/lilo.conf
Aprs toute modification de lilo.conf, il faut r-installer le
bootloader modifi en tapant la commande lilo
Installation en MBR

Noyau booter
Partition racine
Fichier ram-disque
Options du noyau

3 lments d'administration Unix : configuration de grub


Grub (acronyme de GRand Unified Bootloader) est un programme de multiboot, libre, au
mme titre que LILO (Linux loader), qui permet de choisir au dmarrage de son ordinateur
entre plusieurs systmes d'exploitations.
Ses avantages sont notamment la gestion d'autres systmes que Linux et Windows (utile
pour Hurd, Solaris, FreeBSD et OpenBSD), la lecture de la configuration au boot (pas
besoin de rinstaller GRUB dans le secteur de boot aprs un changement de configuration,
contrairement LILO), une ligne de commande permettant de changer la configuration au
boot et surtout la reconnaissance en natif des divers systmes de fichiers existants. Il
possde galement une sorte de langage de commande simple permettant de
rattraper un boot qui se serait mal pass, suite au mauvais adressage d'une partition,
par exemple.
A l'inverse de LILO, GRUB n'a pas besoin d'tre rinstall dans le MBR chaque
modification de son fichier de configuration.
Dans un systme GNU/Linux, la commande grub-install est uniquement utilise pour
installer la Partie 1 de GRUB dans le MBR ou dans une partition. Les fichiers de
configuration de GRUB doivent se trouver sur une partition utilisable, et dans le cas
contraire, la Partie 1 excute l'interprteur de commandes automatiquement.
Le nom et l'emplacement de ce fichier varient d'un systme un autre. Par exemple, dans
la distribution Debian GNU/Linux, ce fichier est situ dans /boot/grub/menu.lst, alors que
Fedora Core le place dans /boot/grub/grub.conf (ce dernier utilise un lien symbolique
l'emplacement /etc/grub.conf et qui pointe vers /boot/grub/grub.conf pour des raisons de
compatibilit).
De plus, GRUB peut tre install sur un disque amovible, comme une disquette, un CD ou
une cl USB pour charger un systme qui ne pourrait booter depuis son propre disque.

3 lments d'administration Unix : Gestionnaires de paquets

GNU/Linux et les applications tournant sous ce systme


peuvent tre livrs (source ou binaires) sous 3 formats
principaux :
Le format Read Hat (RPM : ReadHat Package Manager) :
fichiers *.rpm
Le format DEBIAN (DPKG : Debian PacKaGe) :
fichiers *.deb
Le format tar (archive) :
- fichiers

*.tar

: archive cre par la commande

Unix tar
- fichiers

*.tar.gz

: archive tar comprime par

gzip
- fichiers

*.tar.bz2

: archive tar comprime par bzip

3 lments d'administration Unix : Gestionnaires de paquets

Historiquement, avec les premires version d'Unix, tout tait


fait :
Avec la commande tar
Avec des utilitaires ddis (Unix propritaires)
Aujourd'hui, le format tar n'est plus utilis que :
pour des installations particulires (code maison,
archivage, ...)
Pour dplacer une arborescence de fichiers (copie vers une
autre rpertoires, une autre machine, document attach
mail, ...)
->L'utilisation de la commande tar comme utilitaire d'archivage
sera vue

3 lments d'administration Unix : Gestionnaires de paquets

Les systmes de gestions de paquets Read Hat ou Debian


permettent une gestion trs puissante des applications
installes sous GNU/Linux :
Cration des paquets (compilation et cration du paquet
source ou du paquet binaire)
Installation des paquets (gestion des composants
ncessaires)
mise jour des paquets (gestions des dpendances, des
conflits, ...)
Suppression des paquets (gestion des dpendances, et de
tout ce qui a t install)
Interrogation :
- liste des paquets,
- fichiers contenus dans un paquet donn,

3 lments d'administration Unix : Gestionnaires de paquets

Mandriva (comme Debian) propose 2 niveaux de


commandes :
Niveau du paquet : rpm (Debian : dpkg)
la gestion des dpendances est purement informative, sans
rsolution automatique => il faut installer tous les
paquets la main
Niveau global : urpm[iqfe] (Debian : apt (advanced
paquet tool))
la gestion des dpendances est totale : les paquets requis
sont automatiquement rajouts la liste des paquets
installer
->L'utilisation dtaille des commandes rpm, urpmq,
... interface graphique pour le niveau global :
Ilurpmi,
existe des
sera vue en TP.
- Mandriva : drakrpm

3 lments d'administration Unix : Gestionnaire RPM

Commande rpm : infos sur les paquets installs


(options de confort : v -> verbose ; h -> barre d'avancement trace avec
des #)

Installation (install) : rpm -ivh nom_du_paquet


Exple : rpmivhacpid1.0.44mdk.rpm
mise jour (update) : rpm -Uvh nom_du_paquet
Exple : rpmUvhacpid1.0.44mdk.rpm
Suppression (erase) : rpm -e nom_du_paquet
Exple : rpmeacpid
Interrogation (query) :
- Informations sur un paquet : rpm -q nom_paquet_court
Exple : rpmqemacs(rponse:emacs21.3
20mdk)

3 lments d'administration Unix : Gestionnaire RPM

Interrogation (query) suite :


- informations sur un paquet : rpm -qi paquet
- liste des fichiers d'un paquet install :
rpm -ql paquet_install , ou rpm -ql -p fichier_rpm
Exple : rpmqlcups
- liste de tous les paquets installs

: rpm -qa

- rechercher si un paquet est install

: rpm -qa | grep

paquet
- recherche des paquets installs contenant un fichier :
rpm -qf nom_de_fichier_absolu
Exple : rpmqf/usr/sbin/cupsd

3 lments d'administration Unix : Gestionnaire URPM

Commande urpmi (installer un paquet) :


urpmi gre les installations partir de divers mdias :
- ftp, http,
- volumes nfs et locaux,
- mdias amovibles (CD, DVD, ...)
La configuration des sources (origines) de l'installation est
donne par le fichier /etc/urpmi/urpmi.cfg
On peut modifier les sources de la distribution :
- urpmi.removemedia : permet de supprimer des
entres
- urpmi.addmedia : permet d'ajouter de nouvells
entres
->Des exemples d'utilisation de la commande urpmi seront
vus
en TP.de urpmi est trs simple : urpmi nom_du_paquet
Syntaxe

3 lments d'administration Unix : Gestionnaire URPM

Commande urpmq : infos sur les paquets installables


urpmq [option]nom_paquet|fichier_rpm
permet d'interroger la Base de Donnes (BD) urpmi (cf
man urpmi);
Exemple d'options utiles :
--fuzzy : (ou -y) recherche les paquets
*nom_paquet*
--liste : liste de tous les paquets connus de la BD urpmi
--liste-media : affiche les mdia de la distribution (CD,
rseau, ...)
--liste-url : idem, avec en plus les URL d'accs
--dump-config : fournit la totalit des informations sur
les mdia de

3 lments d'administration Unix : Gestionnaire URPM

Commande urpmf :
urpmf [option]fichier
trouve le paquet RPM de la distribution contenant le
fichier mentionn
- Si fichier est un nom absolu, il est cherch
exactement,
- Si fichier est un extrait de path absolu, il est
cherch sous la forme *fichier*
Exples :
urpmf/usr/sbin/cupsd
urpmqbin/cupsd

3 lments d'administration Unix : Gestionnaire DEBIAN

Commande dpkg : gestion d'un paquet isol,


pas de gestion automatique des
dpendances
dpkg [option][fichier.deb ...] ; Principales options :
-i : installe le(s) paquets contenus dans les fichiers(s)
-r : dsinstalle le paquet sans supprimer ses fichiers de
configuration
--purge : dsinstallation complte (paquet + fichiers
config)
-reconfigure paquet : rejouer la configuration du paquet
-l : liste de tous les paquets
-L : affiche la liste de tous les fichiers contenus dans le
paquet
-S fichier : recherche de tous les paquets contenant

3 lments d'administration Unix : Gestionnaire DEBIAN

Le systme APT : Advanced Package Tool


Rsoud automatiquement les problmes de dpendances
entre paquets
Tient jour les listes des installs et des paquets disponibles
Gre la liste des sources d'installation (fichier
/etc/apt/sources.list)
apt-get install fichier.deb ... : installer des paquets
Debian
apt-get remove[purge]fichier.deb ... : dsinstaller
des paquets
apt-get update : rcupre la liste des paquets disponibles
en utilisant les sources mentionnes dans le fichier
sources.list

3 lments d'administration Unix : Gestionnaire DEBIAN

Rcapitulatif incomplet et approximatif des quivalences


RPM/DEBIAN !!!
rpm -ql paquet
dpkg -L paquet
rpm -qa

dpkg -l
dpkg get-selection

rpm -i paquet

dpkg -i paquet

rpm -e paquet
?

dpkg --purge paquet


dpkg -r paquet

dpkg -reconfigure paquet

rpm -qf fichier

dpkg -S

urpmi paquet

apt-get install paquet

urpme paquet

apt-get remove paquet

Cours d'administration Unix


1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de SAMBA (TP)
11 Configuration de LDAP (TP)

4 Installation de GNU/Linux : TP1


Voir le texte du TP1

Objectifs :
Installer un PC serveur GNU/Linux (installation rseau FTP
ou HTTP n'utilisant que le premier CD).

Cours d'administration Unix


1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de SAMBA (TP)
11 Configuration de LDAP (TP)

5 Les fichiers de configuration : TP1


Voir le texte du TP1

Objectifs :
Installer un PC serveur GNU/Linux (installation rseau FTP
ou HTTP n'utilisant que le premier CD).
Visiter les principaux fichiers de configuration utiles
l'administration d'un serveur Linux.

Cours d'administration Unix


1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de SAMBA (TP)
11 Configuration de LDAP (TP)

6 Gestion des utilisateurs, des groupes : TP1


Voir le texte du TP1

Objectifs :
Installer un PC serveur GNU/Linux (installation rseau FTP ou
HTTP n'utilisant que le premier CD).
Visiter les principaux fichiers de configuration utiles
l'administration d'un serveur Linux.
Raliser des oprations lmentaires d'administration la
main :
utiliser des commandes de base d'administration (mount,
mkfs, df , ...)
grer les comptes utilisateurs, ...
installer des serveurs usuels (ssh, ftp).
Utiliser le shell (commandes, redirections, filtres) en interactif,

Cours d'administration Unix


1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de SAMBA (TP)
11 Configuration de LDAP (TP)

7 NIS : Prsentation

NIS : une base de donnes rpartie


Principes
Installation
Commandes utiles
Configuration
Lancement
TP

7 NIS : Prsentation

NIS (Network Information Center, http://www.linux-nis.org ) :


Protocole datant des annes 1985
Origine : les Yellow Pages (YP) de SUN
Constitue une base de donnes rpartie pour les fichiers de
configuration Unix
Permet de centraliser les fichiers de configuration sur un
serveur NIS pour viter de duppliquer tous ces fichiers en
autant d'exemplaires que d'ordinateurs grer sur un rseau
vite les copies multiples !
vite les copies pas jour !!

Permet de n'avoir maintenir les fichiers que sur une seule


machine (serveur)
NIS et NFS permettent de construire des systmes

7 NIS : Prsentation

Services/dmons utiliss par le service NIS :


portmap
mise en correspondance numro de ports TCP/IP
<-> numro de processus RPC (voir /etc/rpc
pour les numros rservs)
ct serveur :
ypserv
implmente le serveur NIS
yppasswd permet de changer un mot de passe sur le serveur
NIS depuis un client NIS (dmon rpc.yppasswd)
ypxfrd
acclre les transferts entre serveur matre et
esclave (dmon rpc.ypxfrd)
Ct client:
ypbind
implmente le client NIS

7 NIS : Principe
yprxfd

make

Cartes binaires
(maps)

Fichiers de
configuration
serveur

Cartes
binaires
Domaine NIS

Domaine NIS

Serveur
NIS
esclave

Serveur
NIS Matre
Domaine NIS

rseau
Client NIS
Domaine NIS
Fichiers
locaux

1
NIS

Requte accs fichier


de configuration
/etc/nsswitch.conf :
ordre des choix

Le client voit les cartes


du serveur comme si c'taient
des fichiers locaux
Attention : le nom de domaine
NIS et le nom de domaine DNS
sont 2 concepts diffrents.

7 NIS : Installation - serveur

Installation : portmap et rseau pr-requis,


serveur
-> urpmiypserv
Paquet serveur : ypserv
#rpmqlypserv
/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

Fichiers de lancement
Fichiers de
configuration
Fichiers binaires
(commande ou
dmon)

7 NIS : Installation - client

Installation : portmap et rseau pr-requis,


client
-> urpmiypbindtptools
Paquets client : ypbind et yp-tools
#rpmqlypbind
#rpmqlyptools
/etc/rc.d/init.d/ypbind /usr/bin/ypcat
/etc/yp.conf
/usr/bin/ypchfn
/sbin/ypbind
/usr/bin/ypchsh
/usr/share/doc/ypbind... /usr/bin/ypmatch
/usr/share/man/man5/... /usr/bin/yppasswd
/usr/share/man/man8/... /usr/bin/ypwhich
/var/yp/binding
/usr/sbin/yppoll
/usr/sbin/ypset
/usr/sbin/yptest
/usr/share/doc/...
/
usr/share/man/man1/...
/var/yp/nicknames

Fichiers lancement
Fichiers
configuration
Binaires
(commandes,
dmons)

7 NIS : Commandes utiles

Commandes utiles
nisdomainname
domainname
ypdomainname
rpcinfop
Serveur
/usr/lib/yp/ypinitm
cd/var/yp;make
matre,

afficher le nom de domaine NIS


afficher les services portmap
initialiser le serveur matre
refaire les cartes du serveur
et les propager vers

les serveurs esclaves


Client
/usr/lib/yp/ypinits
ypwhich
serveur NIS
yppasswd
passe sur le serveur NIS
ypcatpasswd
serveur

initialiser un serveur esclave


afficher le nom du
changer son mot de
afficher le fichier passwd du

7 NIS : Configuration
commune client & serveur : config
/etc
rseau
/nss

witcNetwork Service Switch


ordre dans lequel
h.coutiliser les diffrents mode d'accs possibles
(fichier, nis, nf

dns) pour accder au contenu desFichiers


fichierslocaux
de configuration
...
passwd:filesnisnisplus
NIS+ = NIS version 3 (scuris)
shadow:filesnisnisplus
group:filesnisnisplus
/etc/host.conf
...
ordre dans lequel utiliser les diffrents mode d'accs possibles
(fichier, nis,
dns) pour rsoudre les correspondances adresse IP <=> FQDN
Il est prfrable d'utiliser le DNS plutt que NIS :
...
orderhosts,bind
...
Mais si aucun serveur DNS n'est accessible, on pourrait crire :
...
orderhosts,nis
...

7 NIS : Configuration serveur : config rseau

Un serveur a une adresse IP fixe =>


on doit prciser le
nom du domaine
NIS dans un fichier de configuration

Tous les fichiers de configuration des services spcifiques au


distributions drives de RedHat (Fedora, Mandriva, ...)
sont dans le rpertoire : /etc/sysconfig
/etc/sysconfig/network

HOSTNAME=hostaaa.domainebbb.fr
NETWORKING=yes
GATEWAY=192.168.74.1
NISDOMAIN=tp

Fichier de configuration rseau : /etc/network/interfaces


Fichier de configuration domaine NIS : /etc/defaultdomaine
/etc/defaultdomain

tp

7 NIS : Configuration serveur


/etc/ypserv.conf

fichier ASCII qui contenant 2 types de ligne :


des options pour le dmon ypserv : option:[yes|no]
Exemples :
dnsyes

le serveur interrogera le DNS pour trouver ses

clients qui
n'apparaissent pas dans les maps hosts.
xfr_check_portyes : pour faire tourner le serveur sur un port
infrieur
1024 (yes par dfaut)
des rgles d'accs au serveur NIS ( -> qui peut voir quoi ...) au
format :

host:domain:map:security

security : none -> accs autoris


port -> accs autoris seulement si port client <

7 NIS : Configuration serveur


/etc/ypserv.confExemple de fichier :
...
#ShouldwedoDNSlookupsforhostsnotfoundinthehoststable?
#Thisoptionisignoredinthemoment.
dns:no
#xfrrequestsareonlyallowedfromports<1024
xfr_check_port:yes
#Noteverybodyshouldseetheshadowpasswords,notsecure,since
#underMSDOGeverbodyisrootandcanaccessports<1024!!!
*:*:shadow.byname:port
...

/var/yp/Makefile

Contient les options importantes comme le choix des cartes du


serveur qui
seront exports par NIS.
personnaliser aprs toutes installation d'un paquet ypserv.
/etc/nsswitch.conf
/etc/host.conf

7 NIS : Initialisation, lancement de NIS sur un serveur

Aprs l'installation du paquet serveur NIS :


Serveur matre
1- Configurer le nom de domaine NIS
2- diter si besoin le fichier /etc/hosts pour dclarer tous les
serveurs
(matre ou esclaves) utiliss par NIS
3- diter si besoin le fichier /var/yp/Makefile
4- diter si besoin le fichier /etc/host.conf : choix de l'ordre
des
mthodes de rsolution FQDN<->adresse IP (local, dns,
nis ?)
5- diter si besoin le fichier /etc/nsswitch.conf : choix de l'ordre
des
2-

mthodes d'accs aux fichiers slectionne en

7 NIS : Initialisation, lancement de NIS sur un serveur

7- Vrifier la prsence des scripts de dmarrage


/etc/rc.d/init.d/yppasswdd,ypserv,ypxfrd

8- Lancer les services

ypserv,ypserv

et

yppasswdd

9- initialiser le serveur matre :/usr/lib/yp/ypinitm


Serveur esclave
1- Installer la machine comme un client NIS
2- Installer la machine comme un serveur matre (tapes 1-
8- )
3- initialiser le serveur esclave :
/usr/lib/yp/ypinitsserver_maitre
4-sur le serveur matre :
- mettre la liste des serveurs secondaires dans le fichier
/var/yp/ypserv
- diter le fichier /var/yp/Makefile, mettre la variable NOPUSH

7 NIS : Configuration client : rseau

/etcNIS

Client
fixe => on doit prciser le nom du domaine
/etc/sysc
onfig/net
work

tp

/def
ault
doma
in

HOSTNAME=hostaaa.domainebbb.
fr
NETWORKING=yes
GATEWAY=192.168.74.1
ClientNISDOMAIN=tp
nomade (portable)
on peut prciser le nom du domaine NIS dans le fichier
network,
mais PB quand on change de rseau
Il est plus intressant d'utiliser la configuration dynamique
/etc/dhclienteth0.conf
DHCP pour rcuprer les informations nom de domaine
/etc/dhclient.conf
NIS et serveur NIS
...
requestsubnetmask,broadcastaddress,time
offset,routers,
domainname,domainnameservers,hostname,nis
domain;
...

7 NIS : Configuration client


/etc/yp.conf

(Permet d'viter la recherche du serveur NIS par broadcast)

Liste des serveurs pour le domaine nis du client :

domainnom_domaine_nisserveradresseIP|FQDN

/etc/nsswitch.conf
/etc/host.conf

7 NIS : Lancement du service NIS ct client

Aprs l'installation du paquet client NIS :


1- Configurer le nom de domaine NIS
2- diter si besoin le fichier /etc/host.conf : choix de l'ordre
des
mthodes de rsolution FQDN<->adresse IP (local, dns,
nis ?)
3- diter si besoin le fichier /etc/nsswitch.conf : choix de
l'ordre des
mthodes d'accs aux fichiers slectionne en 24- diter le fichier /etc/yp.conf pour dsigner le(s) serveur(s)
NIS
(utiliser des adresses IP plutt que des FQDN ...)
5- Relancer le service network (prise en compte du nom de
domaine NIS)

7 NIS : scurit

NIS n'est pas un protocole trs scuris.


Prfrer l'utilisation de NIS en rseau local (192.168.x.y)
accdant internet par une passerelle scuris (firewall)
Utiliser les fichiers /etc/ypserv.conf et
/var/yp/securenet pour limiter les accs non autoriss
NIS

Cours d'administration Unix


1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de SAMBA (TP)
11 Configuration de LDAP (TP)

8 NFS : Prsentation

NFS : un systme de fichiers rseau


Principes
Installation
Configuration
Lancement
TP

8 NFS : Prsentation

NFS (Network File System) http://nfs.sourceforge.net/ :


Fournit un accs rseau transparent aux fichiers d'un serveur
(systme de fichier rseau)
Serveur sans tat
Protocole introduit par SUN en 1984, pris en main par l'IETF
(Internet Engineering Task Force) depuis 1988
Protocole ouvert, portable sur de nombreux environnements
plateformes/ rseaux, utilise les RPC (Remote Procedure Calls)
de SUN
Serveur/Client NFS prsent sur tous les Unix
Clients NFS disponibles pour tous les systmes d'exploitation
(Ws,Ux,Mc)
Version actuelle : 3 (RFC 1813), version 4 en cours (RFC 3530)

8 NFS : Prsentation

Services/dmons utiliss par le service NFS :


portmap
mise en correspondance numro de ports TCP/IP <> numro de processus RPC (voir /etc/rpc pour les
numros rservs)
ct serveur :
rpc.nfsd
implmente la partie utilisateur du protocole
rpc.statd
prise en compte du redmarrage des serveurs, pour
une gestion correcte des vrrous
(implmente le protocole RPC NSM (Network
Status Monitor))
rpc.lockd
gestion du vrouillage des fichiers
(implmente le protocole NLM (Network Lock
Manager))
rpc.mountd implmente la partie serveur du protocole,
l'coute des demandes de montage
ct client : rpc.statd rpc.lockd

8 NFS : Principe
Serveur
NFS
Ressources de stockage
exportes sous NFS

NFS
rseau
Ressources
locales
Client NFS
Le client accde la ressource
de faon transparente
mounttnfsserveur:path_distantpath_local

8 NFS : Installation - serveur

Installation : portmap et rseau pr-requis,


serveur
-> urpminfsutils
Paquet serveur : nfs-utils
#rpmqlnfsutils
/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/...

Fichiers de lancement
Fichiers de
configuration
Fichiers binaires
(commande ou
dmon)

8 NFS : Installation serveur et client


nstallation : portmap et rseau pr-requis,
serveurouclient > urpminfsutilsclient
Paquet client : nfs-utils-client
#rpmqlnfsutils
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

Fichiers de lancement
Fichiers de
configuration
Fichiers binaires
(commande ou
dmon)

8 NFS : Commandes utiles

(voir man pour les dtails)


Serveur
showmounta
d
e

liste des clients/rpertoire utilis


liste des rpertoires monts par des clients
liste des rpertoires exports

exportfsa relit le fichier /etc/exportfs


ra remet jour la liste des rpertoires exports
rpcinfop

afficher les services portmap

Client
rpcinfop[host]
showmountehost
serveur host

afficher les services portmap


liste des rpertoires exports par le

8 NFS : Configuration serveur

Tous les fichiers de configuration des services spcifiques aux


distributions drives de RedHat (Fedora, Mandriva, ...)
sont dans le rpertoire : /etc/sysconf
/etc/sysconfig/nfs

options de lancement du serveur NFS


/etc/exports

liste des rpertoires exports par le serveur,


et des options (droits d'accs, ...)
Syntaxe :
directory1host1(option,...)host2(option,...)....
directory2host1(option,...)host2(option,...)....
...

Exemple :
/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)

8 NFS : Configuration serveur

Principales options du fichier exports (serveur) :


ro
read-only (accs en lecture seule au rpertoire
export)
rw
read-write : le client accde au rpertoire en
lecture/criture
root_squash transforme les accs UID root en UID nobody
no_root_squash les accs root sur le client restent root sur le
serveur !
all_squash Convertit tous les UID/GID en utilisateurs anonymes.
Utile pour exporter avec NFS des rpertoires
publics.
Principales options du fichier fstab (client) :
hard
montage avec criture bloquante (-> attente)
fg, bg
montage en forground, backgound
intr
montage interruptible (utile avec hard en cas de
blocage)
soft
montage sans criture bloquante (-> pas d'attente)
Attention : les options doivent tre spares par des virgules,

8 NFS : Lancement de NFS sur le serveur

Le lancement des services se fait classiquement :


Vrifier la prsence des scripts de dmarrage
/etc/init.d/nfset/etc/init.d/nfslock
lancement automatique par lien symbolique (prfix par Sxx)
dans
/etc/rc3.dou /etc/rc5.d
lancement manuel :
/etc/init.d/nfsstart, ou servicenfsstart
(Mandriva)
On peut vrifier le fonctionnement en interrogeant portmaper
On peut visualiser quelle machine cliente monte quelle
ressource :
showmounta

8 NFS : Lancement de NFS sur un client

Cot client, il suffit d'effectuer le montage de la ressource


exporte par un serveur NFS :Le lancement des services se fait
classiquement :
la main : mounttnfsserveur:path_distant
point_de_montage
path_distant : est le nom du rpertoire export par le
serveur
point_de_montage : est le nom du rpertoire local partir
duquel seront
utilisable les fichiers du serveur NFS
/etc/fstab
...
Pour
automatiser le montage des ressources NFS sur un poste
serveur:/home/users/home/usersnfsrsize=8192,wsize=8192,soft0

0
client,
on utiliser fichier /etc/fstab.
...

Voir man mount pour les options de montage supportes par

8 NFS : Scurit

NFS n'est pas un protocole trs scuris (No File


Security !!!) :
Par dfaut l'UID root d'une machine cliente est mappe en
l'UID nobody pour tous les accs NFS
L'authentification des clients repose uniquement sur le nom
de domaine ou l'adresse IP => spoofing possible
L'identification des utilisateurs repose sur le user id sur
le poste clients => usurpation possible
Transactions non cryptes
Utilisation recommande en intranet isol protg de
l'InterNet par un Firewall (-> on fait confiance aux
utilisateurs locaux !!!)

8 NFS : Scurit

NFS peut utiliser les mcanismes de contrle d'accs offert par


tcpd, bas sur les fichiers /etc/hosts.deny et
/etc/hosts.allow

#hosts.denyThisfiledescribesthenamesofthehostswhichare
#*not*allowedtousethelocalINETservices,as
decided
#bythe'/usr/sbin/tcpd'server.
#
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
#hosts.allowThisfiledescribesthenamesofthehostswhich
are
#allowedtousethelocalINETservices,asdecided
#bythe'/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

Cours d'administration Unix


1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de SAMBA (TP)
11 Configuration de LDAP (TP)

9 DNS : Prsentation

DNS : Systme de Nommage par base de


donnes rpartie
Principes
Installation
Configuration
Lancement
TP

9 DNS : Prsentation

DNS (Domain Name System)


gre les correspondances entre les noms d'htes et les adresse
IP :
Par exple : www.free.fr correspond l'adresse IP 213.228.0.42
l'origine (annes 70) la table des correspondances nom
d'hte <-> adresse IP tait crite dans un fichier unique
HOSTS.TXT, gr par le Network Information Center (NIC) sur
une machine situe au Standford Research Institute (SRI) en
Californie.
les problmes de taille du fichier HOSTS.TXT, de conflit de
noms, de charge du rseau et du processeur lors de la diffusion
du fichier ... ont montr que le mcanisme bas sur HOSTS.TXT
ne pouvait pas suivre l'expansion du rseau

9 DNS : Principe

les donnes de
chaque noeud sont
accessibles de
partout (mcanisme
de client-serveur)
duplication
(serveurs
secondaires) et
cache mmoire
rglent les aspect
de robustesse et
performance
chaque noeud
sont associs des
serveurs de noms

9 DNS : Principe

le principe arborescent des noms de domaine garantit l'unicit


des noms
nom absolu : www.free.fr. quivalent www.free.fr
(on parle aussi de FQDN : Fully Qualified Domain Name)
un domaine est un sous-arbre de l'espace de nommage
un mcanisme de dlgation permet un domaine de crer
autant de sous-domaines qu'il veut ... et ainsi de suite ....
il ya dlgation d'autorit d'un domaine vers chacun de ses
sous-domaines ... et ainsi de suite ...
la rsolution inverse (obtenir un nom d'hte d'aprs une
adresse IP) met en oeuvre une branche particulire de l'espace
de nommage construite selon :
d.c.b.a.in-addr.arpa pour une machine d'adresse
IP a.b.c.d

9 DNS : Principe

l'implmentation Linux est drive de BIND (Berkeley Internet


Name Domain), crit l'origine pour Unix BSD 4.3
BIND est aujourd'hui maintenu par ISC (Internet Software
Consortium)
http://www.isc.org/bind.html

Services/dmons utiliss par le service DNS :


named
implmentation du serveur DNS

9 DNS : Installation - serveur

Installation : rseau pr-requis, urpmibind


Paquet serveur : bind-9.3.1
/etc/logrotate.d/named
/etc/rc.d/init.d/named
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/usr/sbin/bind-chroot.sh
/usr/sbin/dns-keygen
...
/usr/sbin/named
/usr/sbin/rndc
...
/usr/share/doc/bind-9.3.1...
/usr/share/man/man3/...
/usr/share/man/man8/...
...
/var/log/named
/var/named
/var/named/named.ca
/var/run/named

Fichiers de lancement
Fichiers de
configuration
Fichiers binaires
(commande ou
dmon)

9 DNS : Installation utilitaires (serveur ou client)

nstallation : rseau pr-requis, urpmibindutils


Paquet client : bind-utils-9.3.1
/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/bindutils9.3.1/...

Fichiers de lancement
Fichiers de
configuration
Fichiers binaires
(commande ou
dmon)

9 DNS : Commandes utiles

Commandes utiles

(voir man pour les dtails)

Client
Un client resolver peut tre mis en oeuvre avec les commandes
dig, host.
Exemple de syntaxe pour demander au serveur DNS serv les
infos de type typsur le domaine dom :
dig[@serv]dom[typ]
host[a][ttype]dom[serv]
dnsdomainname retourne le nom de domaine de l'hte
Serveur
On peut agir sur le dmon named en cours de fonctionnement
grce la commande rndc
rndc
affiche les options possible
rndcflush
vide les caches du serveur de nom
rndcstatus
affiche l'tat du serveur de noms

9 DNS : Configuration commune client & serveur : config


/etc
rseau

/nss
witcNetwork Service Switch
ordre dans lequel
h.coutiliser les diffrents mode d'accs possibles
(fichier, nis, nf

Fichiers
locaux
dns ...) pour accder au contenu des
fichiers
de configuration
...
passwd:filesnisnisplus
shadow:filesnisnisplus
DNS
group:filesnisnisplus
...
hosts:filesdnsnis
...
/etc/host.conf
ordre dans lequel utiliser les diffrents mode d'accs possibles
(fichier, nis,
dns ...) pour rsoudre les correspondances adresse IP <=>
FQDN
Il est prfrable d'utiliser le DNS plutt que NIS :
...
orderhosts,bind
...

9 DNS : Configuration serveur : config rseau

on peut prciser le nom du domaine DNS dans un fichier de


configuration

Tous les fichiers de configuration des services spcifiques au


distributions drives de RedHat (Fedora, Mandriva, ...)
sont dans le rpertoire : /etc/sysconfig
/etc/sysconfig/network

HOSTNAME=hostaaa.mydomaine.f
r
NETWORKING=yes
GATEWAY=192.168.74.1
/etc/nsswitch.conf
/etc/host.conf

Le fait d'utiliser un nom


FQDN pour HOSTNAME
permet de fixer le domaine
DNS de la machine

9 DNS : Configuration serveur matre : le fichier named.conf

c/named.conf : fixe les options principales du serveur DNS et les doma


r lesquels le serveur a autorit.

mmeautorit
clef quesur
celle
emple de fichier d'un serveur DNS primaire ayant
le domain
dfinie
domaine.fr :
pour rndc dans
/etc/named.conf serveur DNS matre
/etc/rndc.conf
key"key"{
algorithmhmacmd5;
secret
"c3Ryb25nIGVub3Bmb3I...YnV0IG1hZGUgZm9yIGEgd29tYW4K";
};
controls{
inet127.0.0.1allow{127.0.0.1;}keys
{"key";};
};
options{
pidfile"/var/run/named/named.pid";
directory"/var/named";
};

9 DNS : Configuration serveur matre : fichier named.conf


/etc/named.conf serveur DNS matre : suite

zone"."{
typehint;
file"named.cache";
};

dfinit la racine de type


hint
partir d'un fichier zone

dfinit la zone mydomaine.fr de


type
master partir d'un fichier zone

zone"mydomaine.fr"{
typemaster;
file"named.mydomaine";
};

dfinit la zone inverse


192.168.74 de type
master partir d'un
fichier zone

zone"74.168.192.inaddr.arpa"{
typemaster;
file"named.74.168.192";
dfinit la correspondance :
};
127.0.0.1<->localhost

zone"0.0.127.inaddr.arpa"{
typemaster;
file"named.0.0.127";
};

9 DNS : Configuration serveur : structure d'un fichier de zone

Principaux types d'enregistrement d'un fichier zone DNS


SOA
start of authority : dfinit le serveur DNS
fournissant l'information faisant autorit sur un
domaine Internet
NS
name server : dfinit les serveurs DNS de ce
domaine
MX
mail exchange : dfinit les serveurs mail pour ce
domaine
A
address : associe une adresse IPv4 un nom d'hte
AAAA
IPv6 address : associe une adresse IPv6 un nom
d'hte
PTR
pointer : associe un nom de domaine une adresse
IP
CNAME
canonical name : dclare un nom alias d'un autre
SRV
gnralise la notion de MX record, standardis dans
la RFC 2782.

9 DNS : Configuration serveur : structure fichier zone

@INSOAserv1.mydomain.fr.jl.mydomain.fr.
(
2005112501;numrosrie(anneemois
jourxy)
21600;rafraichissementaprs6h
3600;nouvelessaiaprs1h
604800;expirationaprs7jours
86400);TimeToLive(TTL)de1jour
;serveurs(primaireetsecondaires...)

IN
NSserv1.mydomaine.fr.
ATTENTION : tous les

IN
NSserv2.mydomaine.fr.
noms
;changeurdecourierSMTP
d'htes DOIVENT tre

IN
MX0
mail.mydomaine.fr.
termins par un .
;machinesdudomaine
localhostINA127.0.0.1
serv1INA192.168.74.1
serv2INA192.168.74.2
mail
IN
A
192.168.74.10
asterix
IN
A
192.168.74.100

9 DNS : Configuration serveur : structure fichier zone


le symbole @ indique le domaine auquel s'applique le fichier (ici mydomaine.fr).
=> les noms partiellement qualifis sont relatifs ce domaine
Structure du dbut d'autorit SOA :
rappel du nom du serveur-matre (serveur1.mydomaine.fr)
adresse mail responsable du serveur (caractre @ remplac par.
exple : jl@mydomaine.fr -> jl.mydomaine.fr)
parenthse ouvrante (
numro de srie
intervalle entre 2 tentatives des serveurs secondaires de se
resynchroniser sur le serveur primaire
attente avant une nouvelle tentative lorsque la resynchronisation d'un
serveur secondaire a chou
dlai au bout duquel les donnes expires sur les serveurs secondaires
dure de vie sur les serveurs autres que les serveurs secondaires
parenthse fermante )

9 DNS : Configuration serveur : structure fichier zone inverse

La zone inverse 74.168.192.in-addr.arpa dcrit les machines


du rseau
192.168.74.0:

INSOAserv1.mydomain.fr.jl.mydomain.fr.(
2005112501;numrosrie(anneemoisjourxy)
21600;rafraichissementaprs6h
3600;nouvelessaiaprs1h
604800;expirationaprs7jours
86400);TimeToLive(TTL)de1jour

IN
IN

NSserv1.mydomaine.fr.
NSserv2.mydomaine.fr.

INPTRserv1.mydomaine.fr.
INPTRserv2.mydomaine.fr.
0INPTRmail.mydomaine.fr.
..
00INPTRasterix.mydomaine.fr.

9 DNS : Configuration serveur : structure fichier zone inverse

La zone inverse 0.0.127.in-addr.arpa dcrit les machines du


rseau
127.0.0.0:
@INSOAlocalhost.root.localhost.(
2005112501;numrosrie(anneemoisjour
xy)
21600;rafraichissementaprs6h
3600;nouvelessaiaprs1h
604800;expirationaprs7jours
86400);TimeToLive(TTL)de1jour
;

IN
NSlocalhost.
;rsolutioninverse127.0.0.1>localhost
1
INPTRlocalhost.

9 DNS : Configuration serveur : fichier de zone racine

On cr ce fichier par la commande :


dig@a.rootservers.net>named.cache
;<<>>DiG9.3.0<<>>@a.rootservers.net
;;globaloptions:printcmd
;;Gotanswer:
;;>>HEADER<<opcode:QUERY,status:NOERROR,id:42818
;;flags:qraard;QUERY:1,ANSWER:13,AUTHORITY:0,ADDITIONAL:
13
;;QUESTIONSECTION:
;.INNS
;;ANSWERSECTION:
518400INNSA.ROOTSERVERS.NET.
518400INNSH.ROOTSERVERS.NET.
...
518400INNSE.ROOTSERVERS.NET.
518400INNSD.ROOTSERVERS.NET.
;;ADDITIONALSECTION:
A.ROOTSERVERS.NET.3600000INA198.41.0.4
H.ROOTSERVERS.NET.3600000INA128.63.2.53
...
D.ROOTSERVERS.NET.3600000INA128.8.10.90
...

9 DNS : Configuration serveur : le fichier rndc.conf


/etc/rndc.conf

options{
defaultserverlocalhost;
defaultkey"key";
};
serverlocalhost{
key"key";
};
key"key"{
algorithmhmacmd5;
secret
"c3Ryb25nIGVub3VnaCB...nV0GUgZm9yIGEgd29tYW4K";
};

9 DNS : Initialisation, lancement du serveur

Aprs l'installation du paquet serveur DNS :


1- Configurer le nom de domaine DNS
2- diter si besoin le fichier /etc/host.conf : choix de l'ordre
des
mthodes de rsolution FQDN<->adresse IP (local, dns,
nis ?)
5- diter si besoin le fichier /etc/nsswitch.conf : choix de
l'ordre des
mthodes d'accs aux fichiers
6- diter le fichier /etc/named.conf : configurer au besoin
7- Crer le fichier de zone racine
8- diter les fichiers de zone
9- Lancer le serveur.

9 DNS : Configuration client : rseau

Client
fixe => on peut prciser le nom du domaine DNS
/etc/sysc
onfig/net
work

HOSTNAME=hostaaa.mydomaine.f
r
NETWORKING=yes
ClientGATEWAY=192.168.74.1
nomade (portable)
NISDOMAIN=tpAL
on peut
prciser le nom du domaine DNS dans le fichier
network,
mais PB quand on change de rseau !
Il est plus intressant d'utiliser la configuration dynamique
DHCP pour rcuprer les informations nom de domaine
/etc/dhclienteth0.conf
DNS et serveur DNS
/etc/dhclient.conf

...
requestsubnetmask,broadcastaddress,time
offset,routers,
domainname,domainnameservers,hostname,nis
domain;
...

9 DNS : Configuration client (resolver)


/etc/resolv.conf

Contient les informations lues par les routines de la bibliothque


resolver :

namesever adresse IP d'un serveur DNS accessible


search
nom du domaine qui sera rajout par
dfaut aux noms de
Exemple/etc/resolv.conf domaine partiellement qualifis
searchmydomaine.fr
nameserver192.168.74.1
/etc/nsswitch.conf
/etc/host.conf

9 DNS : Configuration serveur esclave : le fichier named.conf

Il est plus que conseill de configurer un ou plusieurs serveur DNS


esclave par zone.
Le serveur DNS esclave reoit la copie des fichiers zones envoys par le
Le dbut du fichier
serveur DNS matre.
named.conf est identique

/etc/named.conf serveur DNS eclavecelui du serveur matre


key"key"{
algorithmhmacmd5;
secret
"c3Ryb25nIGVub3Bmb3I...YnV0IG1hZGUgZm9yIGEgd29tYW4K";
};
controls{
inet127.0.0.1allow{any;}keys{"key";};
};
options{
pidfile"/var/run/named/named.pid";
directory"/var/named";
};
...

9 DNS : Configuration serveur esclave : fichier named.conf


/etc/named.conf serveur DNS esclave : suite

dfinit la racine de type


hint
partir d'un fichier zone

zone"."{
typehint;
file"named.cache";
dfinit la zone
mydomaine.fr de type
};
slave
zone"mydomaine.fr"{
typeslave;
masters{192.168.74.1;}
file"named.mydomaine";
dfinit la zone inverse
};
192.168.74 de type slave
zone"74.168.192.inaddr.arpa"{
typeslave;
masters{192.168.74.1;}
dfinit la correspondance :
file"named.74.168.192";
127.0.0.1<->localhost
};
zone"0.0.127.inaddr.arpa"{
typemaster;
file"named.0.0.127";
};

Cours d'administration Unix


1 Prsentation d'Unix
2 Principes de fonctionnement d'UNIX
3 lments d'administration UNIX
4 Installation de Linux (TP)
5 Les fichiers de configuration (TP)
6 Gestion des utilisateurs, des groupes (TP)
7 Configuration de NIS (TP)
8 Configuration de NFS (TP)
9 Configuration de DNS (TP)
10 Configuration de LDAP (TP)
11 Configuration de SAMBA (TP)

9 LDAP : Prsentation

LDAP : un annuaire centralis


Prsentation
Installation
Configuration
Lancement
TP

9 LDAP : Prsentation

LDAP (Lightweight Directory Access Protocole ;


http://www.openldap.org)
Protocole ouvert d'accs un Annuaire (1993), rsultant de
l'adaptation de la norme X.500 TCP/IP
Les Annuaires sont des Bases de Donnes particulires
spcialises dans la recherche de l'information, pas dans le
traitement
L'organisation d'un annuaire LDAP est hirachique et
dynamique (structure et contenu)
volutivit : on peut facilement ajouter des informations un
objet d'un annuaire (structure et contenu)
La dernire version LDAPv3 propose chiffrement (SSL, ...) et
authentification (SASL) pour scuriser l'accs aux informations
OpenLDAP est un annuaire driv de LDAP de l'Universit du

9 LDAP : Prsentation

Un annuaire permet de stocker des donnes types,


- organises selon des classes particulires
- prsentes dans un arbre.
L'exemple le plus commun est l'annuaire de personnes
Mais on peut stocker bien d'autres choses:
- comptes Unix,
- donnes personnelles (carnet d'adresses, photos, etc.),
- donnes d'identification,
- certificats ...
... plus gnralement tout ce qui peut tre nomm et qui on
peut attacher des informations.

9 LDAP : Prsentation - Principe d'une session


Un client ouvre une session LDAP sur le port TCP 389 du serveur.
Le client envoie des requtes au serveur qui envoie des rponses en retour.
Une fois la connexion au serveur tablie, les oprations classiques sont :
- Bind : indique la version du protocole utilise, et authentifie l'utilisateur.
- Start TLS : utilisation Transport Layer Security pour scuriser la
connexion
o Search : recherche dans l'annuaire et rapatriement des donnes ;
o Compare : test si une entre contient un attribut avec une valeur donne
o Add : ajout d'une nouvelle entre ;
o Delete : suppression d'une entre ;
o Modify : modification d'une entre ;
o Modify DN : dplacement ou renommage d'une entre ;
o Abandon : annulation d'une requte prcdente ;
o Extended : permet de dfinir d'autres oprations ;
- Unbind : clture la connexion.

9 LDAP : Prsentation

Exemples de serveurs LDAP :


Serveurs LDAP
Apache Directory Server
Fedora Directory Server
Red Hat Directory Server
OpenLDAP
Novell eDirectory
Sun Directory Server Enterprise Edition
IBM SecureWay Directory
IBM Tivoli Directory Server (formerly IBM Directory
Server)
IBM Lotus Domino
Windows Server 2003 Active Directory
Oracle Internet Directory

9 LDAP : Prsentation - L'arborescence d'informations (DIT)

Les informations d'un annuaire sont organises selon une


arborescence hirarchique (le DIT : Directory Information Tree)
les informations sont des entres (DSE : Directory Service
Entry)
Au sein du DIT, lidentification dune entre se fait laide dun
nom,le Distinguish Name (DN).
Relative Distinguished Name (RDN)
Exemple : mail=Audrey.Tautou@inpg.fr,uid=tautoua,
etc.
Distinguished Name (DN)
RDN + chemin dans l'arborescence en remontant
attribut du RDN choisir pour que tout DN soit unique
Exemple :
uid=tautoua,ou=people,ou=inpg,dc=agalan,dc=org

9 LDAP : Prsentation - L'arborescence d'informations (DIT)

Les entres de l'annuaire


- sont des objets (correspond un objet abstrait ou rel ),
- appartiennent des classes, dfinissant des attributs
les attributs, les syntaxes et les classes dobjets sont
identifis laide dun numro unique, OID (Object
Identifier).
Lensemble des attributs, de leur syntaxe, des rgles de
comparaison et des classes dobjets, constitue le schma
de lannuaire.

9 LDAP : Prsentation Les Classes

Une classe
est constitues d'attributs obligatoires (MUST) ou optionnels
(MAY)
est de type structurelle, auxiliaire ou abstraite
s'inscrit dans un arbre d'hritage de classes (SUP : classe
mre)
Exemple de
LDAP dfinit des classes d'aprs X.500
classe
inetorgPerson(2.16.840.1.113730.3.2.2
On peut en fabriquer de nouvelles !
NAME'inetOrgPerson'
SUPorganizationalPerson
STRUCTURAL
MAY(audio$businessCategory$carLicense$departmentNumber
$
displayName$employeeNumber$employeeType$givenName$
homePhone$homePostalAddress$initials$jpegPhoto$...
x500uniqueIdentifier$preferredLanguage$
userSMIMECertificate$userPKCS12
)
)

9 DNS : Installation - serveur

nstallation : rseau pr-requis, serveur -> urpmiopenldapservers2


Paquet serveur : openldapservers2.3.6
/etc/logrotate.d/ldap
Fichiers de
/etc/openldap
/etc/openldap/DB_CONFIG.example
configuration
/etc/openldap/schema
/etc/openldap/schema/local.schema
/etc/openldap/slapd.access.conf
/etc/openldap/slapd.conf
/etc/rc.d/init.d/ldap
Fichiers de lancement
/etc/ssl/openldap
/etc/sysconfig/ldap
/usr/lib/openldap
/usr/lib/openldap/accesslog2.3.so.0... Fichiers binaires
(commande ou
/usr/sbin/slapacl
/usr/sbin/...
dmon)
/usr/sbin/slapd...
nom du binaire ldap
/usr/sbin/slappasswd...
/usr/share/doc/openldapservers2.3.6...(Stand-alone LDAP Daemon)
/usr/share/man/man5/slapdbdb.5.bz2...
/usr/share/openldap/schema...
/usr/share/openldap/schema/autofs.schema
...

9 DNS : Installation - serveur

Autres paquets installer :


openldap-clients
fournit les commandes : ldapadd, ldapdelete, ldapmodify,
ldapsearch, ...
nss_ldap
fournit l'interfaage entre LDAP et leNameServiceSwitch
(fichier/etc/nsswitch)

pam_ldap
fournit l'interfaage entre LDAP et le Linux-PAM - (Module
d'authentification pour Linux)

9 LDAP : Configuration - serveur

Configuration du serveur ldap stand-alone


/etc/openldap/slapd.conf

fichier ASCII contenant diffrents types de ligne :


des include de schmas pr-tablies :
include
/usr/share/openldap/schema/nis.schema
des dfinitions d'ACL (Access Control List) complmentaires
include
/etc/openldap/slapd.access.conf
des dfinitions de base :
databasebdb
suffix"dc=worldcompany,dc=com"
Prconisations de l'IETF :
-> du nom de domaine DNS comme suffixe de son

9 LDAP : Configuration - serveur

suite
le rpertoire ou seront stocks les fichiers de donnes ldpap :
directory/var/lib/ldap

/etc/openldap/slapd.conf

Le nom du super-utilisateur pour cette base :


rootdn"cn=admin,dc=example,dc=com"
et son mot de passe :
rootpw

{SSHA}/egZlrlv21XhkwRsU2cjzZ6F0Upd31ar
Le mot de passe crypt peut tre gnr par la commande slappasswd

[root@mars~]#slappasswdh'{SSHA}'ssecretv
[root@mars~]#{SSHA}/egZlrlv21XhkwRsU2cjzZ6F0Upd31ar

9 LDAP : le langage textuel LDIF

LDAP Data Interchange Format (LDIF) est le standard de


reprsentation des entres sous forme texte.
Utilis pour afficher/modifier les donnes de la base suivant
deux modes :
faire des imports/exports de base,
faire des modifications sur des entres.
Le format utilis est lASCII.
Toute valeur dattribut ou tout DN qui nest pas ASCII, est cod
en base 64.
Des exemples de fichiers LDIF seront vus en TP.

Scurit
Risques et menaces
Architecture de scurit :
Dfinition d'une architecture de scurit. Mise en uvre d'un firewall,
d'un proxy serveur et de DMZs (zones dmilitarises).
Scurisation des accs aux rseaux tendus. Scurisation des
rseaux sans fils (WIFI, WEP).
Scurit Linux :
Scurisation d'un serveur Linux au niveau local et au niveau rseau.
Scurit des donnes :Infrastructures cl publique (PKI). Scurit
du transport des donnes (SSL/TSL, SSH).
Technique
d'authentification des utilisateurs. Outils et techniques de dfense contre
les logiciels malveillants.
Audit scurit et exploitation :
Mesure de la scurit : dfinition, outils et techniques. Supervision et
administration
de la scurit.

Source: Internet

Vous aimerez peut-être aussi