Vous êtes sur la page 1sur 121

Linux-objectifs

Commandes de base Editeur vi Administration des utilisateurs et des groupes Les droits daccs Dmarrage et arrt du systme Les packages Les processus Gestion des priphriques Systme de fichier Scheduling Gestion de limpression
1

unit 1
Commandes de base

Commandes lies larborescence


La commande pwd
Affiche le nom du rpertoire courant

La commande ls
Affiche les fichiers et sous-rpertoire dun rpertoire

Syntaxe : ls [option] [nom_de_rpertoire] Options utiles


F: ajout dune indication de type l : affiche les principaux attributs des fichiers et rpertoires
Type droits liens propritaire groupe taille date nom

a : affiche les fichiers et rpertoires dont le nom commence par un point. d : naffiche pas le contenu du rpertoire R : affichage rcursif

Commandes lies larborescence


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


Cration dun fichier vide
touch nom_fichier > nom_fichier

Affichage du contenu dun fichier (texte)


cat nom_fichier [nom_fichier, ]

Copier un fichier
cp fichier1 fichier2 cp fichier1 [fichier2 fichier3 ] rpertoire cp R rpertoire1 rpertoire2

Renommer ou dplacer un fichier


mv fichier1 fichier2 mv fichier1 [fichier2 fichier3 ] rpertoire
5

Commandes gnrales sur les fichiers


Supprimer un fichier
rm [options] fichier1 [fichier2 ] Options utils
i : affiche une demande de confirmation de suppression r : suppression rcursive (attention aucune demande de confirmation) f : devient importante lorsquon cherche supprimer des fichiers appartenant un autre propritaire

Gestion des rpertoires


Crer un rpertoire
mkdir nom_rp [nom_rp ]

Remarque Le rpertoire est non vide :


. : rfrence au rpertoire courant .. : rfrence au rpertoire du niveau suprieur

Suppression dun rpertoire vide


rmdir nom_rp [nom_rp ] Il nest pas possible de supprimer le rpertoire courant Pour la suppression dun rpertoire non vide, la commande rm avec loption r est plus pratique
7

Commandes gnrales sur les fichiers


Utilisation de liens
Liens
ln fichier1 fichier2

Liens symboliques
ln s rpertoire1 rpertoire2

Redirection des entres-sorties


Redirection en sortie
Rcupration du rsultat dune commande ailleurs qu lcran Commande > fichier Si le fichier existe dj son contenu sera perdu Sinon il faut utiliser deux fois le caractre suprieur Commande . >> fichier Si le fichier nexiste pas, il est cr automatiquement

Redirection des entres-sorties


Redirection de lentre
Permet une commande dutiliser comme donnes, le contenu dun fichier la place dune lecture clavier Commande < nom_fichier_de_redirection

Canaux standard
Stdin 0 Stdtout 1 Stderr 2 ( commande 2> /dev/null redirection des erreurs sur la poubelle)

Runion de canaux dentre-sortie Commande > fichier 2>&1


10

Les filtres
Un filtre est une commande sachant crire et lire des donnes par les canaux dentre et de sortie standard. Exemple
wc (options l w c) sort grep More, pg

11

Les tubes
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
rpertoire

combien de fichiers sont contenus dans un

12

Critres de recherche de noms de fichiers


Modles de noms de fichier
* : remplace une chane vide ou de longueur variable ? : remplace un caractre unique quelconque [] : reprsente une srie ou une plage de caractre [!] : inverse la recherche Exemples
a* : les fichiers dont le nom commence par a a?? : fichiers en trois lettres, commenant par a [aA]* : fichiers dont le nom commence par un a minuscule ou majuscule. [a-m]* : fichiers dont le nom commence par une lettre de la plage a-m.

Attention rm *
13

Verrouillage des caractres spciaux


Il est parfois utile de dsactiver la signification spciale des caractres *, ?, [] et ! Exemple
rm a* : supprime tous les fichiers dont le nom commence par a Pour supprimer le fichier a*, il faut dsactiver le *;

Caractres spciaux de dsactivation


Backslash (\) Guillemets (``. ``) Apostrophes ()
14

Programmes utilitaires et filtres


