Vous êtes sur la page 1sur 104

LINUX

Rahal ROMADI, ENSIAS

1
unit 1

Commandes de base

2
Commandes lies
larborescence
n La commande pwd
n Affiche le nom du rpertoire courant
n La commande ls
n Affiche les fichiers et sous-rpertoire dun rpertoire
Syntaxe : ls [option] [nom_de_rpertoire]
n Options utils

n F: ajout dune indication de type


n l : affiche les principaux attributs des fichiers et rpertoires
Type droits liens propritaire groupe taille date nom
n a : affiche les fichiers et rpertoires dont le nom commence par
un point.
n d : naffiche pas le contenu du rpertoire
n R : affichage rcursif

3
Commandes lies
larborescence
n La commande cd (change directory)
Permet un dplacement sous le rpertoire pass en argument
Syntaxe : cd [nom_rpertoire]
Exemple
- cd ou cd ~
- cd ..
- cd nom_rpertoire

- cd -

- Dans le cas dun chemin relatif, le rpertoire est

recherch partir du rpertoire courant ou en


utilisant la variable CDPATH.
4
Commandes gnrales sur les
fichiers
n Cration dun fichier vide
n touch nom_fichier
n > nom_fichier
n Affichage du contenu dun fichier (texte)
n cat nom_fichier [nom_fichier, ]
n Copier un fichier
n cp fichier1 fichier2
n cp fichier1 [fichier2 fichier3 ] rpertoire
n cp R rpertoire1 rpertoire2
n Renommer ou dplacer un fichier
n mv fichier1 fichier2
n mv fichier1 [fichier2 fichier3 ] rpertoire
5
Commandes gnrales sur les
fichiers
n Supprimer un fichier
rm [options] fichier1 [fichier2 ]
n Options utils

n i : affiche une demande de confirmation de suppression


n r : suppression rcursive (attention aucune demande de
confirmation)
n f : devient importante lorsquon cherche supprimer des
fichiers appartenant un autre propritaire

6
Commandes gnrales sur les
fichiers
n Affecter plusieurs noms un fichier
n Liens
ln fichier1 fichier2
n Liens symboliques
ln s rpertoire1 rpertoire2

7
Gestion des rpertoires
n Crer un rpertoire
mkdir nom_rp [nom_rp ]
Remarque Le rpertoire est non vide :
n . : rfrence au rpertoire courant
n .. : rfrence au rpertoire du niveau suprieur
n Suppression dun rpertoire vide
rmdir nom_rp [nom_rp ]
n Il nest pas possible de supprimer le rpertoire
courant
n Pour la suppression dun rpertoire non vide, la
commande rm avec loption r est plus pratique
8
Redirection des entres-sorties
n Redirection en sortie
Rcupration du rsultat dune commande ailleurs
qu lcran
Commande > fichier
n Si le fichier existe dj son contenu sera perdu

Sinon il faut utiliser deux fois le caractre suprieur


Commande >> fichier
n Si le fichier nexiste pas, il est cr

automatiquement

9
Redirection des entres-sorties
n Redirection de lentre
Permet une commande dutiliser comme donnes,
le contenu dun fichier la place dune lecture clavier
Commande < nom_fichier_de_redirection
n Canaux standard
n Stdin 0
n Stdtout 1
n Stderr 2 ( commande 2> /dev/null redirection des erreurs sur la
poubelle)
n Runion de canaux dentre-sortie
> fichier 2>&1
10
Les filtres
n Un filtre est une commande sachant
crire et lire des donnes par les
canaux dentre et de sortie standard.
n Exemple
n wc (options l w c)
n sort
n grep
n More, pg

11
Les tubes
n Un tube (pipe) permet dtablir une liaison
directe entre le canal de sortie standard dune
commande avec le canal dentre standard
dune autre

Commande1 | commande2 | |commanden

Exemple
ls | wc -w combien de fichiers sont contenus dans un
rpertoire

12
Critres de recherche de noms de
fichiers
n Modles de noms de fichier
n * : remplace une chane vide ou de longueur variable
n ? : remplace un caractre unique quelconque
n [] : reprsente une srie ou une plage de caractre
n [!] : inverse la recherche

n Exemples
n a* : les fichiers dont le nom commence par a
n a?? : fichiers en trois lettres, commenant par a
n [aA]* : fichiers dont le nom commence par un a minuscule ou
majuscule.
n [a-m]* : fichiers dont le nom commence par une lettre de la plage
a-m.
n Attention rm *
13
Verrouillage des caractres
spciaux
n Il est parfois utile de dsactiver la
signification spciale des caractres *, ?, [] et
!
n Exemple
n rm a* : supprime tous les fichiers dont le nom
commence par a
n Pour supprimer le fichier a*, il faut dsactiver le *;
n Caractres spciaux de dsactivation
n Backslash (\)
n Guillemets (``. ``)
n Apostrophes ()
14
Programmes utilitaires et
filtres
n Recherches de lignes dans un fichier (grep)
n La commande grep permet dextraire des lignes particulires
dun fichier ou dun flux de donnes au sein dun tube
Syntaxe grep [option] modle_de_critres [fichier1 ]
n Les cinq options du grep les plus utiles sont :
n i : pour ne pas tenir compte des majuscules/minuscules,
n v : toutes les lignes ne contenant pas le critre,
n n : pour avoir les numros de ligne,
n E : pour les expressions rgulires plus compliques,
n l : pour lister seulement les fichiers et non pas les lignes contenant
la chane recherche,
n c : la commande ne retourne que le nombre de lignes trouves

