Sie sind auf Seite 1von 213

Administration Unix

Sommaire
Unit 1 : Administration des utilisateurs et des
groupes.3
Unit 2:

Unit 1
Administration des utilisateurs
et des groupes

Utilisateurs
Chaque utilisateur qui utilise le systme doit tre connu de
celui-ci par un nom et, ventuellement, un mot de passe.
Un utilisateur doit appartenir un ou plusieurs groupes
d'utilisateurs pour tre autoris utiliser le systme.
Il existe plusieurs mthodes d'identification et de contrle des
utilisateurs, nous ne parlerons ici que de la mthode la plus
simple mettant en oeuvre les fichiers /etc/passwd et
/etc/group.
Les utilisateurs et les groupes sont reprs dans le systme
par des numros : uid pour le numro d'utilisateur (User
IDentifier) et gid pour le numro de groupe (Group IDentifier).
Le numro est unique pour un utilisateur ou un groupe donn.

L'identification d'un utilisateur s'effectue dans le fichier


/etc/passwd.

Hirarchie de comptes
Root

super utilisateur
les permissions daccs ne sont pas appliques sur lui
il peut faire tous
compte pour ladministrateur du systme

bin, daemon, lp, sync, news, ftp


comptes utilisateur utiliss par diffrentes applications et
dmons
ne peuvent pas tre utiliser comme login

comptes ordinaires

Enregistrer un utilisateur:
/etc/passwd
Un utilisateur est caractris par une ligne dans le fichier /etc/password.
Une ligne est forme par les champs suivants :
login:passwd:uid:gid:comment:home:shell

login : Il s'agit du nom de l'utilisateur. C'est un alphanumrique de 8 caractres


maximum.
passwd : Il apparat dans ce fichier sous forme code.
uid : Il s'agit d'un numro unique de l'utilisateur. Compris entre 0 et

65535. Les 100 premiers nombres sont par convention rservs au


systme et ne correspondent pas des utilisateurs normaux.
gid : Numro de groupe. Chaque utilisateur appartient un groupe
principal. Il pourra galement appartenir des groupes secondaires.
Cette notion de groupe interviendra au niveau des permissions sur les
fichiers.
comment : Nom complet de l'utilisateur.
home : Chemin complet de la directory attribue l'utilisateur
shell : Chemin complet du shell, le programme qui interagit avec
l'utilisateur et qui permet de taper des commandes (csh, sh, bash,
tcsh, ...).

Enregistrer un utilisateur
/etc/passwd
Exemple :

root:x:0:0:root:/root:/bin/bash
kmaster:x:500:500:kmaster:/home/kmaster:/bin/bash

Nota le deuxime champ (x) spcifie q'il y a un mot de passe et


que celui-ci est crypt (dans /etc/shadow).
L'UID est compris entre 0 (root) et la constante UID_MAX
(dfinie dans le fichier /etc/login.defs).
ATTENTION : Si au sein de ce fichier, plusieurs lignes
possdent le mme UID pour plusieurs noms de
connexion diffrents, UN SEUL utilisateur est en fait
dfini !
Exemple : on peut ainsi dfinir un utilisateur stop, dont l'UID est
0 et qui excute shutdown comme commande de connexion.

/etc/shadow
Le fichier /etc/passwd est public (toute
personne qui a un compte sur la machine
peut le lire).
Pour contrecarrer cette faille, certains
systmes ont introduit le fichier
/etc/shadow

lisible uniquement par root


contient les mots de passe des utilisateurs, qui
disparaissent alors de /etc/passwd.
Si on ajoute un utilisateur la main, cela
implique d'diter les 2 fichiers.

/etc/shadow
Une ligne /etc/shadow est compose des champs
suivants:
Nom de login
mot de passe crypt
Nombre de jours couls depuis le 1er janvier 1970 jusqu'au dernier
changement de mot de passe
Nombre de jours durant lesquels le mot de passe est encore valide
Nombre de jours aprs lesquels le mot de passe doit tre chang
Nombre de jours avant l'expiration du mot de passe impliquant
l'avertissement de l'utilisateur
Nombre de jours aprs l'expiration provoquant la desactivation du
compte
Numro du jour depuis le 1er janvier 1970 partir duquel le compte
a t dsactiv
Champs rserv

10

/etc/shadow
Exemple :
kmaster:
$1$zBvl.scX$hkqgDvBu40EqpAEwZfZZ
Q0:11493:0:99999:7:::
le mot de passe en cours a t mis en place le
11493e jour aprs le 1/1/1970 (date de
rfrence),
il pourra nouveau tre chang 0 jour aprs
cette date
il devra obligatoirement tre modifi avant le
99999e jour aprs la date de cration (autant dire
qu'il n'expire jamais...).

11

/etc/skel
Aprs la cration dun compte utilisateur,
tous les fichiers de /etc/skel sont copis
dans le rpertoire personnel de cet
utilisateur.
On place dans ce rpertoire les fichiers
dont tous le monde doit en avoir une copie

12

La commande su
La commande su permet de changer
lidentit de lutilisateur courant.
Syntaxe su [[-] utilisateur]
Utilisateur est lutilisateur dont on veut prendre
lidentit
Si aucun utilisateur nest spcifi, le
changement se fait vers lutilisateur root

La commande demande un mot de passe


avant dobtemprer. (sauf si root)

13

Gestion des comptes


Crer un compte pour un nouvel
utilisateur
Commande useradd

Syntaxe : useradd [options] nom_login


Options :
-u uid
pour fixer l'identifiant uid
-g groupe-primaire

-G liste
fixe l'appartenance de l'utilisateur une liste de groupes secondaires
(sparateur , sans espace)
-s shell
par dfaut, attribution du shell par dfaut bash
-c commentaire

-d rep. Personnel
par dfaut dans le rpertoire /home
-e date-expiration
fixe la date d'expiration du compte (format MM/JJ/AA)
-m pour crer le rpertoire personnel
-k rep-skel
recopie le contenu de rep-skel dans le rp. personnel, par dfaut
/etc/skel

# Useradd c compte de test -m d /home/toto G test k


/etc/skel toto

14

Gestion des comptes

commande useradd
Pour examiner les valeurs par dfaut
appliques par useradd :
commande useradd -D ou
diter /etc/default/useradd

GROUP=100
identifiant du groupe primaire
HOME=/home
racine des rp. personnels
INACTIVE=-1
(nb de jours avant destruction du
compte)
EXPIRE=
nb de jours avant expiration du mot de
passe
SHELL=/bin/bash shell de connexion attribu au
compte
SKEL=/etc/skel
fichiers recopis par dfaut dans
chaque rp. personnel

15

Gestion des comptes


La commande passwd
Syntaxe : passwd [options ]
nom_login
Options
-d
-l
-u

l'utilisateur pourra se connecter sans mot de


passe !
pour verrouiller le compte et empcher sa
connexion.
pour dverrouiller.

16

Gestion des comptes


Connatre l'uid et le gid de l'utilisateur
courant
Commandes ( id, whoami, who am i )

bash:> id
uid=501(stage1) gid=501(stage1) groups=501(stage1), 504(stagiaire)

Pour dcrire un utilisateur

Commande chfn
Cette commande permet d'indiquer dans le
champ numro 5 du fichier /etc/passwd
diffrentes informations sur un utilisateur

17

Gestion des comptes


Supprimer le compte d'un utilisateur (non
connect)
La commande userdel
Syntaxe : userdel [-r] nom_login
L'option -r supprime aussi le rp. personnel de
l'utilisateur
La commande supprime toute trace de
l'utilisateur dans le fichier de configuration :
/etc/passwd y compris dans les groupes
d'utilisateurs.

18

Gestion des comptes


Modifier le compte dun utilisateur
La commande usermod
Syntaxe : usermod [options] nom_login
Les options sont les mmes que useradd
Exemple
usermod -G stagiaire,prof stagex
ajoute stagex dans les 2 groupes stagiaire et profs (qui
doivent exister)

19

Les groupes
Un groupe est un ensemble d'utilisateurs.
Chaque utilisateur doit faire partie au
moins d'un groupe.
Dans /etc/passwd chaque utilisateur
possde un groupe par dfaut, prcis par
son identifiant gid dans ce fichier.
L'appartenance au groupe primaire n'tant
pas exclusive, tout utilisateur peut faire
partie de plusieurs autres groupes.
La liste des groupes est donne par le
fichier /etc/group

20