Recherches de lignes dans un fichier (grep)
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 ] Les cinq options du grep les plus utiles sont :
i : pour ne pas tenir compte des majuscules/minuscules, v : toutes les lignes ne contenant pas le critre, n : pour avoir les numros de ligne, E : pour les expressions rgulires plus compliques, l : pour lister seulement les fichiers et non pas les lignes contenant la chane recherche, c : la commande ne retourne que le nombre de lignes trouves

15

Programmes utilitaires et filtres (grep)


Le modle de critres peut contenir les caractres spciaux suivants :
[] : Plage de caractres permis cet emplacement [^] : Plage de caractres non permet cet emplacement .: Un caractre quelconque (y compris un espace) * : Signe de rptition. Agit sur le caractre plac devant le * $ : Matrialise une fin de ligne | : ou ^ : dbut de ligne \{\} : Caractre de rptition, entre les accolades \{nombre\} nombre exacte \{nombre,\} nombre minimum \{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)


nombre de lignes commenant par ! Dans le fichier fichier1 : grep "^!" fichier1 | wc -l recherche de STOP avec le numro de la ligne : grep -n -i stop fichier1 liste de tous les fichiers qui n'ont pas "image" ou "son" dans leur nom : ls | grep -vE "(image|son)" 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


Slection de colonnes et de champs
Syntaxe cut cslection_de_colonne [fichier ]

Slection_de_colonne pourra reprsenter lune des informations suivantes:


Une colonne seule (par exemple -c5), Une plage de colonnes (par exemple -c3-10 ou -c8-), Une liste de nombres spars par des virgules (par exemple -c3,7,9), Une combinaison des trois formes prcdentes (par exemple -c1-3,7,20-).
19

Programmes utilitaires et filtres commande cut


Slection de champs
Syntaxe cut [-dx] fslection_de_champ [fichier ..]
x dsigne le caractre de sparation de champs Slection_de_champ suit les mmes rgles que la slection des colonnes

20

Programmes utilitaires et filtres


Tri par lignes La commande sort effectue un tri par lignes en ordre croissant.
Syntaxe sort [options] [+pos1] [-pos2] ] [fichier ]
Par dfaut le tri porte sur chaque ligne prise en intgralit Avec les options +pos1 et pos2, vous slectionnerez les champs utiliser comme critres de tri.Sort numrote les champs en commenant par 0. 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


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

22

Programmes utilitaires et filtres commande tail


La commande tail affiche la dernire partie dun fichier.

Syntaxe tail [- nombre] [fichier] Nombre : dfinit le nombre de lignes afficher. Par dfaut cest 10 Un signe + la place de inverse leffet de la commande. Exemple tail 5 timbre affiche les 5 derniers lignes du fichier timbre tail +5 timbre affiche les 5 premiers lignes du fichier timbre
23

Programmes utilitaires et filtres commande tee


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. Exemple
ls | tee espion | wc l Le rsultat de la commande ls est enregistr dans le fichier espion

24

Recherche de fichiers et de rpertoires


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)
Rpertoire : rpertoire partir duquel la recherche doit commencer critre_de_slection : critres de recherche mettre en uvre Option : que doit-il se passer si un fichier rpond ce critre

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


Syntaxe find rpertoire(s) critre_de_slection option(s)

critres de slection des fichiers et rpertoires


name : recherche par nom de fichier type : recherche par type de fichier user : recherche par propritaire group : recherche par lappartenance un groupe size : recherche par taille de fichier atime : recherche par date de dernier accs mtime : recherche par date de dernire modification ctime : recherche par date de cration perm : recherche par autorisations daccs links : recherche par nombre de rfrences (links) aux fichiers

26

Recherche de fichiers et de rpertoires


Option de commande
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 Les commandes dont il est fait tat derrire exec seront excutes sans aucune demande de confirmation Loption ok demande lutilisateur si la commande doit effectivement tre excute.

27

Recherche de fichiers et de rpertoires


Traitement sans confirmation avec exec La spcification dune commande derrire exec est soumise certaines rgles:
Loption exec doit tre la dernire de la commande find La commande place derrire exec doit tre termine par le paramtre ;. Comme cest un caractre spcial, il doit tre masqu par un \ Pour accder un des fichiers trouvs, dans le cadre de la commande place derrire exec, utilisez le raccourci {} Exemple
find . user student exec ls l {}\; ( affiche le format long de la commande ls pour les fichiers trouvs) 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


Traitement aprs confirmation avec ok
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. Exemple :
find . ok rm {} \;

29

Recherche de fichiers et de rpertoires


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