15
Programmes utilitaires et filtres
(grep)
n Le modle de critres peut contenir les caractres
spciaux suivants :
n [] : Plage de caractres permis cet emplacement
n [^] : Plage de caractres non permet cet emplacement
n .: Un caractre quelconque (y compris un espace)
n * : Signe de rptition. Agit sur le caractre plac devant le
*
n $ : Matrialise une fin de ligne
n | : ou
n ^ : dbut de ligne
n \{\} : Caractre de rptition, entre les accolades
n \{nombre\} nombre exacte

n \{nombre,\} nombre minimum

n \{nombre1,nombre2\} de nombre1 nombre2

16
Programmes utilitaires et filtres
(grep)
Rq Ces caractres spciaux doivent tre
interprts par la commande grep et non pas
par le shell

Le modle de critres doit tre mis entre


guillemets ou entre apostrophes
Exemple
grep [A-Z][A-Z]*$ timbres

17
Programmes utilitaires et filtres
(grep)
n nombre de lignes commenant par ! Dans le
fichier fichier1 :
grep "^!" fichier1 | wc -l
n recherche de STOP avec le numro de la ligne :
grep -n -i stop fichier1
n liste de tous les fichiers qui n'ont pas "image" ou
"son" dans leur nom :
ls | grep -vE "(image|son)"
n liste des lignes contenant "image" ou "son" dans
tous les fichiers du rpertoire courant
grep -E "(image|son)" *

18
Programmes utilitaires et filtres
commande cut
n Slection de colonnes et de champs
Syntaxe cut cslection_de_colonne [fichier ]
n Slection_de_colonne pourra reprsenter
lune des informations suivantes:
n Une colonne seule (par exemple -c5),
n Une plage de colonnes (par exemple -c3-10 ou -
c8-),
n Une liste de nombres spars par des virgules
(par exemple -c3,7,9),
n Une combinaison des trois formes prcdentes
(par exemple -c1-3,7,20-).
19
Programmes utilitaires et filtres
commande cut
n Slection de champs
Syntaxe
cut [-dx] fslection_de_champ [fichier ..]
n x dsigne le caractre de sparation de champs
n Slection_de_champ suit les mmes rgles que la
slection des colonnes

20
Programmes utilitaires et filtres
n Tri par lignes
n La commande sort effectue un tri par
lignes en ordre croissant.
Syntaxe sort [options] [+pos1] [-pos2] ] [fichier ]
n Par dfaut le tri porte sur chaque ligne prise en intgralit
n Avec les options +pos1 et pos2, vous slectionnerez les
champs utiliser comme critres de tri.Sort numrote les
champs en commenant par 0.
n Le second critre ne sera mis en uvre que si le premier
critre ne suffit pas dpartager les lignes.

21
Programmes utilitaires et filtres
sort
n Les options utils:
n d : tri ascii
n n : tri numrique
n b : ignore les espaces placs en dbut de champs
n f : aucune diffrence nest faite entre majuscules
et minuscules
n r : inverse lordre de tri, donc tri dcroissant
n tc : le caractre c est dfini comme caractre
de sparation entre les champs dune ligne

22
Programmes utilitaires et filtres
commande tail
n La commande tail affiche la dernire partie dun
fichier.
Syntaxe tail [- nombre] [fichier]
n Nombre : dfinit le nombre de lignes afficher.

Par dfaut cest 10


n Un signe + la place de inverse leffet de la
commande.
n Exemple
n tail 5 timbre affiche les 5 derniers lignes du
fichier timbre
n tail +5 timbre affiche les 5 premiers lignes
du fichier timbre
23
Programmes utilitaires et filtres
commande tee
n Avec lutilisation dun tube, le rsultat de la
premire commande nest pas accessible.
Pour avoir une copie, on peut utiliser la
commande tee. Le rsultat de la premire
commande est sauvegard dans un fichier
dont le nom est pass en argument.
n Exemple
n ls | tee espion | wc l
n Le rsultat de la commande ls est enregistr dans
le fichier espion