Le fichier /etc/group
Le fichier de dclaration des groupes /etc/group
contient une ligne par groupe dans un format
similaire au fichier /etc/passwd.
Une ligne de ce fichier comporte les champs
suivants, spars par des caractres `:' :

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

Par exemple :

actrices:*:400:sandra,meg,michelle

21

Commandes utiles
Pour lister tous les groupes d'un utilisateur :
groups nom_login

Pour crer un nouveau groupe

groupadd

nom_groupe

Supprimer un groupe : groupdel nom_groupe


Le groupe est supprim du fichier /etc/group.

modifier un groupe

groupmod -n nouveau_nom nom_groupe

Pour ajouter un utilisateur un groupe


Le plus simple est d'diter le fichier /etc/group et
d'ajouter une liste d'utilisateurs (spars par des
virgules) sur la ligne du groupe.

22

Processus dinitialisation
utilisateur

/etc/profile
$HOME/.bash_profile
$HOME/.bashrc
/etc/bashrc
[user@host pwd]$

Bourne Again Shell

$HOME/.bash_logout

23

newgroup
La commande newgrp permet un
utilisateur de changer son groupe courant.
Par exemple :
bash$ newgrp actrices
bash$ id
uid=500 (sandra) gid=400 (actrices) groups=500(sandra),100(users),
400(actrices)

Unit 2
Les droits daccs

25

Gestion des droits daccs

Tout utilisateur possde un numro d'utilisateur et le


numro du groupe auquel il appartient. On distingue
trois types d'utilisateurs potentiels :
le propritaire du fichier ("user", u);
les utilisateurs appartenant au mme groupe ("group", g);

les autres utilisateurs ("other", o).


Trois types d'oprations sur les fichiers sont possibles
la lecture ("read", r);
l'criture ("write", w);
l'excution ("execute", x).

Il y a donc 9 combinaisons possibles utilisateuropration. C'est pourquoi les protections sont codes
sur 9 bits.

26

Gestion des droits daccs


si vous essayez de copier un fichier dans
un sous-rpertoire (cp fic1 rep2/rep3/fic1),
il faut que vous puissiez :
1.lire le fichier fic1 : droit en lecture sur le
fichier
2.traverser les sous-rpertoires rep2 et rep3 :
droit x au moins pour vous,
3.crire dans rep3 : droit W

27

Modification des droits daccs


chmod modification_des_droits fichier1 [fichier2 ]
Vous pouvez utiliser des +, - ou = pour ajouter, supprimer ou
fixer des droits l'une ou l'autre des catgories u, g, o ou a
tous (a) en prcisant le type de droit d'accs, r, w ou x.
chmod g+w fic1
chmod o-x rep
chmod u+rx,g-w fic2
chmod u=rwx,g=rx,o=- fic
chmod a+r fic
Si le changement de droits s'applique un rpertoire, vous
pouvez changer tous les droits des fichiers et rpertoires
inclus dans ce rpertoire via l'option -R.

28

Modification des droits daccs


chmod nombre_en_base_8 fichier1 [fichier2 ]
chmod utilise le codage binaire, fond sur l'association
de valeurs numriques aux diffrentes permissions :

lecture : 4,
criture : 2,
excution : 1,
pas de permission : 0.

Chaque triplet se code par l'addition de 4, 2, 1, ou 0.


Pour un rwx il faudra ajouter 4+2+1=7,
pour r-x 4+0+1=5 etc.

La commande chmod permettant de positionner rwxrx--- sur fic1 la syntaxe suivante :


chmod 750 fic1

29

Valeur par dfaut des droits


daccs

umask nombre_en_base_8
Par dfaut unix affecte les droits max sur
les fichiers normaux et les rpertoires :
Rp 777 (rwxrwxrwx)
Fichier normal 666 (rw-rw-rw-)

Les droits effectifs sont obtenus par :


Exemple

droits_max - masque

Si on souhaite un accs en lecture/criture pour le


propritaire et en lecture seule pour le groupe et le reste
de monde, on utilise 022 comme masque

30

Changement de propritaire et de
groupe
Sans les uid et les gid les droits daccs
nauraient aucun sens.
La commande chown permet de changer
le propritaire
chown utilisateur fichier1 [fichier2 ]

La commande chgrp permet de changer le


groupe
chgrp groupe fichier1 [[fichier2 ]

Unit 3
Dmarrage et arrt du
systme

32

Etape de dmarrage de Linux


Power-On
BIOS
Master boot record
Noyau Linux
init
Systme prt

33

Basic Input Output System


Analyse la configuration matrielle de
lordinateur:

Test de la mmoire
Test la prsence du clavier
Test la prsence des disques durs, lecteurs de CDROM
IDE

lit les options partir de la mmoire non volatile


ordre des priphriques de boot

puis cherche le priphrique de boot dans lordre


spcifi
charge le Master Boot Record est lexcute

34

Master Boot Record MBR

Le premier secteur du priphrique de boot


il contient la table des partitions et le bootstrap
loader
le bootstrap loader charge le premier secteur de la
partition active (secteur de boot) et excute le
gestionnaire damorage qui sy trouve.
Le gestionnaire damorage peut donner accs aux
diffrents Systme dexploitation
Dans linux, le gestionnaire damorage est lilo

charge le programme damorage de deuxime niveau


nous permet de passer des options au Systme
dexploitation
charge le Systme dexploitation

35

LILO
Programme qui permet de gnrer et d'installer
le programme de dmarrage du noyau
syntaxe lilo [-v] [-v] [-c config_file] [-t]
-v
-c
-t

: mode verbeu
: utilisation du fichier de configuration autre que /etc/lilo.conf
: test uniquement

36

/etc/lilo.conf
Exemple
boot = /dev/hda
map=/boot/map
message=/boot/lilo.msg
timeout = 30
# linux
image = /boot/vmlinuz
root = /dev/hda1
label = linux
# dos
other = /dev/hda4
table = /dev/hda
label = dos
Cet exemple installe le chargeur LILO sur le secteur de dmarrage principal du
disque dur (MBR) et autorise un dlai de 3 secondes pour choisir le systme
dmarrer.
Si l'utilisateur ne prend pas la main dans le temps imparti, c'est le premier
systme qui sera choisi. A moins de taper sur la touche tab, ce qui donne les
diffrentes possibilits pour dmarrer.

37

Options lilo.conf
Boot : endroit o lilo va sinstaller.
message : le nom dun fichier qui contient le message
affich avant le prompt
prompt : permet lilo de demander le systme lancer
chaque dmarrage
default : spcifie la configuration par dfaut
timeout : permet de fixer un dlai au del duquel lilo lance
la premire configuration dfinie dans lilo.conf
image : chemin complet sur le noyau de linux charger
label : nom de la configuration tel quil doit tre saisie
linvite de lilo

38

Lilo.conf options-2
root : nom complet du fichier spcial de priphrique
contenant le systme de fichier racine.
Append : options par dfaut passer au noyau
read-only : le systme de fichier racine est mont en
lecture
seule
other : partition sur laquelle le secteur de boot de lautre
systme est install
table : disque dur contenant la table des partitions utilise
par lautre systme (other)
loader : permet de passer la main au chargeur du systme
password : mot de passe entrer pour dmarrer cette
image
restricted : mot de passe demand si lutilisateur veut
passer des options au noyau

39

Etapes dexcution LILO


Au dmarrage de la machine, ces 4 lettres
saffichent chacune aprs une tape bien
prcise :

L : aprs le chargement de la premire partie


de LILO
I : aprs le chargement de la deuxime partie
de LILO, mais avant son excution
L : aprs le dmarrage de la deuxime partie de
LILO
O : lorsque la deuxime partie de LILO a trouv
sur le disque tous les lments ncessaire a
son bon fonctionnement.

40

Amorage du noyau
Limage compresse du noyau est charge en
mmoire par lilo
Le noyau se dcompresse lui mme est dmarre

dtecte le hardware
passe en mode multiuser, multitache
dmarre le networking
monte la partition racine

Aprs un dmarrage russi, le noyau lance le


processus init (PID 1).
dmesg donne les messages du noyau lors du
dmarrage

41

Le processus init
Ce programme est le premier processus
lanc par le noyau. Il est charg de
dmarrer les processus systmes et d'en
relancer certains lorsqu'ils se terminent, et
ce durant la totalit du fonctionnement du
systme.
Sa configuration s'effectue dans le
fichier /etc/inittab.

42

Le fichier /etc/inittab
Ce fichier contient des lignes respectant le format
suivant :
code:niveau:action:commande

Le champ code contient une squence de 1 4


caractres (deux pour compatibilit) unique pour
identifier la ligne dans le fichier.
Le champ niveau donne le niveau d'excution
pour lequel cette ligne doit tre prise en compte.

43

Le fichier /etc/inittab
La notion de niveau d'excution permet de spcifier des
configurations d'excution diffrentes. Un standard existe
et est rsum dans la table ci-dessous. Il est possible de
spcifier plusieurs niveaux lorsque la commande associe
doit tre lance diffrents niveaux d'excution.
Niveau
0
1
se
2
3
rseaux
4
5
6

Description
Arrt de la machine
mode mono-utilisateur, seul le super-utilisateur peut
connecter
mode multi-utilisateurs, avec peu de services rseaux
mode multi-utilisateurs, avec tous les services
(mode par dfaut)
dfinissable par l'utilisateur
dmarrage de X11 au boot
redmarrage de la machine

44

Le fichier /etc/inittab
Le champ action dfinit la manire d'excuter la commande
du champ commande.
Le tableau ci-aprs prsente les actions les plus courantes :
Action
respawn
wait
once
boot
ignor)
Bootwait
off
initdefault
sysinit
bootwait
ctrlaltdel
powerfail
(dfaut

Description
relance la commande lorsqu'elle se termine
attend la fin de la commande avant de continuer
la commande est excute une fois
la commande est excute au dmarrage du systme (le champ niveau est
comme ci-dessus avec attente
ne rien faire (permet de conserver la ligne pour une utilisation future)
permet de spcifier le niveau d'excution par dfaut
la commande est excute au dmarrage avant celles des directives boot et
la commande est excute lorsque l'utilisateur tape les trois caractres <CTRL><ALT>-<SUPPR> sur le clavier
la commande est excute lorsque le processus init reoit le signal SIGPWR
d'alimentation)

45

Le rpertoire /etc/rc.d
Ce rpertoire contient les scripts utiliss pour l'initialisation du
systme. Ils sont prvus pour dmarrer les diffrents services
et processus et effectuer quelques vrifications de
configuration.
La table suivante prsente les diffrents scripts :
Niveau
Description
rc.sysinit
excut une fois au dmarrage pour initialiser le systme
rc script de gestion du niveau d'excution. Il le reoit en
paramtre.
rc.local
script utilis pour les initialisations particulires la machine
init.d rpertoire contenant les scripts d'initialisation des soussystmes
rc0.d, rc1.d, rc2.d, rc3.d rpertoires contenant des liens sur les scripts du rpertoire
rc4.d, rc5.d et rc6.d
init.d devant tre lancs un niveau d'excution particulier

46

Le rpertoire /etc/rc.d
Le fichier rc.sysinit ralise les oprations suivantes :

initialise la variable PATH pour les autres scripts


active la partition de swap
initialise le nom du systme (hostname)
vrifie l'intgrit du systme de fichiers
dmarre la gestion des quotas
initialise le "Plug and Play"
prpare la gestion des modules
initialise l'horloge systme
dtruit les fichiers de verrouillage

Le fichier rc excute les scripts du rpertoire rcN.d o N


correspond au niveau d'excution.

Ces scripts sont des liens symboliques sur les fichiers de dmarrage des
sous-systmes du rpertoire init.d.
Le lien reprend le nom du fichier d'origine prcd de la lettre S et d'un
nombre pour les scripts de dmarrage ou de K et d'un nombre pour les
scripts d'arrt du sous-systme.
La valeur numrique permet de spcifier l'ordre d'excution des scripts.

47

Configuration des services par


niveau

ntsysv
Chkconfig
serviceconf
...

48

Commande chkconfig
Cette commande permet la gestion des
services :

chkconfig - -list [nom_service]


chkconfig - -add <nom_service>
chkconfig - -del <nom_service>
chkconfig [- -level <niveaux>] <nom_service> <on|off|
reset>)

49

Dmarrer et arrter les services


manuellement

Les scripts dans init.d peuvent tre utiliser


pour dmarrer et arrter les services
manuellement
Dans Read Hat, la commande service fait
appel ce script
Syntaxe : service nom_service option
options

Status : statut du service


Start : dmarre le service
Stop : arrte le service
Restart : arrte et redmarre le service

50

Booter linux en mode monoutilisateur


Mode mono-utilisateur

pas de rseau (pas dattaques)


pas de SF monts (sauf le SF root)
pas de services dmarrs
le mot de passe root non demand

trs utile pour la maintenance du systme


pour dmarrer en mono-utilisateur ajouter le
paramtre single au prompt du boot
pour sortir de ce mode
exit pour dmarrer le niveau par dfaut
shutdown -r now pour rebooter

51

L'arrt du systme
Ne pas arrter brutalement le systme.
La procdure d'arrt permet :

d'avertir les utilisateurs que le systme doit tre arrt


de demander aux applications de s'arrter et de fermer les connexions et les
fichiers ouverts
de passer le systme en mode mono-utilisateur
de vider les tampons mmoire du cache disque

Le systme garde une trace du fait qu'il est dmarr pour


permettre une vrification d'intgrit dans le cas d'un arrt
brutal.
La commande d'arrt du systme est la commande
shutdown qui permet, selon les options utilises :

de donner l'heure de l'arrt ( now, hh:mm, +minutes)


de donner le mode arrt (arrt ou redmarrage)

Exemple

: pour redmarrer shutdown -r now ou reboot

pour arrter shutdown -h now ou halt

Unit 4
Les packages

53

Gestion de packages
Combinaison dans un mme fichier (rpm)

informations sur le programme


les fichiers excutables, librairies, documentation
les scripts dinstallation et de dsinstallation
les fichiers de configuration
les informations de dpendance

Le nom dun rpm respecte un format prcis


de type nom-version.arch.rpm o :
nom=nom du package/prog
version=version du package/prog
arch=architecture pour lequel est fait le prog/package.

54

Red Hat Package Manager


(RPM)

on peut installer et dsinstaller


des programmes par une seule
commande : rpm
/var/lib/rpm, contient une BDD
des RPMs installs

55

Installation des RPMs


Syntaxe de base

rpm -i nom_package.rpm ( installation)


rpm -F nom_package.rpm (Freshening)
installation si une version ancienne de ce package est dj
installe
rpm -U nom_package.rpm (Upgrading)
installe et dsinstalle lancienne version qui est enregistre
avec lextension .rpmsave

options

v : mode bavard
h : affiche 50 marques (hash marks)
--nodeps : sans tenir compte des dpendances

56

Dsinstallation de RPM
Pour dsinstaller un RPM, on utilise la
commande
rpm -e nom_package

options:
--nodeps : ignore les dpendances

57

RPM querying
Pour connatre le contenu dun RPM install
syntaxe de base
rpm -q [ nom_package ]

options :

a : chercher tous les RPM installs


f <file> : chercher le RPM do provient le fichier file
p<package-file> : affiche les fichiers de ce package (non
encore install)
i : affiche les informations du package
l : affiche la liste des fichiers du package
s : affiche ltat de tous les fichiers
d : affiche les fichiers de documentation
c : affiche les fichiers de configuration

58

Vrification des RPMs


Vrifie les fichiers actuelles avec le RPM original

taille
checksum MD5
Permissions, type
propritaire
groupe

syntaxe de base
rpm -V nom_package

options

f <file> vrifie le fichier file


a
vrifie tous les packages
p <package-file> vrifie par rapport au RPM original

59

Outils graphiques
kpackage

Il fonctionne dans l'environnement Kde,


Il nest pas fourni en standard dans les distributions RedHat.

gnorpm

Cest un logiciel fourni avec l'environnement graphique gnome.

up2date

est un outil standard de la distribution RedHat (version 6.1 et


suprieure)
il permet la mise jour de la distribution.
Il cherche sur le serveur ftp de redhat les packages mis jour pour la
distribution.
Il prsente ensuite une page web permettant de slectionner les
packages mettre jour.

Unit 5
Gestion des
priphriques

61

Les priphriques sont grs par le systme


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

62

Les fichiers spciaux


Le rpertoire /dev contient un nombre important de fichiers :
Fichier spcial
Mem
Kmem
Null
Port
Mouse
tty0 tty__
ttyS0 ttyS_
pty[p-s][0-9a-f]
tty[p-s][0-9a-f]
lp0, lp1, lp2
js0 et js1
fd___
hd__
sd__
scd__
st__ et nst__

Description
accs la mmoire physique
accs la mmoire du noyau
priphrique vide
accs aux ports d'entres/sorties
gestion de la souris (peut tre un lien sur le fichier effectif)
les terminaux virtuels (de 0 63)
les ports sries
pseudos terminaux matres
pseudos terminaux esclaves
ports parallles
port joystick
les lecteurs de disquettes (fd0 est le lecteur standard)
les disques durs et les cdroms IDE
les disques durs SCSI
les cdroms SCSI
les lecteurs de bandes SCSI

63

Caractristiques des fichiers


spciaux

La commande ls -l permet d'afficher les attributs importants d'un


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

Le premier caractre est b pour les priphriques en mode bloc et


c pour les priphriques en mode caractres.
La taille du fichier tant par dfinition nulle, elle est remplace
dans l'affichage par deux entiers donnant des informations sur le
pilote et sur le priphrique : le majeur et le mineur

64

Major & Minor


le majeur sert dindex dans la table des pilotes de
priphriques afin de slectionner le pilote du
priphrique concern
Un pilote est li un type de priphrique. Mais
dans un systme, il peut y avoir plusieurs
priphriques de mme type
Do lutilisation du mineur pour identifier une unit
particulire du type de priphrique concern

65

exemples
ls al /dev/hda
brw-rw---- 1 root disk 3, 0 Apr 28 2000 /dev/hda
ls al /dev/hdb
brw-rw---- 1 root disk 3, 64 Apr 28 2000 /dev/hdb

Ceci montre que le pilote, numro majeur 3,


contrle les deux disque hda et hdb
Quand cest des disques sont utiliss, le pilote va
pouvoir les distingus parce que hda son mineur
est 0 alors que hdb a pour mineur 64

66

Les priphriques existants dans


votre systme

Lexistence dun fichier de priphrique


nimplique pas que vous pouvez utiliser ce
priphrique.
Vous avez aussi besoin du pilote de ce
priphrique.
La liste des pilotes disponibles dans votre
systme se trouve dans le fichier /proc/devices

NB
Pour pouvoir utiliser un priphrique, la
prsence du fichier et du pilote de ce
priphrique est ncessaire.

67

Cration dun fichier de


priphrique

Il y a deux mthodes pour crer un fichier


de priphrique :
la plus simple est dutiliser la commande
MAKEDEV
Syntaxe /dev/MAKEDEV nom_fichier_priph
exemple /dev/MAKEDEV console

NB ceci doit tre fait par root

68

Cration dun fichier spcial


La deuxime mthode est dutiliser la
commande mknod
syntaxe
mknod nom_fichier_priph type_priph majeur mineur

exemple : pour crer le fichier de


priphrique de COM1 /dev/ttys0 ( o la
souris est connecte)
mknod /dev/ttyso c 42 40

69

Conseil
Si votre /dev est endommag vous ne
pouvez plus utiliser MAKEDEV.
Pour lutilisation de mknod, vous devez
connatre le type le majeur et le mineur
dun priphrique ce qui nest pas
vident.
Pour ne pas avoir des Pbs penser faire
une copie de /dev.
ls -al /dev > /mnt/liste_fichiers_priph

Unit 6
Systme de
fichier

71

Cest quoi un fichier ?


Un fichier est une suite de bits
par dfaut pas de structure interne

un fichier est enregistr et rfrenc dans


un systme de fichier
un fichier peut avoir plusieurs rfrences
(noms)

72

Cest quoi un systme de fichier


(SF)

structure pour enregistrer les fichiers et


pouvoir les trouvs par la suite.
Structure arborescente via lutilisation de
rpertoire
Pour pouvoir accder un systme de
fichiers il faut le mont

un point de montage est toujours un rpertoire


vide
le SF racine (/) est activ au dmarrage du
systme

73

Systme de fichiers
Linux structure ces donnes dans des
systmes de fichiers rsidant sur
diffrentes partitions
Chaque partition peut contenir au plus un
systme de fichiers
Un systme de fichiers ne peut stendre
sur plusieurs partitions.

74

Les SFs supports

Le plus important : ext2fs


les plus rcents : ext3fs, ReiserFS, IBM JFS
FAT-12, FAT-16, FAT-32,VFAT, NTFS (read-only)
ISO9660 (cdrom)
SMBFS (partage Windows), NCPFS (netware partage)
HPFS (OS/2) readonly, HFS (Macintosh) readonly
NFS (Network File System)
AFS (Amiga)
/Proc
(accs au noyau)

75

SF par dfaut de LINUX : ext2fs


Les partitions sont divises en bloc de
1024 octets (par dfaut)
les blocs peuvent avoir diffrentes
utilisations:

super bloc
Inode (Index node)
bloc dindirection (simple, double, triple)
bloc de donnes (data block)

76

Super bloc
Le premier bloc dun SF, plusieurs copies
sont disponibles (8193, 16385, )
contient les informations gnrales sur le
SF

dernier montage date/place


taille dun bloc
pointeurs vers les inodes libres
pointeurs vers les blocs libres
pointeur sur la racine du SF

77

Inodes
256 octets (4 par blocs de 1024 octets)
Un inode contient les informations sur un fichier :

Le type et le mode daccs


Le nombre de liens physiques
La taille (en octets) du fichier
Luid et le gid du fichier
La date de dernier accs en lecture et en criture des donnes et du
dernier accs linode
Un tableau de 12 pointeurs sur des blocs de donnes directs
3 pointeurs dindirection :
Un pointeur sur un bloc dadresses sur un niveau dindirection
Un pointeur sur un bloc dadresses sur deux niveaux dindirection
Un pointeur sur un bloc dadresses sur trois niveaux dindirection

Le nombre de blocs physiquement utiliss pour stocker le fichier

78

Bloc donnes
Contient des donnes dun fichier
Le fichier peut tre un rpertoire, dans ce
cas les donnes sont la liste des noms de
fichiers de ce rpertoire et leurs inodes

Deux fichiers diffrents peuvent avoir le


mme inode
les fichiers peuvent
avoir plusieurs noms

79

80

Donc ...
Les plus importants composants dun SF
sont les inodes et les blocs data
Un SF est satur si
Pas dinode libre ou
Pas de bloc data libre

Configurer votre SF suivant la taille de vos


fichiers
Taille dun bloc (1024 par dfaut, 2048, 4096
possible)
octets par inode (4096 par dfaut)

81

Cration de partition
La cration dune partition est faite par
fdisk
Syntax : fdisk [device disque]
Importantes commandes de fdisk

p : affiche la table de la partition


n : ajout dune nouvelle partition
t : change le type de la partition
d : supprime une partition
w : sauvegarde la table de partition et quitte
q : quitte sans sauvegarde

82

Cration dun SF
La cration dun SF est faite avec mke2fs
Dfinie le super bloc et la table dinodes
Syntaxe
mke2fs b 1024 i 4096 c /dev/hda6

b dfinir la taille dun bloc en octets


i octects-par-inode
c vrification des secteurs dfectueux du disque
j cration de EXT3

NB La cration dun SF sur un priphrique


crase son contenu

83

Monter un SF
Utiliser la commande mount :
Il faut prciser

le fichier spcial du priphrique


Le point de montage
Le type du SF (optionnel)
mount t ext2 /dev/hda6 /mountpoint

Pour afficher la liste des SFs monts, utiliser


mount sans arguments

84

Monter des SFs au dmarrage


Pour chaque SF monter au
dmarrage ajouter une line
dans /etc/fstab
/dev/hda2
/dev/cdrom
/dev/fd0
00
/dev/hda6
0

ext2
defaults
11
/mnt/cdrom iso9660
noauto,ro,user
00
/mnt/floppy
msdos
noauto,user
/mountpoint

ext2

defaults

85

Options de montage
On utilis plusieurs options

auto
montage automatique (mount a )
noauto
ne pas monter automatiquement
user
users sont autoriss monter ce SF
owner
idem auto sauf que lutilisateur doit tre le
propritaire
ro lecture seul
rw
lecture/ecriture

Pour autres options voir man mount

Ces option peuvent tre spcifies derrire o


lors de lexcution de mount
Ou bien les spcifies spares par des virgules
dans la 4 colonne du fichier /etc/fstab

86

Dmonter un SF
Le SF ne doit pas tre en utilisation :
vrifier avec fuser
Des fichiers ouverts
Des programmes entrains de sexcuter
Des rpertoires actifs

Utiliser la commande umount avec


Le nom du device
Le point de montage
Ou les deux

umount /dev/cdrom
umount /mnt/cdrom

87

Commandes utiles
df : affiche la place libre en termes de blocs et
dinodes sur chacune des partitions montes.
fsck : rparation des SFs

de prfrence les SFs doivent tre monts en lecture seul


ou non monts
place les fichiers perdus dans /lost+found

ln : cration de liens
du : montre lusage dun rpertoire
mtools (mdir, mcopy, mdel, mformat, ) permet
dutiliser les SFs msdos sans les monts.
Fichier de configuration /etc/mtools.conf

Unit 7
Gestion de quota

89

Quotas
Quota permet de limiter loccupation de
lespace disque pour les utilisateurs et les
groupes
on peut limiter le nombre de blocs et/ou
dinodes quun utilisateur ou un groupe
peut utiliser
les quotas sont sont dfinies par Systme
de fichier

90

Hard & soft limite, priode de


tolrance

Un quota dfinit deux limites : hard et soft


si lutilisateur dpasse la limite soft : message
warning seulement
sil dpasse la limite hard : erreur

la priode de tolrance indique le temps


durant lequel on peut dpasser la limite
soft
aprs cette priode la place du warning on a
un message derreur.

91

Implmentation de quota en
Linux
Le support de quota est compil avec le noyau
grep i quota /boot/config_version, rpm qa |grep quota
pas de dmon ncessaire

un utilisateur peut avoir diffrentes quotas


aquota.user et aquota.group dans la racine de chaque SF
Permissions 600

la dfinition de quota doit tre active lors du montage dun SF


options de montage : usrquota, grpquota
peut tre spcifie dans /etc/fstab

la gestion des quotas est dmarre aprs le montage par la


commande quotaon.
Automatiquement excute partir de /etc/rc.d/rc.sysinit aprs un
mount -a

92

Activation de quota
Modifier /etc/fstab
/dev/hda2
11
/dev/cdrom
/dev/fd0
/dev/hda6

/
/mnt/cdrom iso9660
/mnt/floppy
/mountpoint ext2

ext2

defaults,userquota,grpquota

noauto,ro,user
msdos
noauto,user
defaults

Crer aquota.user et aquota.group :


# touch /aquota.user /aquota.group

Remonter la partition
# mount -o remount,usrquota,grpquota /

calculer lusage courant


# quotacheck

activer quota
# quotaon

00
00
00

93

Configuration du quota
Raliser par la commande edquota
fait appel lditeur par dfaut ($EDITOR)

quota utilisateur : edquota -u


nom_utilisateur
quota du group : edquota -g nom_group
priode de tolrance : edquota -t
copier une quota :
edquota -p tux1 -u tux2 tux3 tux4

94

Informations quota
La commande quota
infos sur le quota dun utilisateur
peut tre excuter par tous utilisateur
un utilisateur ne peut visualiser que son quota

repquota
infos sur les quotas de tous les utilisateurs et
groupes
uniquement root peut lexcuter

Unit 8
Scheduling

96

Scheduling
Automatiser les taches de routine
lancement automatique des taches des
moments spcifiques
le dmon crond fait le scheduling pour les
fichiers conrontab
la commande anacron excute les jobs
anacron
le dmon atd est responsable dexcuter
les jobs soumets par les commandes at ou
batch

97

cron
Les jobs sont configurs dans des fichiers crontab
Syntaxe dune ligne
[minute][heur][jour-du-moi][moi][jour-de-semaine][job]

chaque minute, crond cherche dans les fichiers


crontab sil y a un job lancer
Les fichiers crontabs des utilisateurs sont enregistrs
dans /var/spool/cron/username
le fichier crontab systme est /etc/crontab
tous les fichiers de /etc/cron.d sont considrs comme
des fichiers crontab

98

Exemple dun fichier crontab


utilisateur
0

cmd1

0,30

cmd2

0,30

8-18

cmd3

*/5

cmd4

12

13

cmd5

49

23

16

cmd6

15

cmd7

32

14

cmd8

99

Commandes crontab
Un utilisateur peut modifier son crontab,
mais il ne peut pas signaler crond ce
changement
avec la commande crontab (SUID root)
cest possible
syntaxe
crontab -l
crontab -r
crontab -e

affiche crontab de lutilisateur courant


supprime crontab de lutilisateur courant
dit crontab de lutilisateur courant

NB root peut utiliser -u username pour


spcifier un utilisateur autre que root.

100

Crontab systme
Le fichier crontab du systme est /etc/crontab
le rpertoire cronatb systme est /etc/cron.d
tous les fichiers de ce rpertoire sont lu par crond

syntaxe
on peut dfinir des variables denvironnement
spcifier luid sous lequel la commande va tre excuter
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * * root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

101

at
La commande at excute une commande
un moment donne.
# at 4am
ps aux
^d
# at -f bshfile 16:00 + 3 days

102

Contrle des jobs at


Liste des jobs
$at -l
$atq

annuler un job
$at -d job
$atrm job

permission dutilisation de at
/etc/at.allow
/etc/at.deny

103

batch
Excute une commande quand le systme
et moins charg
$batch
echo la charge est minime
^d

Unit 9
Syslog

105

Pour quoi faire


Syslogd est un daemon qui journalise les
vnements du systme.
Il faut avoir le daemon syslogd qui tourne
sur votre machine pour que cela marche.
Lorsque vous lancez syslog sur votre
machine vous dmarrez en fait le daemon
syslogd et klogd,

106

Le principe
Par dfaut les fichiers de log se trouvent
dans /var/log.
Le fichier de configuration de syslog est
dans /etc/syslog.conf.
Par mesure de scurit, il est d'usage de
mettre le rpertoire /var/log dans une
partition propre (afin d'viter qu'une
saturation de ce rpertoire n'entrane un
arrt du systme tout entier).

107

Le principe
Les fichiers de log sont les suivants :

/var/log/messages est le fichier systme qui


rcupre tout.
/var/log/secure Contient les informations de
connexions. Chaque login y est enregistr.
/var/log/maillog Contient un enregistrement du
trafic de courrier entrant et sortant.
/var/log/spooler Contient les messages d'erreur
des daemons uucp et innd (news).

108

L'installation
Par dfaut il est install avec la plupart des
distributions, mais au cas ou, peut probable
ou il faut l'installer :
sysklogd-.....rpm utilisez la dernire
version.
Normalement il est lanc au dmarrage de
la machine. Si cela n'est pas le cas vous
pouvez le lancer avec la commande
/etc/rc.d/init.d/syslog start.

109

Configuration
La configuration de syslog se fait dans le
fichier /etc/syslog.conf.
Pensez aprs toute modification faire relire ce
fichier de conf (killall -HUP syslogd).

Dans le fichier syslog.conf vous devez


donc indiquer sur une ligne :
le service,
le niveau de gravit,
le fichier vers lequel diriger les logs.

110

Catgories de service
Les diffrentes catgories de service sont :
auth ou security
Authpriv
logs
Cron
Daemon
Ftp
Kern
Lpr
Mail
News
Syslog
User
cours
Uucp

Messages de scurit et d'authentification.


La mme chose que prcdemment, mais
plus privs
Messages de crontab et de at
Messages systmes gnrs par le daemon
Messages du serveur ftp
Messages du noyau
Messages du serveur d'impression
Messages du serveur de messagerie
Messages du serveur de news
Messages de syslog lui-mme
Messages gnrs par le programme en
d'un utilisateur
Messages UUCP

111

Liste de svrite

7
6
5

debug
info
notice

warning ou warn
err
crit
alert

4
3
2
1

emerg ou panic

Messages de dbogage
Messages d'information
Messages un peu plus importants
que les messages info
Messages d'avertissement
Messages d'erreur
Situation critique
Situation critique ncessitant une
intervention immdiate
Systme inutilisable

Unit 10
Les processus

113

La gestion des processus


Pour chaque processus excut dans le
systme d'exploitation est stock un
certain nombre d'informations :

Numro de processus (PID);


Numro de processus parent (PPID);
Numro d'utilisateur (UID);
Numro de groupe (GID);
Dure du traitement utilise (temps CPU) et
priorit du processus;
Rfrence au rpertoire de travail courant;
Table de rfrences des fichiers ouverts

114

Numro unique de processus


Sous UNIX/LINUX, plusieurs programmes
peuvent tre excuts simultanment car
UNIX/LINUX est multi-tches.
Le systme affecte un numro spcifique
chaque processus individuel afin de les
diffrencier. Il ne sait pas excuter 2
processus ayant le mme numro.

115

Processus parent
Chaque processus peut crer lui-mme de
nouveaux processus, qui se nomment
alors processus enfants.
Pour que les enfants connaissent leur
origine, le systme leur communique le
numro d'identification de leur processus
parent.
Cas particulier : init

116

Traitement en tche de fond


Si vous lancez un programme dans un
terminal, le Shell ne vous rend la main que
quand le processus ainsi lanc est termin.
Si vous ajoutez le & la fin de la ligne de
commande, vous reviendrez directement
au prompt du Shell.
On parle dans ce cas d'un processus en
tche de fond.
Le Shell et son processus enfant
fonctionnent alors en parallle.

117

Traitement en tche de fond


Avant de placer le signe & derrire une ligne de
commande, il faut tre conscient de certaines
contraintes :
Le nouveau processus en tache de fond ne doit pas
attendre de saisie au clavier;
Le processus en tache de fond ne doit pas retourner de
rsultats l'cran ou sur un terminal;
Les commandes en tache de fond dpendent du Shell,
car c'est lui qui les a lances. Si vous quittez le Shell par
la commande exit ou les touches Ctrl + D sur une ligne
vierge, vous forcerez galement la fin des processus en
tache de fond.

118

Messages renvoys par un


processus d'arrire-plan
Exemple :

la commande ls -lR liste tous les


rpertoires avec rcursivit.
Si l'utilisateur qui lance cette commande
n'a pas les droits d'accs certains
rpertoires lists, il verra apparatre des
messages d'erreur. Il faut donc mettre en
place une redirection du canal d'erreur :
$ ls -lR / > liste 2>/dev/null &

119

Liste des processus en tache


de fond

La commande jobs liste les processus en


tache de fond :

sans option liste les processus en tache de


fond en indiquant leur numro de tache,
leur tat et le texte de la commande
$ jobs
[1]- Running
&
[2]+ Running

/usr/lib/ICAClient/wfcmgr.bin
soffice &

Si vous spcifiez l'option -l, un numro de


processus s'affiche en plus.

120

Statut
Un processus est dot dun statut :
Running : processus qui se droule l'arrire
plan.
Done : fin normale du processus, un message
au niveau du Shell indique que le processus
s'est termin.
Stopped : processus temporairement
suspendue.
Terminated: le processus a t oblig d'arrter
son excution la suite d'un signal.

121

Passage Arrire-plan <-> Premier


plan
Un processus en cours d'excution au
premier plan doit tre suspendu (et non
arrt), l'aide de la combinaison de
touches Ctrl + Z .
On peut l'envoyer l'arrire plan avec la
commande bg ;
Syntaxe
bg %numro_de_tache

122

Exemple
$ rpm -Va > liste-RPM.txt
Ctrl + Z
[1]+ Stopped
rpm -Va >liste-RPM.txt
$ jobs -l
[1]+ 1162 Arrt
rpm -Va >liste-RPM.txt
$ bg %1
[1]+ rpm -Va >liste-RPM.txt &
$ jobs -l
[1]+ 1162 Running
rpm -Va >liste-RPM.txt
&

123

Passage Arrire-plan <-> Premier


plan
La commande fg permet de passer un
processus d'arrire plan en avant plan.
Syntaxe
fg %numro_de_ tache

Exemple :

$ jobs -l
[1]+ 1162 Running
rpm -Va >liste-RPM.txt &
$ fg %1
rpm -Va >liste-RPM.txt

Ctrl + C pour arrter ce processus.

124

Suspendre puis reprendre un


processus en arrire-plan
Pour un processus en arrire plan que l'on veut suspendre
puis redmarrer, il faut utiliser la commande kill.

Exemple :

On lance un processus en arrire plan :


$ rpm -Va > liste-RPM.txt &
[1] 1165
On liste les jobs :
$ jobs -l
[1]+ 1165 Running
rpm -Va >liste-RPM.txt &
On interrompe ce processus :
$ kill -STOP %1
$ jobs -l
[1]+ 1165 Signal d'arrt
rpm -Va >liste-RPM.txt
On relance ce processus :
$ kill -CONT %1
$ jobs -l
[1]+ 1165 Running
rpm -Va >liste-RPM.txt &

125

Affichage des processus


Commande ps
La commande ps affiche les
caractristiques des processus un
instant donn.
Par dfaut, ps affiche les processus de
l'utilisateur.
Exemple :
$ ps
PID TTY
341 p1
344 p2
1039 p3
1219 p3

TIME COMMAND
0 : 00 bash
0 : 00 bash
0 : 00 bash
0 : 00 ps

126

Commande ps
PID : Lidentificateur du processus,
TTY : indique quel terminal est associ le
processus.
TIME : indique depuis combien de temps le
processus utilise les ressources du
microprocesseur.
COMMAND : prcise la commande dont
l'tat est dcrit par PID, TTY, STAT et TIME.

127

Commande ps
Loption x permet dafficher les processus
non attachs un terminal.
Exemple
$ ps -x
PID TTY STAT TIME COMMAND
240 ? S 0:01 /usr/X11R6/bin/fvwm2
246 ? S 0:00 /usr/X11/bin/xautolock -corners ++++ -time 5 -locker /usr/X
247 ? S 0:00 /usr/X11/bin/unclutter -idle 3
253 ? S 0:00 /usr/local/bin/Periodic
254 ? S 7:34 emacs --background grey79 -geometry 80x58+-4+-11
257 p0 S 0:00 bash
258 p2 S 0:00 bash
259 p1 S 0:00 bash

Les commandes qui ne sont pas associes un terminal


sont reconnaissable par le point d'interrogation qui
rempli le champs TTY.

128

Commande ps
STAT : indique l'tat dans lequel se trouve
le processus.
Sleep (S): processus endormi,
Run (R) : processus en cours d'excution.

129

Commande ps
Options
ax : affiche tous les processus de la machine de tous les
utilisateurs,
aux : affiche les utilisateurs associs chaque processus,
Vous verrez alors plusieurs colonnes s'ajouter :
"USER" qui indique quel utilisateur appartient le
processus.
"%CPU" indique en pourcentage les ressources du
microprocesseur utilises par le processus.
"%MEM" montre en pourcentage les ressources en
mmoire vive utilises par le processus.
"RSS" donne rellement la mmoire utilise en kilobytes
par le processus.
"START" indique l'heure laquelle le processus a t lanc.

130

Arrter dun processus


Pour arrter un processus en tache de
fond, il faut utiliser la commande kill.
Syntaxe :
kill [-Numro-du-signal] PID
La liste des signaux :
$ kill -l

131

Arrter un processus
Les principaux signaux :

1 (SIGHUP) : Le signal de numro 1, SIGHUP


est envoy par le processus parent tous ses
enfants lorsqu'il termine son activit.
2 (SIGINT) : Signal d'interruption d'un process.
Envoy par la combinaison de touches Ctrl + C.
9 (SIGKILL) : Tue le processus sans lui
demander son avis.
15 (SIGTERM) : C'est le signal par dfaut de la
commande kill. Il excute le code de
terminaison et vide la mmoire. C'est donc le
signal de fin d'un processus le plus propre.

132

Unit 11

RESEAUX

133

Configuration
La configuration du rseau sous Linux peut tre effectue
lors de l'installation ou a posteriori en modifiant les fichiers
concerns.
Le fichier /etc/sysconfig/network contient les variables :
NETWORKING : initialise "yes" pour valider l'utilisation du
rseau
FORWARD_IPV4 : initialise "no" pour empcher le transfert
automatique des paquets
HOSTNAME : contient le nom complet de la machine
GATEWAYDEV : interface d'accs la passerelle
GATEWAY : adresse IP de la passerelle

Ce fichier est utilis dans les scripts d'initialisation du


rseau pour positionner les variables d'environnement.

134

Configuration
Pour chaque interface, il faut construire, dans le rpertoire
network-scripts un fichier ifcfg-<nom> o nom est remplac par
le nom de l'interface utilise :
ethN pour la Nime interface rseau

Ce fichier contient les variables suivantes :

DEVICE : nom du priphrique


ONBOOT : initialise "yes" pour valider l'interface au dmarrage
BROADCAST : contient l'adresse IP de diffusion
NETWORK : contient l'adresse IP du rseau
NETMASK : contient le masque du rseau
IPADDR : contient l'adresse IP de l'interface

Ce fichier est utilis en paramtre des scripts ifup et ifdown


d'initialisation de l'interface. L'initialisation du rseau au
dmarrage du systme est effectue par le script
/etc/rc.d/init.d/network.

135

Les commandes

La commande hostname permet d'afficher le nom de la machine ainsi que le nom de


domaine.
La commande ifconfig permet de visualiser ou de configurer les interfaces. Lorsqu'elle est
excute sans argument, elle affiche la configuration actuelle avec, pour chaque interface,
les informations suivantes :

La commande netstat permet d'afficher :

adresse Ethernet
adresse IP
adresse de diffusion
masque de rseau
le nombre de paquets reus et transmis
les connexions rseau actives et en attente
les tables de routage
des statistiques sur l'interface
les tables de translation d'adresse

La commande arp permet de visualiser et d'agir sur la table de rsolution d'adresses


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

136

Les fichiers

Le fichier /etc/hosts contient une liste d'adresses IP associes aux noms des
machines. C'est le moyen le plus simple d'effectuer la rsolution de noms pour un
petit rseau.
Le fichier /etc/host.conf spcifie le mode de rsolution des noms de machines. Il
contient les lignes suivantes :
Option
Description
spcifie l'ordre d'utilisation des diffrents moyens de rsolution de
noms :
order
- hosts : fichier /etc/hosts
- bind : serveur de noms DNS
- nis : Network Information Service
nospoof
valid par la valeur on, cela permet de dtecter les tentatives
d'usurpation d'adresse IP.
Alert
valid par la valeur on, cela permet d'enregistrer, via syslog, les
tentatives d'usurpation d'adresse IP.
Multi
valid par la valeur on, cela permet d'affecter plusieurs adresses IP
au mme hte dans le fichier /etc/hosts
Trim
permet d'enlever le nom de domaine en argument avant d'effectuer
une recherche dans le fichier /etc/hosts

137

Les fichiers
Le fichier /etc/resolv.conf permet de configurer la partie DNS de la
rsolution de noms. Ce fichier contient :
Option
Domain
Nameserver
Search

Description
spcifie le nom de domaine de la machine
donne une adresse IP d'un serveur de nom ; il est possible
de spcifier trois serveurs de noms
liste les noms de domaines chercher

Le fichier /etc/services donne la liste des services TCP et UDP supports


par la machine. Il associe le nom du service au numro de port et au
protocole.
Le fichier /etc/inetd.conf permet de configurer le dmon inetd qui est le
super serveur de Linux. Ce dmon est l'coute des demandes de
connexion et gre le lancement des autres serveurs (telnet, ftp, etc.).

138

Applications rseau

DNS
Une machine Linux peut tre configure en serveur de noms DNS. Elle pourra rpondre
aux requtes des autres machines du rseau pour la rsolution des noms en adresse IP.
SaMBa
SaMBa est l'mulation d'un serveur LAN MANAGER et permet de fournir des disques et
des imprimantes partags des PC sous Windows. La partie cliente existe et permet
une machine Linux de se connecter un disque ou une imprimante partags.
SENDMAIL
Sendmail est un logiciel de transport de courrier lectronique. Il gre l'envoi et la
rception du courrier en fonction des caractristiques des adresses donnes. Il s'occupe
du routage et de la modification ventuelle des adresses pour permettre au message
d'arriver destination. Sendmail peut grer des listes de diffusion de courrier.
NFS
Le systme NFS permet de partager des disques et des imprimantes travers le rseau. Il
existe deux parties dans NFS, la partie serveur qui consiste exporter une partie de son
systme de fichiers vers les machines clientes et la partie cliente qui consiste attacher
les systmes de fichiers comme s'ils faisaient partie du systme local.
NIS
NIS est une base de donnes qui permet de diffuser et de contrler les fichiers
d'administration importants. La gestion s'effectue sur un domaine possdant un nom
unique sur le rseau.

Introduction au service
NFS
Le service NFS (Network
File System),
permet le partage d'un
systme de fichiers sur un
rseau Linux

140

Gnralits
Il s'agit du protocole standard de partage
rseau entre machines Unix, cr par SUN
vers 1980.
Il comprend l'ajout de fonctionnalits
supplmentaires (dans la couche session
au dessus de TCP/IP), les RPC =(Remote
Procedure Calls)

141

Gnralits
Donc une machine joue le rle de serveur
de fichiers. Elle est appele serveur NFS,
et
on dit qu'elle exporte tout (arborescence
racine /) ou partie de son systme de fichiers,
en le partageant par une liste de stations
accessibles par rseau,
en installant toutefois des restrictions d'accs.

142

Gnralits
Comme toute ressource extrieure doit
tre intgre dans le systme de fichiers
Linux, cet accs ne pourra tre permis
qu' l'aide d'un processus de montage :
une partie de l'arborescence d'une machine
Linux "serveur", est exporte ce qui lui
permet d'tre intgr dans le systme de
fichiers d'une machine Linux "cliente".

143

Gnralits
L'utilisateur peut monter cette
arborescence exporte par le serveur, sur
un point de montage, de faon tout--fait
semblable au
montage de systmes de fichiers des
divers priphriques.
Le montage peut s'effectuer en cours de
session de travail par la commande
interactive mount.

144

Gnralits
Mais dans un cadre de travail stable, il est
souhaitable de monter la ressources NFS
au dmarrage.
Il suffit pour cela d'inclure la description du
montage sur une ligne de /etc/fstab.

On peut comparer le processus la


"connexion un lecteur rseau" sur
d'autres systmes.

145

Gnralits
Aprs le montage, pour l'utilisateur sur la
machine cliente, la ressource est
accessible comme si elle rsidait sur un
priphrique local.

146

Installation
Les services portmap qui gre les
connexions RPC, et nfs doivent tre
installs.
packages portmap-version .. et nfs-utils

Vrifier que les services portmap et nfs


sont bien activs automatiquement au
dmarrage.
Pour vrifier que les processus
correspondant sont bien en excution :
ps aux | grep portmap
ps aux |grep nfs

147

Installation
NFS, comme les autres services, se gre
avec un script plac dans /etc/rc.d/init.d/.
Voici pour lancer NFS (sur une distribution
de type RedHat)
# service portmap start
Starting portmapper: [OK]
# service nfs start
Starting NFS services: [OK]
Starting NFS quotas: [OK]
Starting NFS deamon: [OK]
Starting NFS mountd: [OK]

148

Le fichier /etc/exports.
Ce fichier ( crer s'il est absent) contient
la liste des exportations.
Sur chaque ligne, on prcise un rpertoire du
systme de fichiers,
suivi par la liste des machines distantes
clientes autorises les monter. Si cette liste
est vide, toutes les stations accessibles sont
autorises.
Et une liste doptions de montage
(r) (rw)

149

Exemples d'exportation dclares dans le


fichier /etc/exports
sur le serveur p00

repertoire liste-machines (liste-options)


/home/jean pc2(ro) pc3(rw)
/usr/bin pc2(ro) pc3(ro)
/var/www/html *(ro) pc3 (rw)
/usr/share/doc *(ro)

Pour valider un changement opr dans ce fichier


de configuration, faire appel la commande :
# exportfs -a

150

Options de partage
ro : droit de lecture uniquement
rw : lecture criture
root_squash :spcifie que le root de la
machine distante n'a pas les droits de root
sur le rpertoire partag
no_root_squash: spcifie que le root de la
machine sur laquelle le rpertoire est
mont a les droits de root sur le rpertoire
L'option root_squash est l'option par
dfaut.

151

Sur la station cliente


On cre un rpertoire de montage,
Puis on effectue le montage:
Syntaxe de montage :

mount -t nfs nom-machine:arborescence pointmontage

[root@pc3 /]# mkdir /mnt/rep


[root@pc3 /]# mount -t nfs
p00:/home/alice /mnt/rep
L'utilisateur sur pc3 pourra alors mettre
jour le repertoire alice sur p00

152

Respect par nfs des droits


Bien sr les permissions des fichiers
imports s'appliquent vis vis de
l'utilisateur, notamment en ce qui
concerne la directive (rw).
On ne pourra mettre jour sur la station
cliente, un fichier export que s'il possde
la permission w vis--vis de l'utilisateur.

153

NB!
L'option rw signifie en ralit que
l'utilisateur dont l'ID est 1001 (par
exemple...) sur le client NFS a les droits
d'criture sur les fichiers et les rpertoires
qui appartiennent l'utilisateur dont l'ID
est 1001 sur le serveur NFS.
Attention, ces utilisateurs n'ont pas
forcment le mme nom de compte Unix
et ne correspondent pas forcment aux
mmes personnes !

154

Automatisation du montage

Pour cela, il suffit d'ajouter le contenu de


la commande prcdente dans une ligne
du fichier /etc/fstab
p01:/home/alice /mnt/rep nfsauto,
user

155

Options de montage
ro : droit de lecture uniquement
rw : lecture criture
root_squash :spcifie que le root de la
machine distante n'a pas les droits de root
sur le rpertoire partag
no_root_squash: spcifie que le root de la
machine sur laquelle le rpertoire est
mont a les droits de root sur le rpertoire
L'option root_squash est l'option par
dfaut.

156

Autres paramtres de montage


rsize=8192 et wsize=8192 augmente le
dbit de nFS ?
intr interrompt une requte NFS en cas de
serveur indisponible, permet d'viter un
blocage

Fonctionnement de NIS
Le service NIS (Network
Information System),
permet de centraliser les
connexions sur un rseau
local

158

Gnralits
L'objectif central de tout serveur de
fichiers d'un rseau local est de permettre
aux utilisateurs du rseau de se connecter
au serveur de fichier sous un compte
centralis au niveau du rseau, et non pas
dfini machine par machine et aussi d'
accder ses fichiers (rpertoire
personnel, ...)

159

Gnralits
NIS maintient une base de donnes (ou
annuaire) centralise au niveau d'un
groupe de machines appel domaine NIS.
Ces informations sont alors stockes dans
le rpertoire /var/yp/nom-domaine, sous
forme d'un ensemble de fichiers binaires
appels cartes ou maps.

160

Gnralits
Les types d'informations que les stations "clientes",
viennent chercher sont essentiellement :

les correspondances entre noms et adresse IP des machines


du rseau,
les vrifications des noms de login, mots de passe et groupe
d'appartenance des comptes utilisateurs existants sur le
serveur.

Toutes ces informations sont contenues


habituellement dans les fichiers

/etc/hosts (annuaire des machines connues),


/etc/passwd, (annuaires des utilisateurs qui contient les
rpertoires la connexion)
/etc/group (annuaire des groupes)
et /etc/shadow (mots de passe crypts).

161

Gnralits
Les informations sont contenues dans 6
maps usuels, situs dans /var/yp/nomdomaine, et appels

hosts.byname, hosts.byaddr,
passwd.byname, passwd.byuid,
group.byname et group.bygid
.

162

Gnralits
Les applications NIS utilisent les fonctions
RPC =Remote Procedure Calls)
Les fonctions RPC sont gres par un
service appel portmap.

Configuration du serveur NIS

164

Installation
Le paquetage RPM installer est ypserv
Son installation va crer des fichiers dans :
/usr/sbin : les serveurs ypserv et rpc.yppasswd,
/etc/rc.d/init.d/: les scripts de contrle ypserv et
yppasswd des serveurs
/etc/ypserv.conf : le fichier de configuration du serveur
/var/yp, place des cartes et du fichier Makefile qui
permet leur gnration
/usr/lib/yp, autres excutables .

165

Lancement
Du ct serveur, les services lancer sont :

portmap,
ypserv (le serveur NIS)
et yppasswd (le service spcialis dans le changement
des mots de passe).

On procde alors au lancement ou l'arrt


manuel de NIS par :
service portmap start
service ypserv start
service yppasswd start

166

Configuration
1. Choisir un nom de domaine NIS,

Le nom de domaine NIS est indpendamment


du nom de domaine du rseau,
et galement sans rapport avec un ventuel
nom de domaine Samba .
soit ecole par exemple,
Supposons de plus que le serveur ait pour
adresse IP : 192.168.0.1 avec un masque
255.255.255.0

167

Configuration
2. Dclaration du domaine NIS :

Editer le fichier /etc/sysconfig/network, et y


ajouter cette ligne :
NISDOMAIN=ecole
Ou a partir dune ligne de commande
#domainname ecole
Relancer le serveur (service ypserver restart)
Vrification :

la commande domainname doit obtenir comme


rponse ce nom de domaine NIS.
#domainname
ecole

168

Configuration
3. Prciser les machines autorises
accder au service NIS :

Editer le fichier /var/yp/securenets et insrer


les lignes
# pour permettre l'accs sur le serveur mme
255.0.0.0
127.0.0.0
# pour permettre l'accs de toutes les machines du
sous-rseau (masque et adresse rseau)
255.255.255.0
192.168.0.0

169

Configuration
4. Prciser les informations que NIS doit grer

Editer le fichier /var/yp/Makefile et lister sur la ligne


commenant par all: les donnes grer :
all: passwd group hosts

NB
Il est recommand de ne rien modifier d'autre sauf "si on
sait ce que l'on fait ...", car pour l'essentiel il a t
correctement paramtr lors de l'installation de la
distribution.

170

Configuration
5. Gnrer les cartes :

Il s'agit maintenant de crer les 3 cartes


(maps) correspondant aux 3 fichiers

/etc/passwd, /etc/ group et /etc/hosts.

L'utilitaire /usr/bin/make doit tre excut par


root dans le rpertoire du Makefile
# cd /var/yp
# make

Il y a cration d'un sous-rpertoire /var/yp/ecole (portant le


nom du domaine NIS) contenant les 6 fichiers binaires
de permissions 600 :
hosts.byname, hosts.byaddr, passwd.byname,
passwd.byuid, group.byname et group.bygid

171

Configuration
6. Pour dfinir des rgles daccs
supplmentaires:
Editer le fichier /etc/ypserv.conf et indiquer
une rgle daccs comme ci-dessous :
# Host
: domain
#
192.168.0.
*
192.168.0.
*

:Map
: passwd.byname
: passwd.byuid

:Security
: port
: port

172

Host : adresse ip dune machine ou dun


reseau ou *
Domain : nom de domaine ou *
Map : nom du map concern par cette
rgle
Security
none : accs toujours autorise
port : accs autorise si port <1024
deny : accs non autorise

173

Configuration
7. Relancer le serveur
service ypserv restart

Le serveur devrait tre fonctionnel.

Vrification
# ps ax | grep yp
root 550 ..... ypserv
root 823 ...... rpc.yppasswdd

Configuration d'une machine


cliente

175

Installation et lancement
Les paquetages installer sont d'abord
ypbind,
puis yp-tools

Avec l'utilitaire ntsysv ou chkconfig , on


peut activer NIS au dmarrage en cochant
ypbind, programme excut sur le client,
ainsi que portmap
Pour lancer la main les services passer
les 2 commandes dans l'ordre
service portmap start
service ypbind start

176

Configuration
1. Dans /etc/sysconfig/network, comme sur
le serveur il faut dclarer le nom du
domaine en ajoutant la ligne NISDOMAIN
= "ecole"
2. Editer /etc/yp.conf pour dclarer le
serveur NIS
domain ecole server nom_serveur

ypserver hostname
broadcast

177

Configuration
3. Editer /etc/nsswitch.conf, et veillez la
prsence active des lignes
passwd: files nis
group: files nis
hosts: files nis dns

Option de recherche

Source[ rponse=action]

178

Algorithme de recherche
Plusieurs sources dinformations peuvent tre proposes pour chaque
recherche. Les entres supportes sont :

files
nis
dns
Compact (compatibilit pour passwd et group avec ancienne version)

Il est possible de spcifier plusieurs sources. Chaque recherche retourne


une rponse qui prend les valeurs suivantes:

SUCCESS
UNAVAIL

NOTFOUND
TRAYAGAIN

linformation est disponible


la source de linformation nest pas disponible, quelle
que soit la raison
la source rpond quelle ne dtient pas linformation
la source est occupe

Pour chaque statut, deux actions sont possible

Continue
return

essayer la source suivante dans la liste


arrter la recherche et fournir le rsultat disponible

179

Algorithme de recherche
Les actions par dfaut sont :

SUCCESS=return
UNAVAIL=continue
NOTFOUND=continue
TRYAGAIN=continue

180

Configuration
4. En ligne de commande, (re)lancer le
service client. On devrait obtenir 2
messages : recherche d'un domaine NIS,
puis tentative de liaison un serveur
NIS.
# service ypbind start
Binding to the NIS domain: [OK]
Listening for an NIS domain server:
nom_serveur ..

181

tests
#ypwhich

doit donner le nom complet de la machine


qui hberg le serveur

#ypcat passwd

permet dafficher la carte des comptes


utilisateurs

Chagement de mot de passe


yppasswd user

182

Premire connexion
Login : user1
Passwd :*****
Last login:
No directory /home/user1
Logging in with home=/.
Bash->
Tout est normal user1 na pas de rpertoire
personnel sur la station.
NFS
telnet

183

Pbs clients
#service ypbind start
Binding to the nis domain [failed]
Listening for an nis domain server ypwhich:ne peut communiquer par
ypbind

#domainname
Le nom du domaine na pas t prcise

184

Pbs clients
#service ypbind start
Binding to the nis domain [OK]
Listening for an nis domain server ypwhich:ne peut communiquer par
ypbind

Le nom de domaine est bien connu, mais il


y a un problme quand le client cherche a
se lier au serveur du domaine
La premire cause a suspecter est un
dysfonctionnement rseau.

Secure shell : SSH

186

SSH utilise la cryptographie asymtrique RSA ou


DSA.
En cryptographie asymtrique, chaque personne
dispose d'un couple de cl :
La cl publique qui peut tre librement publie
La prive doit rester secrte.
La connaissance de la cl publique ne permet pas d'en
dduire la cl prive.

Si la personne A veut envoyer un message


confidentiel la personne B,

A crypte le message avec la cl publique de B et l'envoie


B sur un canal qui n'est pas forcment scuris.
Seul B pourra dcrypter le message en utilisant sa cl
prive.

187

La thorie de la cryptographie
symtrique

SSH utilise galement la cryptographie


symtrique.
Son principe est simple :
si A veut envoyer un message confidentiel
B,

A et B doivent d'abord possder une mme cl


secrte.
A crypte le message avec la cl secrte et
l'envoie B sur un canal qui n'est pas forcment
scuris.
B dcrypte le message grce la cl secrte.
Toute autre personne en possession de la cl
secrte peut dcrypter le message.

188

La cryptographie symtrique est beaucoup moins


gourmande en ressources processeur que la
cryptographie asymtrique.
mais le gros problme est l'change de la cl
secrte entre A et B.
Dans le protocole SSL, qui est utilis par SSH,
la cryptographie asymtrique est utilise au dbut de la
communication pour que A et B puissent s'changer un
cl secrte de manire scurise...
la communication est ensuite scurise grce la
cryptographie symtrique en utilisant la cl secrte
change.

189

L'tablissement d'une
connexion SSH

Un serveur SSH dispose d'un couple de


cls RSA stock dans le rpertoire /etc/ssh/
et gnr lors de l'installation du serveur.
Le fichier ssh_host_rsa_key contient la cl
prive et a les permissions 600.
Le fichier ssh_host_rsa_key.pub contient la
cl publique et a les permissions 644.

190

tapes d'tablissement d'une


connexion SSH
1.

Le serveur envoie sa cl publique au client.

2.

Le client gnre une cl secrte et l'envoie au serveur, en cryptant


l'change avec la cl publique du serveur (cryptographique
asymtrique). Le serveur dcrypte la cl secrte en utilisant sa cl
prive, ce qui prouve qu'il est bien le vrai serveur.

3.

Pour le prouver au client, il crypte un message standard avec la cl


secrte et l'envoie au client. Si le client retrouve le message standard en
utilisant la cl secrte, il a la preuve que le serveur est bien le vrai
serveur.

4.

Une fois la cl secrte change, le client et le serveur peuvent alors


tablir un canal scuris grce la cl secrte commune (cryptographie
symtrique).

5.

Une fois que le canal scuris est en place, le client va pouvoir envoyer
au serveur le login et le mot de passe de l'utilisateur pour vrification.
La canal scuris reste en place jusqu' ce que l'utilisateur se dloggue.

191

La seule contrainte est de s'assurer que la cl


publique prsente par le serveur est bien sa cl
publique...
sinon le client risque de se connecter un faux serveur qui
aurait pris l'adresse IP du vrai serveur (ou toute autre
magouille).

Une bonne mthode est par exemple de demander


l'administrateur du serveur quelle est le fingerprint
de la cl publique du serveur avant de s'y connecter
pour la premire fois.
Le fingerprint d'une cl publique est une chane de
32 caractres hexadcimaux unique pour chaque
cl ; il s'obtient grce la commande ssh-keygen -l.

192

Installation et configuration de
SSH
Paquetages installer
Openssh
Openssh-server
Openssh-client

Openssh utilise un fichier de configuration


gnral /etc/sshd_config

193

/etc/sshd_config
les lignes les plus importantes de ce fichier de configuration :
Port 22
Signifie que le serveur SSH coute sur le port 22, qui est le port par dfaut
de SSH.
Vous pouvez le faire couter sur un autre port en changeant cette ligne.
Vous pouvez aussi le faire couter sur plusieurs ports la fois en rajoutant
des lignes similaires.
Protocol 2
Signifie que votre serveur SSH accepte uniquement la version 2 du
protocole SSH.
C'est une version plus scurise que la version 1 du protocole. Seuls
certains vieux clients SSH ne savent faire que du SSH version 1.
Si vous voulez que le serveur accepte les deux protocoles, changez la ligne
en :
Protocol 2,1

194

/etc/sshd_config
Chemin sur les fichiers de clefs :
HostKey /etc/ssh_host_rsa_key
HostKey /etc/ssh/host_dsa_key

Authentification par mot de passe :


PasswordAuthentification no
PermitEmptyPasswords no

195

/etc/sshd_config
Authetification par clef public
RSAAuthentification no
PubkeyAuthentification yes

Options generales
PermitRootLogin no
strictModes yes

Affichage des informations habituelles au login


PrintMtod no
printLastLog yes

196

Se logguer par SSH


Authentification par mot de passe
C'est la mthode la plus simple. Depuis la machine cliente, tapez :
% ssh login@nom_du_serveur_SSH
Si c'est la premire connexion SSH depuis ce client vers ce
serveur, il vous demande si le fingerprint de la cl publique
prsente par le serveur est bien le bon.
Pour tre sr que vous vous connectez au bon serveur,

Comparer le fingerprint de sa cl publique celle qu'il vous affiche.


Si les deux fingerprints sont identiques, rpondez yes, et la cl publique du
serveur est alors rajoute au fichier ~/.ssh/known_hosts.

Si vous vous tes dj connect depuis ce client vers le serveur,


sa cl publique est dj dans le fichier ~/.ssh/known_hosts et il ne
vous demande donc rien.
Ensuite, entrez votre mot de passe... et vous verrez apparatre le
prompt, comme si vous vous tiez loggu en local sur la machine.

197

Se logguer par SSH

Authentification par cl

Au lieu de s'authentifier par mot de passe,


les utilisateurs peuvent s'authentifier
grce la cryptographie asymtrique et
son couple de cls prive/publique,
comme le fait le serveur SSH auprs du
client SSH.

198

Gnrer ses cls


Pour gnrer un couple de cls DSA, tapez
:
% ssh-keygen -t dsa
Les cls gnres ont par dfaut une
longueur de 1024 bits, ce qui est
aujourd'hui considr comme suffisant
pour une bonne protection.
la cl prive est stocke dans le fichier
~/.ssh/id_dsa avec les permissions 600
et la cl publique est stocke dans le fichier
~/.ssh/id_dsa.pub avec les permissions 644.

199

Gnrer ses cls


Lors de la cration, il vous demande une pass
phrase qui est un mot de passe pour protger la
cl prive.
La pass phrase sert crypter la cl prive.
Ell est demande chaque utilisation de la cl prive,
c'est dire chaque fois que vous vous logguerez en
utilisant cette mthode d'autentification.
Un mcanisme appel ssh-agent permet de ne pas
rentrer le mot de passe chaque fois.
Vous pouvez tout moment changer la pass phrase qui
protge votre cl prive avec la commande ssh-keygen
-p.

200

Autoriser votre cl publique


Pour cela, il suffit de copier votre cl publique dans le
fichier ~/.ssh/authorized_keys de la machine sur laquelle
vous voulez vous logguer distance.
La commande suivante permet de raliser cette opration
via SSH :
% ssh-copy-id -i ~/.ssh/id_dsa.pub login@nom_du_serveur
et entrez le mot de passe de votre compte sur le serveur.
Se logguer
La commande est la mme que pour une autentification par
mot de passe.

201

Se logguer par SSH sans


taper de mot de passe

Le principe
Si on utilise un couple de cls publiques / prives,
et quon a crypt la cl prive avec une pass
phrase (configuration la plus sre).

le client SSH demande la pass phrase chaque utilisation


des cls pour s'authentifier.

Pour viter d'avoir taper systmatiquement sa


pass phrase, il faut utiliser ssh-agent :
ce programme tourne en tche de fond et garde la clef
en mmoire.
La commande ssh-add permet de donner sa cl sshagent. Ensuite, quand vous utilisez le client SSH, il
contacte ssh-agent pour qu'il lui donne la cl.

202

ssh-agent La pratique

Dans une console, ouvrez un screen avec sshagent en tche de fond :


% exec ssh-agent $SHELL
Puis donnez votre cl l'agent :
% ssh-add
Il vous demande alors votre pass phrase.
Maintenant que votre cl a t transmise l'agent, vous
pouvez vous connecter sans entrer de mot de passe
toutes les machines pour lesquelles vous avez mis votre cl
publique dans le fichier ~/.ssh/authorized_keys .

203

Faire des tunnels SSH


Faire un tunnel SSH est un moyen simple de crypter n'importe
quelle communication TCP entre votre machine et une machine
sur laquelle vous avez un accs SSH.
Par exemple, pour tablir un tunnel SSH pour une connexion HTTP
vers la machine serveur.exemple.org :
% ssh -L 2012:serveur.exemple.org:80 toto@serveur.exemple.org
o 2012 est le port sur la machine cliente partir duquel la
connexion entre dans le tunnel SSH

le port doit tre suprieur 1024 si on ne veut pas avoir laner le


tunnel en tant que root.

Ensuite, il suffit de laner un navigateur Web en lui demandant de


se conneecter en local sur ce port :
% w3m http://localhost:2012

204

Faire des tunnels SSH

205

Utiliser SCP

pour transfrer le fichier test1.txt situ dans le rpertoire courant vers le home du
compte toto de la machine ordi1.exemple.org sur laquelle tourne un serveur SSH :

% scp test1.txt toto@ordi1.exemple.org:

pour rcuprer le fichier test2.txt situ le home de l'utilisateur toto de la machine


ordi2.exemple.org et l'crire dans le rpertoire courant :

% scp toto@ordi2.exemple.org:test2.txt .
.
pour rcuprer tous les fichiers ayant l'extension .txt situs dans le rpertoire
/usr/local de la machine ordi2.exemple.org et l'crire dans le sous-rpertoire test-scp
du rpertoire courant :
% scp toto@ordi2.exemple.org:/usr/local/*.txt test-scp

pour transfrer l'intgralit du sous-rpertoire test-scp du rpertoire courant vers le


sous rpertoire incoming du home de l'utilisateur toto de la machine
ordi1.exemple.org :

% scp -r test-scp toto@ordi1.exemple.org:incoming

206

Outils graphiques d'administration


Les outils Red Hat
Les outils graphiques d'administration systme livrs avec
la distribution Red Hat sont lancs partir d'un panneau de
contrle affich l'excution de la commande controlpanel.
Les outils disponibles permettent :

la gestion de l'arrt et du dmarrage des sous-systmes de Linux


la gestion de la date et de l'heure
la gestion des imprimantes locales ou distantes
la configuration des interfaces rseau et des tables de routage
la configuration des modems
la gestion des modules
la gestion des paquetages
le lancement de linuxconf

207

Outils graphiques d'administration

Linuxconf

Linuxconf est un outil d'administration systme


possdant plusieurs interfaces oprateur. Il peut
tre utilis en mode ligne de commande,
travers un navigateur Web ou avec une interface
graphique.
Il permet de grer :
le rseau (DNS, routage, NFS, etc.)
Apache
SaMBa
les utilisateurs
le systme de fichiers
les niveaux de dmarrage
Cet outil est livr en standard dans la distribution RedHat.

208

Outils graphiques d'administration

Webmin
Webmin est une interface Web pour l'administration d'un
systme Linux.
L'installation de cet outil est trs facile et ne ncessite
aucune compilation. Un simple script de mise en service
permet de saisir les paramtres ncessaires.
Il se lance partir d'un navigateur internet avec l'URL
suivante : http://nom_de_la_machine:10000 (par exemple,
http://localhost:10000 sur une machine locale).
Le login et le mot de passe demands la premire fois sont
ceux de l'administrateur (utilisateur "root").
il est possible de configurer des utilisateurs Webmin en leur
donnant les droits pour administrer quelques modules.

209

En cas de problmes sur le


systme

Il peut arriver que le systme soit dans un


tat suffisamment instable pour qu'il ne
soit plus possible de pouvoir booter
correctement. Les causes principales
peuvent tre des problmes sur les
systmes de fichiers (physiques ou
logiques), ou des problmes lis au noyau
ou aux modules. Pour restaurer le systme
plusieurs moyens sont disponibles.

210

En cas de problmes sur le


systme
Le mode Single User est un mode particulier de
Mode
Single User
fonctionnement du systme correspondant au
niveau d'excution 1 (runlevel 1) dans lequel
seuls les services minimum sont lancs.
Dans ce runlevel, un shell root est lanc
automatiquement au dmarrage, et il n'est
possible de travailler que depuis la console car
les services rseaux ne sont pas dmarrs.
Pour dmarrer en mode Single User, il suffit de
taper l'invite de dmarrage de Lilo :
LILO : linux single

211

En cas de problmes sur le


systme

La plupart des distributions propose de raliser une disquette de


dmarrage lors de l'installation. Cette disquette peut s'avrer trs
utile en cas de problmes sur le serveur; il est donc fortement
conseill de la raliser lors de l'installation. Il est toutefois possible
d'en crer une aprs l'installation, grce la commande
mkbootdisk. Pour raliser une disquette de dmarrage sur le
lecteur de disquette par dfaut (/dev/fd0), la commande est la
suivante :

Disquette de rescue

mkbootdisk version_noyau

Pour gnrer une disquette pour la version courante du noyau, la


commande taper sera la suivante :
mkbootdisk `uname -r`

Une fois cette disquette ralise, il suffit de l'insrer dans le lecteur


de disquettes et de (re)dmarrer la machine. Si le Bios est
correctement configur, la machine va booter sur la disquette de
sauvegarde et offrir un shell root, qui permettra de dpanner la
machine.

212

Rparer son systme


Une fois le systme de restauration dmarr, il est possible
de rparer le systme. Les problmes les plus courants sont
les suivants :
Systmes de fichiers endommags
Pour rparer un systme de fichiers endommags, il est
ncessaire d'identifier en premier lieu la partition avec la
commande :
fdisk -l /dev/hda

qui affichera la liste des partitions du premier disque IDE. Dans le


cas d'un disque SCSI, il faudra utiliser le fichier spcial /dev/sda.

Une fois identifie la partition endommage, il faut la rparer


avec la commande (si la partition en question est la premire
du premier disque IDE) :
fsck /dev/hda1

213

Rparer son systme


Mot de passe root oubli
Dans ce cas, le mieux est de booter en
mode Single User puisque l'on obtient un
shell en tant que root. Il est possible ensuite
d'utiliser la commande passwd qui va
demander d'entrer le nouveau mot de
passe.

Das könnte Ihnen auch gefallen