30

Recherche de fichiers et de rpertoires


Combinaison de critres pour recherches complexes
Si vous utilisez plusieurs oprateurs logiques pour combiner des options de slection. Il faut tenir compte de lordre des signes !, -a, -o.
! > -a > -o

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. Exemple
find . \ ( -type d o name "*ham" \) -print
31

Compression avec Gzip et Zip


Les fichiers comprims utilisent moins d'espace disque. Vous pouvez comprimer les fichiers Linux l'aide de l'instrument Gzip ou Zip. Par convention, les fichiers comprims se voient attribuer l'extension .gz. Exemple
gzip filename.ext gunzip filename.ext.gz

32

Compression avec Gzip et Zip


Pour comprimer un fichier l'aide de zip, entrez ceci : zip -r filename.zip files
filename reprsente le fichier que vous crez, et files reprsente les fichiers que vous voulez placer dans le nouveau fichier

Pour extraire le contenu d'un fichier zip, entrez : unzip filename.zip Vous pouvez compresser plusieurs fichiers en mme temps avec zip ou gzip. gzip filename.gz file1 file2 file3

33

Archiver avec Tar


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

34

Archiver avec Tar


Pour afficher la liste du contenu d'un fichier tar, entrez :
tar -tvf foo.tar

Pour extraire le contenu d'un fichier tar, entrez :


tar -xvf foo.tar
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


La commande tar ne compresse pas automatiquement les fichiers. Vous pouvez compresser les fichiers tar avec :
tar -czvf foo.tar
Les fichiers tar compresss se voient attribuer l'extension .tgz et sont comprims avec gzip.

Pour dcompresser un fichier tar, entrez :


tar -xzvf foo.tgz

36

unit 2
Editeur vi

Edition de texte avec vi


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

La syntaxe d'appel de l'diteur est


vi fich1

38

Edition de texte avec vi


Le Mode Insertion
a ("after") passe en mode insertion aprs la position courante du curseur i ("insert before") passe en mode insertion avant la position courante A ("append") passe en mode insertion la fin de la ligne sur laquelle se trouve le curseur ; I ("insert") passe en mode insertion avant le premier caractre non blanc de la ligne sur laquelle se trouve le curseur ; o insertion dune nouvelle ligne, sous la ligne courante; O insertion dune nouvelle ligne, au dessus de la ligne courante; 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


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

40

Edition de texte avec vi


Ajuster l'cran
CTRL+F Remonter dun l'cran ; CTRL +B descendre dun cran; z <CR> raffiche le texte, la ligne courante devenant la premire ligne de l'cran ; z- raffiche le texte, la ligne courante devenant la dernire ligne de l'cran ; z. raffiche le texte avec la ligne courante au milieu de l'cran.

41

Edition de texte avec vi


Manipulation de Fichiers
:w ("write") enregistre le fichier ; :wq ("write and quit") ou ZZ enregistrent le fichier et quittent l'diteur ; :q ("quit") quitte l'diteur si le fichier a t enregistr ; :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.

42

Edition de texte avec vi


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

43

Edition de texte avec vi


Copiage et Collage de Texte
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. numyy ou numY ("yank") copie num lignes partir de la ligne courante comprise (une ligne par dfaut) ; p ("put") colle ce qui a t copi ou effac aprs la position courante ; P ("put") colle ce qui a t copi ou effac avant la position courante ;
44

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.


46

Hirarchie de comptes
Root
super utilisateur les permissions d accs ne sont pas appliques sur lui il peut faire tous compte pour l administrateur 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

47

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, ...).

48

Enregistrer un utilisateur /etc/passwd


Exemple :
root ::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.
49

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

50

/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
51

/etc/shadow
Exemple : kmaster:$1$zBvl.scX$hkqgDvBu40EqpAEwZfZ ZQ0: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...).

52

/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
53

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)


54

Gestion des comptes


Crer un compte pour un nouvel utilisateur
Commande useradd
Syntaxe : useradd [options] nom_login Options :
-u uid -g groupe-primaire -G liste -s shell -c commentaire -d rep. Personnel -e date-expiration -m -k rep-skel pour fixer l'identifiant uid fixe l'appartenance de l'utilisateur une liste de groupes secondaires (sparateur , sans espace) par dfaut, attribution du shell par dfaut bash