24
Recherche de fichiers et de
rpertoires
n La commande find parcourt les rpertoires et
leurs sous-rpertoires de manire rcursive,
la recherche de fichiers.
Syntaxe find rpertoire(s) critre_de_slection
option(s)
n Rpertoire : rpertoire partir duquel la recherche doit
commencer
n critre_de_slection : critres de recherche mettre en
uvre
n Option : que doit-il se passer si un fichier rpond ce critre
n Lors de la recherche, un rpertoire ne peut tre
parcouru que si lutilisateur dispose des autorisations
de lecture et dexcution sur ce rpertoire.
25
Recherche de fichiers et de
rpertoires
n Options des slection des fichiers et
rpertoires
n name : recherche par nom de fichier
n type : recherche par type de fichier
n user : recherche par propritaire
n group : recherche par lappartenance un groupe
n size : recherche par taille de fichier
n atime : recherche par date de dernier accs
n mtime : recherche par date de dernire modification
n ctime : recherche par date de cration
n perm : recherche par autorisations daccs
n links : recherche par nombre de rfrences (links) aux
fichiers
26
Recherche de fichiers et de
rpertoires
n Option de commande
n Les options de commande seront traites pour chaque
fichier trouv. En dehors de loption print qui montre le
chemin daccs au fichier, on peut mettre en place loption -
exec
n Les commandes dont il est fait tat derrire exec seront
excutes sans aucune demande de confirmation
n Loption ok demande lutilisateur si la commande doit
effectivement tre excute.

27
Recherche de fichiers et de
rpertoires
n Traitement sans confirmation avec exec
n La spcification dune commande derrire exec est
soumise certaines rgles:
n Loption exec doit tre la dernire de la commande find
n La commande place derrire exec doit tre termine par
le paramtre ;. Comme cest un caractre spcial, il doit tre
masqu par un \
n Pour accder un des fichiers trouvs, dans le cadre de la
commande place derrire exec, utilisez le raccourci {}
n Exemple

n find . user student exec ls l {}\; ( affiche le format


long de la commande ls pour les fichiers trouvs)
n find . type f atime +13 exec rm {} \; (supprime les
fichiers auxquels vous navez plus accd depuis plus de 2
semaines) 28
Recherche de fichiers et de
rpertoires
n Traitement aprs confirmation avec ok
n Les mmes explications sappliquent galement
loption ok, mais celle-ci, demande une
confirmation dexcution de la commande pour
chaque fichier trouv. Ce nest quen cas de
rponse affirmative (avec y), que la commande
place derrire ok sera excute.
n Exemple :
n find . ok rm {} \;

29
Recherche de fichiers et de
rpertoires
n Combinaison de critres pour recherches
complexes
n Les critres de slection peuvent tre combins.
Un fichier valide doit rpondre simultanment
lensemble des critres dfinis.
n La commande find permet galement des
combinaison logiques de ses options
n ! : ngation logique des options
n a : liason par ET logique des options de recherche (end)
n o : liaison par OU logique des options de recherche (or)

30
Recherche de fichiers et de
rpertoires
n Combinaison de critres pour recherches
complexes
n Si vous utilisez plusieurs oprateurs logiques pour
combiner des options de slection. Il faut tenir
compte de lordre des signes !, -a, -o.
! > -a > -o
n Pour spcifier une combinaison doptions base
sur un lien ET ou OU, il faut placer lensemble de
lexpression entre parenthse. Les parenthses
doivent tre verrouiller.
n Exemple
n find . \ ( -type d o name "*ham" \) -print
31
Compression avec Gzip et Zip
n Les fichiers comprims utilisent moins
d'espace disque.
n Vous pouvez comprimer les fichiers Linux
l'aide de l'instrument Gzip ou Zip.
n Par convention, les fichiers comprims se
voient attribuer l'extension .gz.
n Exemple
n gzip filename.ext
n gunzip filename.ext.gz

32
Compression avec Gzip et Zip
n Pour comprimer un fichier l'aide de zip, entrez
ceci :
n zip -r filename.zip files

n filename reprsente le fichier que vous crez, et files


reprsente les fichiers que vous voulez placer dans le
nouveau fichier
n Pour extraire le contenu d'un fichier zip, entrez :
n unzip filename.zip

n Vous pouvez compresser plusieurs fichiers en mme


temps avec zip ou gzip.
n gzip filename.gz file1 file2 file3

33
Archiver avec Tar
n Les fichiers tar placent plusieurs fichiers
ou le contenu d'un rpertoire ou de
plusieurs rpertoires dans un seul
fichier.
n Gnralement, les fichiers tar terminent
par l'extension .tar.
n Pour crer un fichier tar, tapez :
n tar -cvf filename.tar files/directories

34
Archiver avec Tar
n Pour afficher la liste du contenu d'un fichier
tar, entrez :
n tar -tvf foo.tar
n Pour extraire le contenu d'un fichier tar,
entrez :
n tar -xvf foo.tar
n Cette commande n'limine pas le fichier .tar, mais elle
place des copies du contenu de .tar dans le rpertoire
dans lequel vous travaillez actuellement.

35
Archiver avec Tar
n La commande tar ne compresse pas
automatiquement les fichiers. Vous pouvez
compresser les fichiers tar avec :
n tar -czvf foo.tar
n Les fichiers tar compresss se voient attribuer l'extension
.tgz et sont comprims avec gzip.
n Pour dcompresser un fichier tar, entrez :
n tar -xzvf foo.tgz

36
unit 2

Editeur vi

37
Edition de texte avec vi
n L'diteur vi est disponible sur toutes les
machines UNIX. Il utilise deux modes :
n un mode insertion et
n un mode de commandes.

n La syntaxe d'appel de l'diteur est


vi fich1

38
Edition de texte avec vi
n Le Mode Insertion
n a ("after") passe en mode insertion aprs la position courante du
curseur
n i ("insert before") passe en mode insertion avant la position
courante
n A ("append") passe en mode insertion la fin de la ligne sur
laquelle se trouve le curseur ;
n I ("insert") passe en mode insertion avant le premier caractre non
blanc de la ligne sur laquelle se trouve le curseur ;
n o insertion dune nouvelle ligne, sous la ligne courante;
n O insertion dune nouvelle ligne, au dessus de la ligne courante;
n Lorsque l'insertion de texte est termine, on quitte le mode
insertion pour passer au mode commande en appuyant sur la
touche <ESCAPE>.

39
Edition de texte avec vi
n Le Positionnement du Curseur
n l, <ESPACE> ou -> dplacent le curseur vers la
droite, d'un caractre (jusqu'en fin de ligne) ;
n h ou <- dplacent le curseur vers la gauche, d'un
caractre (jusqu'en dbut de ligne) ;
n j ou [arrowdown] dplacent le curseur vers le
bas, d'une ligne (jusqu'en fin de fichier) ;
n k ou [arrowup] dplacent le curseur vers le
haut, d'une ligne (jusqu'en dbut de fichier) ;

40
Edition de texte avec vi
n Recherche d'une Chane de Caractres
n /exp recherche la premire occurrence
correspondant l'expression rationnelle exp
partir de la position courante du curseur, en
avanant dans le fichier (la recherche est
circulaire) ;
n ?exp recherche la premire occurrence
correspondant l'expression rationnelle exp
partir de la position courante du curseur, en
parcourant le fichier en arrire (la recherche est
circulaire) ;
n n (next) rpte la dernire commande / ou ? ;
41
Edition de texte avec vi
n Ajuster l'cran
n CTRL+F Remonter dun l'cran ;
n CTRL +B descendre dun cran;
n z <CR> raffiche le texte, la ligne courante
devenant la premire ligne de l'cran ;
n z- raffiche le texte, la ligne courante devenant la
dernire ligne de l'cran ;
n z. raffiche le texte avec la ligne courante au
milieu de l'cran.

42
Edition de texte avec vi
n Manipulation de Fichiers
n :w ("write") enregistre le fichier ;
n :wq ("write and quit") ou ZZ enregistrent le

fichier et quittent l'diteur ;


n :q ("quit") quitte l'diteur si le fichier a t

enregistr ;
n :q! ("quit") quitte l'diteur sans tenir compte des

modifications effectues ;
Remarque : le caractre : utilis dans ces
commandes (et qui doit tre tap) s'affiche sur la
dernire ligne de l'cran : la ligne de commandes.

43
Edition de texte avec vi
n Modification de Texte
n u annule la dernire opration effectue ;
n U rtablit la ligne courante, mme si plusieurs
oprations ont t effectues dessus ;
n J joint la ligne courante et la suivante ;
n rx remplace le caractre sur lequel le curseur est
positionn par le caractre x ;
n w ("word)" avance d'un mot ;
n b ("back word") recule d'un mot ;

44
Edition de texte avec vi
n Copiage et Collage de Texte
n L'diteur vi gre 9 tampons dans lesquels les
derniers morceaux de texte effacs, coups ou
copis sont placs. On peut aussi utiliser des
tampons personnaliss nomms de a z.
n numyy ou numY ("yank") copie num lignes
partir de la ligne courante comprise (une ligne par
dfaut) ;
n p ("put") colle ce qui a t copi ou effac aprs
la position courante ;
n P ("put") colle ce qui a t copi ou effac avant
la position courante ;
45
Unit 3

Administration des utilisateurs et


des groupes

46
Utilisateurs
n Chaque utilisateur qui utilise le systme doit tre connu de
celui-ci par un nom et, ventuellement, un mot de passe.
n Un utilisateur doit appartenir un ou plusieurs groupes
d'utilisateurs pour tre autoris utiliser le systme.
n 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.
n 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).
n Le numro est unique pour un utilisateur ou un groupe donn.

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


/etc/passwd.
47
Hirarchie de comptes
n Root
n super utilisateur
n les permissions d accs ne sont pas appliques sur lui
n il peut faire tous
n compte pour l administrateur du systme
n bin, daemon, lp, sync, news, ftp
n comptes utilisateur utiliss par diffrentes applications et
dmons
n ne peuvent pas tre utiliser comme login
n comptes ordinaires