par dfaut dans le rpertoire /home fixe la date d'expiration du compte (format MM/JJ/AA) pour crer le rpertoire personnel 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 55

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


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

passwd [options ] nom_login

Commandes ( id, howami, how am i )


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

userdel [-r] nom_login 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)

56

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 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 (nb

57

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.

58

Gestion des comptes


Connatre l'uid et le gid de l'utilisateur courant
Commandes ( id, howami, how 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

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


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)

61

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
62

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 actrices:*:400:sandra,meg,michelle,user1
63

Par exemple :

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

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)

65

Les droits daccs

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

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

68

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

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 rwxr-x--- sur fic1 la syntaxe suivante : chmod 750 fic1
70

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 :


droits_max - masque

Exemple
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
71

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 ]

72

Les ACLs
activit d'apprentissage ACLs

73

Les packages

Gestion de packages
Combinaison dans un mme fichier (rpm)
informations sur le programme les fichiers excutables, librairies, documentation les scripts d installation 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.
75

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

76

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 l extension .rpmsave

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

77

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

options:
--nodeps : ignore les dpendances

78

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 d o 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
79

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

80

Outils graphiques
kpackage
Il fonctionne dans l'environnement Kde, Il n est pas fourni en standard dans les distributions RedHat.

gnorpm
C est 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.

81

Systme de fichier

C est quoi un systme de fichier (SF)


structure pour enregistrer les fichiers et pouvoir les trouver par la suite. Structure arborescente via l utilisation de rpertoires Pour pouvoir accder un systme de fichiers il faut le monter
un point de montage est toujours un rpertoire vide le SF racine (/) est activ au dmarrage du systme

83

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.

84

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)

85

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

86

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


87

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

88

Monter des SFs au dmarrage


Pour chaque SF monter au dmarrage ajouter une line dans /etc/fstab
/dev/hda2 /dev/cdrom /dev/fd0 /dev/hda6 / /mnt/cdrom /mnt/floppy /mountpoint ext2 iso9660 msdos ext2 defaults noauto,ro,user noauto,user defaults 11 00 00 00

89

Options de montage
On utilis plusieurs options
auto noauto user owner ro rw montage automatique (mount a ) ne pas monter automatiquement users sont autoriss monter ce SF idem auto sauf que lutilisateur doit tre le propritaire lecture seul 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
90

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


91

Commandes utiles
df : affiche la place libre en termes de blocs et d inodes 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 d utiliser les SFs msdos sans les monter.
Fichier de configuration /etc/mtools.conf

92

Scheduling

Scheduling
Automatiser les taches de routine lancement automatique des taches des moments spcifiques le dmon crond fait le scheduling pour les fichiers crontab le dmon atd est responsable d excuter les jobs soumis par les commandes at ou batch

94

cron
Les jobs sont configurs dans des fichiers crontab
Syntaxe dune ligne
[minute][heur][jour-du-moi][mois][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

95

Exemple d un fichier crontab utilisateur


[minute] [heur] [jour-du-moi] [mois] [jour-de-semaine] [job] 0 0,30 0,30 */5 12 49 0 32 8 9 8-18 * 13 23 15 14 * * * * 1 16 * 1 * * * * * 9 * 1 * * * * * * 1 1 cmd1 cmd2 cmd3 cmd4 cmd5 cmd6 cmd7 cmd8
96

Commandes crontab
Un utilisateur peut modifier son crontab, mais il ne peut pas signaler crond ce changement avec la commande crontab (SUID root) c est 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.
97

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 d environnement 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

98

at
La commande at excute une commande un moment donne.
# at 4am [date] ps aux ^d # at 16:00 + 3 days at 11:00 at midnight at now+3hours

99

Contrle des jobs at


Liste des jobs
$at -l $atq

annuler un job
$at -d numero_du_job $atrm job

permission d utilisation de at
/etc/at.allow /etc/at.deny

100

Les processus

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.

102

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
103

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
104

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

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.

106

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 &

107

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.

108

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.

109

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

110

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 &

111

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 $ fg %1 rpm -Va >liste-RPM.txt rpm -Va >liste-RPM.txt &

Ctrl + C pour arrter ce processus.


112

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 & 113

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

114

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.

115

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

Les commandes qui ne sont pas associes un terminal sont reconnaissable par le point d'interrogation qui rempli le champs 116 TTY.

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

117

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.

118

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

119

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

scripts

121