48
Enregistrer un utilisateur
/etc/passwd
n Un utilisateur est caractris par une ligne dans le fichier /etc/password.
/etc/password.
n Une ligne est forme par les champs suivants :
login:passwd:uid:gid:comment:home:shell
n login : Il s'agit du nom de l'utilisateur. C'est un alphanumrique de 8 caractres
maximum.
n passwd : Il apparat dans ce fichier sous forme code.
n 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.
n gid : Numro de groupe. Chaque utilisateur appartient un groupe
principal. Il pourra galement appartenir des groupes secondaires.
secondaires. Cette
notion de groupe interviendra au niveau des permissions sur les fichiers.
n comment : Nom complet de l'utilisateur.
n home : Chemin complet de la directory attribue l'utilisateur
n shell : Chemin complet du shell, le programme qui interagit avec
l'utilisateur et qui permet de taper des commandes (csh, sh, bash,
bash, tcsh, ...).

49
Enregistrer un utilisateur
/etc/passwd
n Exemple :
root :x:0:0:root:/root:/bin/bash
kmaster:x:500:500:kmaster:/home/kmaster:/bin/bash

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


que celui-ci est crypt (dans /etc/shadow).
n L'UID est compris entre 0 (root) et la constante UID_MAX
(dfinie dans le fichier /etc/login.defs).

n 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.

50
/etc/shadow
n Le fichier /etc/passwd est public (toute
personne qui a un compte sur la machine
peut le lire).
n Pour contrecarrer cette faille, certains
systmes ont introduit le fichier /etc/shadow
n lisible uniquement par root
n contient les mots de passe des utilisateurs, qui
disparaissent alors de /etc/passwd.
n Si on ajoute un utilisateur la main, cela implique
d'diter les 2 fichiers.

51
/etc/shadow
n Une ligne /etc/shadow est compose des champs
suivants:
n Nom de login
n mot de passe crypt
n Nombre de jours couls depuis le 1er janvier 1970 jusqu'au
dernier changement de mot de passe
n Nombre de jours durant lesquels le mot de passe est encore valide
n Nombre de jours aprs lesquels le mot de passe doit tre chang
n Nombre de jours avant l'expiration du mot de passe impliquant
l'avertissement de l'utilisateur
n Nombre de jours aprs l'expiration provoquant la desactivation du
compte
n Numro du jour depuis le 1er janvier 1970 partir duquel le compte
a t dsactiv
n Champs rserv
52
/etc/shadow
n Exemple :
n kmaster:$1$zBvl.scX$hkqgDvBu40EqpAE
wZfZZQ0:11493:0:99999:7:::
n le mot de passe en cours a t mis en place le
11493e jour aprs le 1/1/1970 (date de rfrence),
n il pourra nouveau tre chang 0 jour aprs cette
date
n il devra obligatoirement tre modifi avant le
99999e jour aprs la date de cration (autant dire
qu'il n'expire jamais...).

53
/etc/skel
n Aprs la cration dun compte
utilisateur, tous les fichiers de /etc/skel
sont copis dans le rpertoire personnel
de cet utilisateur.

n On place dans ce rpertoire les fichiers


dont tous le monde doit en avoir une
copie

54
La commande su
n La commande su permet de changer lidentit
de lutilisateur courant.
n Syntaxe su [[-] utilisateur]
n Utilisateur est lutilisateur dont on veut prendre
lidentit
n Si aucun utilisateur nest spcifi, le changement
se fait vers lutilisateur root
n La commande demande un mot de passe
avant dobtemprer. (sauf si root)

55
Gestion des comptes
n Crer un compte pour un nouvel utilisateur
n Commande useradd
n Syntaxe : useradd [options] nom_login
n Options :
-u uid pour fixer l'identifiant uid
-g groupe-
groupe-primaire

-G liste fixe l'appartenance de l'utilisateur une liste de groupes secondaires


seco ndaires
(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-
date- expiration fixe la date d'expiration du compte (format MM/JJ/AA)
-m pour crer le rpertoire personnel
-k rep-
rep -skel recopie le contenu de rep-
rep -skel dans le rp. personnel, par dfaut
/etc/skel
/etc/skel
# Useradd c compte de test -m d /home/toto G test k /etc/skel
toto
56
Gestion des comptes
commande useradd
n Pour examiner les valeurs par dfaut
appliques par useradd :
n commande useradd -D ou
n 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
57
Gestion des comptes
n La commande passwd
n Syntaxe : passwd [options ]
nom_login
n Options
-d l'utilisateur pourra se connecter sans mot de
passe !
-l pour verrouiller le compte et empcher sa
connexion.
-u pour dverrouiller.

58
Gestion des comptes
n Connatre l'uid et le gid de l'utilisateur courant
n Commandes ( id, howami, how am i )
bash:> id
uid=501(stage1) gid=501(stage1) groups=501(stage1), 504(stagiaire)
504(stagiaire)

n Pour dcrire un utilisateur


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

59
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.

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

61
Les groupes
n Un groupe est un ensemble d'utilisateurs.
n Chaque utilisateur doit faire partie au moins
d'un groupe.
n Dans /etc/passwd chaque utilisateur possde
un groupe par dfaut, prcis par son
identifiant gid dans ce fichier.
n L'appartenance au groupe primaire n'tant
pas exclusive, tout utilisateur peut faire
partie de plusieurs autres groupes.
n La liste des groupes est donne par le fichier
/etc/group 62
Le fichier /etc/group
n Le fichier de dclaration des groupes /etc/group
contient une ligne par groupe dans un format
similaire au fichier /etc/passwd.
n Une ligne de ce fichier comporte les champs suivants,
spars par des caractres `:' :
n nom du groupe
n mot de passe du groupe
n numro du groupe (gid)
n liste des utilisateurs appartenant au groupe spars par des
virgules
n Par exemple :
actrices:*:400:sandra,meg,michelle

63
Commandes utiles
n Pour lister tous les groupes d'un utilisateur :
groups nom_login
n Pour crer un nouveau groupe
groupadd nom_groupe
n Supprimer un groupe : groupdel nom_groupe
Le groupe est supprim du fichier /etc/group.
n modifier un groupe
n groupmod -n nouveau_nom nom_groupe
n 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.
64
Processus d initialisation
utilisateur
n /etc/profile
n $HOME/.bash_profile
n $HOME/.bashrc
n /etc/bashrc

[user@host pwd]$ Bourne Again Shell

n $HOME/.bash_logout

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

66
Unit 4

Les droits daccs

67
Gestion des droits daccs
n Tout utilisateur possde un numro d'utilisateur et le
numro du groupe auquel il appartient. On distingue
trois types d'utilisateurs potentiels :
n le propritaire du fichier ("user", u);
n les utilisateurs appartenant au mme groupe ("group", g);
n les autres utilisateurs ("other", o).
n Trois types d'oprations sur les fichiers sont possibles
n la lecture ("read", r);
n l'criture ("write", w);
n l'excution ("execute", x).
n Il y a donc 9 combinaisons possibles utilisateur-
opration. C'est pourquoi les protections sont codes
sur 9 bits.
68
Gestion des droits daccs
n 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

69
Modification des droits daccs
chmod modification_des_droits fichier1 [fichier2 ]
n 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.
n chmod g+w fic1
n chmod o-x rep

n chmod u+rx,g-w fic2

n chmod u=rwx,g=rx,o=- fic

n chmod a+r fic

n 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.

70
Modification des droits daccs
chmod nombre_en_base_8 fichier1 [fichier2 ]
n chmod utilise le codage binaire, fond sur l'association de
valeurs numriques aux diffrentes permissions :
n lecture : 4,
n criture : 2,
n excution : 1,
n pas de permission : 0.
n Chaque triplet se code par l'addition de 4, 2, 1, ou 0.
n Pour un rwx il faudra ajouter 4+2+1=7,
n pour r-x 4+0+1=5 etc.
n La commande chmod permettant de positionner rwxr-x---
sur fic1 la syntaxe suivante : chmod 750 fic1

71
Valeur par dfaut des droits
daccs
umask nombre_en_base_8
n Par dfaut unix affecte les droits max sur les
fichiers normaux et les rpertoires :
n Rp 777 (rwxrwxrwx)
n Fichier normal 666 (rw-rw-rw-)
n Les droits effectifs sont obtenus par :
droits_max - masque
n Exemple
n 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

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

73
Droits daccs tendus
n Set User ID et Set Group ID bit
n Si le SUID est plac sur un programme, celui-ci se
voit affect, le temps de son traitement, le
numro dutilisateur du propritaire du fichier
programme, avec tous les droits daccs
correspondants.
n De la mme faon, si le SGID est positionn, le
numro de groupe normale est remplac par le
numro de groupe du propritaire du fichier
programme.

74
Droits daccs tendus
n Dfinition du SUID et du SGID bit
n Chmod u+s fichier_programme
n Chmod g+s fichier_programme
Ou
n Chmod 4755 fichier
n Chmod 2755 fichier

75
Numros didentification rel et
effectif
n Les numros dutilisateur ou de groupe
dun processus sont hrits du parent
(numros rels). Si vous utilisez un
SUID ou un SGID bit, les numros
dutilisateur et de groupe sen trouvent
modifis (numros effectifs).

76
Droits daccs tendus pour les
rpertoires : Sticky bit
n Un utilisateur qui a le droit dcrire dans un
rpertoire peut supprimer tous les fichiers de
ce rpertoire.
n Si le Sticky bit est positionn, seul le
propritaire pourra supprimer un fichier du
rpertoire.
n chmod u+t rep

n chmod 1777 rep

77
Unit 5

Les packages

78
Gestion de packages
n Combinaison dans un mme fichier (rpm)
n informations sur le programme
n les fichiers excutables, librairies, documentation
n les scripts d installation et de dsinstallation
n les fichiers de configuration
n les informations de dpendance
n Le nom dun rpm respecte un format prcis
de type nom-version.arch.rpm o :
n nom = nom du package/prog
n version = version du package/prog
n arch = architecture pour lequel est fait le prog/package.
79
Red Hat Package Manager
(RPM)
n on peut installer et dsinstaller des
programmes par une seule
commande : rpm
n /var/lib/rpm, contient une BDD des

RPMs installs

80
Installation des RPMs
n Syntaxe de base
n rpm -i nom_package.rpm ( installation)
n rpm -F nom_package.rpm (Freshening)
n installation si une version ancienne de ce package est dj

installe
n rpm -U nom_package.rpm (Upgrading)
n installe et dsinstalle lancienne version qui est enregistre avec

l extension .rpmsave

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

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

n options:
n --nodeps : ignore les dpendances

82
RPM querying
n Pour connatre le contenu dun RPM install
n syntaxe de base
n rpm -q [ nom_package ]
n options :
n a : chercher tous les RPM installs
n f <file> : chercher le RPM d o provient le fichier file
n p<package -file> : affiche les fichiers de ce package (non
encore install)
n i : affiche les informations du package
n l : affiche la liste des fichiers du package
n s : affiche ltat de tous les fichiers
n d : affiche les fichiers de documentation
n c : affiche les fichiers de configuration

83
Vrification des RPMs
n Vrifie les fichiers actuelles avec le RPM original
n taille
n checksum MD5
n Permissions, type
n propritaire
n groupe
n syntaxe de base
n rpm -V nom_package

n options
n f <file> vrifie le fichier file
n a vrifie tous les packages
n p <package -file> vrifie par rapport au RPM original

84
Outils graphiques
n kpackage
n Il fonctionne dans l'environnement Kde,
n Il n est pas fourni en standard dans les distributions RedHat.
n gnorpm
n C est un logiciel fourni avec l'environnement graphique gnome.
n up2date
n est un outil standard de la distribution RedHat (version 6.1 et
suprieure)
n il permet la mise jour de la distribution.
n Il cherche sur le serveur ftp de redhat les packages mis jour pour la
distribution.
n Il prsente ensuite une page web permettant de slectionner les
packages mettre jour.

85
Unit 6

Scheduling

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

87
cron
n Les jobs sont configurs dans des fichiers crontab
n Syntaxe dune ligne
[minute][heur][jour -du-moi][moi][jour -de-semaine][job]
n chaque minute, crond cherche dans les fichiers
crontab sil y a un job lancer
n Les fichiers crontabs des utilisateurs sont enregistrs dans
/var/spool/cron/username
n le fichier crontab systme est /etc/crontab
n tous les fichiers de /etc/cron.d sont considrs comme des
fichiers crontab

88
Exemple d un fichier crontab
utilisateur

0 8 * * * cmd1
0,30 9 * * * cmd2
0,30 8-18 * * * cmd3
*/5 * * * * cmd4
12 13 1 * * cmd5
49 23 16 9 * cmd6
0 15 * * 1 cmd7
32 14 1 1 1 cmd8

89
Commandes crontab
n Un utilisateur peut modifier son crontab, mais
il ne peut pas signaler crond ce
changement
n avec la commande crontab (SUID root) c est
possible
n syntaxe
n crontab -l affiche crontab de lutilisateur courant
n crontab -r supprime crontab de lutilisateur courant
n crontab -e dit crontab de lutilisateur courant
NB root peut utiliser -u username pour spcifier
un utilisateur autre que root.
90
Crontab systme
n Le fichier crontab du systme est /etc/crontab
n le rpertoire cronatb systme est /etc/cron.d
n tous les fichiers de ce rpertoire sont lu par crond
n syntaxe
n on peut dfinir des variables d environnement
n spcifier luid sous lequel la commande va tre excuter
SHELL=/bin/bash
PATH=/sbin
PATH=/sbin:/
:/bin
bin:/
:/usr
usr//sbin
sbin:/
:/usr
usr//bin
MAILTO=root
HOME=/
01 * * * * root run
run-- parts /etc/
/etc/cron.hourly
cron.hourly
02 4 * * * root run
run-- parts /etc/
/etc/cron.daily
cron.daily
22 4 * * * root run
run-- parts /etc/
/etc/cron.weekly
cron.weekly
42 4 1 * * root run
run-- parts /etc/
/etc/cron.monthly
cron.monthly

91
at
n La commande at excute une
commande un moment donne.

# at 4am
ps aux
^d
# at -f bshfile 16:00 + 3 days

92
Contrle des jobs at
n Liste des jobs
$at -l
$atq
n annuler un job
$at -d job
$atrm job
n permission d utilisation de at
n /etc/at.allow
n /etc/at.deny

93
batch
n Excute une commande quand le
systme et moins charg

$batch
echo la charge est minime
^d

94
Unit 7

RESEAUX

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

96
Configuration
n Pour chaque interface, il faut construire, dans le rpertoire ne twork-
scripts un fichier ifcfg-<nom> o nom est remplac par le nom de
l'interface utilise :
n ethN pour la Nime interface rseau
n Ce fichier contient les variables suivantes :
n DEVICE : nom du priphrique
n ONBOOT : initialise "yes
"yes"" pour valider l'interface au dmarrage
n BROADCAST : contient l'adresse IP de diffusion
n NETWORK : contient l'adresse IP du rseau
n NETMASK : contient le masque du rseau
n IPADDR : contient l'adresse IP de l'interface
n 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.

97
Les commandes
n La commande hostname permet d'afficher le nom de la machine ainsi que le nom de
domaine.
n La commande ifconfig permet de visualiser ou de configurer les interfaces. Lorsqu'elle
Lorsqu'elle est
excute sans argument, elle affiche la configuration actuelle avec,
avec, pour chaque interface,
les informations suivantes :
n adresse Ethernet
n adresse IP
n adresse de diffusion
n masque de rseau
n le nombre de paquets reus et transmis
n La commande netstat permet d'afficher :
n les connexions rseau actives et en attente
n les tables de routage
n des statistiques sur l'interface
n les tables de translation d'adresse
n La commande arp permet de visualiser et d'agir sur la table de rsolution d'adresses
d'adr esses
Ethernet.
n La commande route permet de visualiser et de modifier la table de routage de la machine.
machine.
n 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.
98
Les fichiers
n 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.
n Le fichier /etc/host.conf
/etc/host.conf spcifie le mode de rsolution des noms de machines. Il contient
contient
les lignes suivantes :
n Option Description
spcifie l'ordre d'utilisation des diffrents moyens
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
syslog,, les
tentatives d'usurpation d'adresse IP.
Multi valid par la valeur on, cela permet d'affecter plusieurs adresses
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

99
n La commande ftp
n Maintenant, il ne reste plus qu' transfrer le fichier "tar" sur la
station du destinataire via ftp pour cela vous devez juste,
n soit connatre son login/passwd (pas recommand),

n soit avoir votre propre login sur cette machine.

n La commande s'utilise ainsi :


ftp autre_machine
elle vous invite rentrer le login et le passwd du compte
distant, puis tapez :
put mon_boulot.tar.gz
n Le fichier sera alors plac dans le HOME du login distant.
Remarque : si vous avez plusieurs fichiers transfrer, vous
pouvez utiliser "mput *.gz". Il est possible de s'affranchir des
YES (return) pour chaque transfert en dsactivant le prompt via
la commande prompt avant le mput ou mget.

100
n Sous ftp, les commandes ls, pwd et cd peuvent tre
utilises pour lister et changer de rpertoire sur la
machine distante, et !ls, !pwd et !cd pour faire de
mme sur la machine locale .
n Dans le cas o vous avez laiss le fichier chez vous,
et avez simplement dit votre collgue de venir le
prendre via un get sous un ftp, pensez mettre les
droits de lecture sur ce fichier et lui laisser la
possibilit de traverser votre HOME.
Reste ensuite au login distant dcompresser (on l'a
vu !) et dtarer via :
tar -xvf mon_boulot.tar
n Pour sortir de la commande ftp, tapez quit.

101
n Les Rcommandes
n Comme nous en sommes aux interactions entre deux
machines, dtaillons un peu les Rcommandes. Il s'agit des
rsh, rcp, rlogin...
n Toutes ces commandes seraient dj connues si elles
n'avaient pas de r ( login, cp ...). Le r (pour remote) prcise
que la commande va s'excuter sur une autre machine.
n Pour que ces commandes fonctionnent, il est impratif
d'avoir son fichier .rhosts jour. Ce fichier permet de
s'affranchir du mot de passe normalement ncessaire lors
d'une connexion sur une autre machine.
n Voici un exemple de fichier .rhosts existant sur le HOME de
la machine_A pour le compte login_A .
machine_B login_B
eclipse observateur
n Ici, sur la machine_A peuvent se connecter sans taper de
mot de passe, login_B depuis machine_B et observateur
depuis eclipse.

102
n rcp [-r] [[loginA@]machineA:]/fichier [loginB@[machineB:]]/fichier
n copie d'une machine sur une autre, loginX et
machineX peuvent tre omis. L'option -r permet
de traiter une copie rcursive pour recopier les
rpertoires.
n rsh machineB commande
n excute commande sur la machineB
n rlogin machineB [-l login]
n tablit une connexion sur la machineB sous le
login indiqu
n Attention il est parfois ncessaire de prciser
le path de la commande distante.

103
Aide en Ligne (man)
n man [section] titre
n affiche page page le chapitre correspondant au titre donn
dans le manuel standard d'Unix. Certains titres se trouvent dans
plusieurs sections.
n Les commandes externes sont en section 1,
n les appels systme en section 2 et
n les fonctions des bibliothques standard en section 3.
n man com
n permet d'obtenir de la documentation sur la commande com.
n man -k sujet
n permet d'obtenir de la documentation sur le sujet, si il y en a
n La touche h ("help"), on obtient un aide pour l'affichage page
page.

104