Вы находитесь на странице: 1из 99

Comment Unix conoit le disque 2 types de conceptions : logique et physique

LE SYSTEME DE FICHIERS
Structure arborescente
/

usr

etc

bin

lib

home

passwd

group

enim

old

profs adm etudiant

lve1

lve2

lve3

fich

TP1

TP2

Fich1

Fich2

Fich3

Fich4

Fich5

Manipulation de rpertoires
cd pwd
entre

#home directory #print working directory


entre

entre

cd <nom_rep>

# change directory # make directory # remove directory

mkdir <nom_rep> rmdir <nom_rep>

entre

entre

TP :
Rpertoire personnel

Rep1

Rep2

f1 f, f1 et f2 : fichiers Rep1 et Rep2 : sous rpertoires

f2

CHEMIN RELATIF CHEMIN ABSOLU

montage dun volume


/ bin home

Volume 1
v2 local bin

Volume 2

Montage du volume 2

Manipulation : monter mmoire flash


Il faut tre root Consulter: /dev/disk/bylabel/KINGSTON Se positionner sous /mnt Taper :
mount /dev/disk/by-label/KINGSTON lm

Se positionner sous lm Lister le contenu lm umount

Manipulation : monter un CD
Il faut tre root Se positionner sous /mnt Crer le rpertoire mon_cd Taper : mount /dev/cdrom mon_cd ........... ................ umount mon_cd

Crer un alias
alias cdrom='mount /dev/cdrom mon_cd' Pour monter le cd : cdrom
Pour ne pas taper chaque fois la commande alias : gedit .bashrc Ajouter la ligne : alias cdrom='mount /dev/cdrom mon_cd' On peut mettre l'alias suivant dans le fichier : .bashrc alias cdrom='cd /mnt;mkdir moncd;mount /dev/cdrom moncd'

LE SYSTEME DE FICHIERS
Interface uniforme pour toute opration d'E/S Trois types de fichiers :
fichiers ordinaires rpertoires fichiers spciaux et priphriques : terminaux liens symboliques prises rseaux

Droits daccs
/ etc

usr

bin

lib

home

group

passwd

enim

old

profs adm etudiant

lve1

lve2

lve3

fich

TP1

TP2

Fich1

Fich2

Fich3

Fich4

Fich5

Affichage des caractristiques: ls


groupe
-rw-r--r-- 1 ali

-l
f1

g1 58 16 Jul 09:19

nb liens

propritaire

taille

date nom

type

group

-rw-r--r-user others

Droits daccs
a- protections trois catgories utilisateurs : son propritaire les utilisateurs qui font partie du mme groupe que le propritaire les autres, excluant le propritaire et les usagers du groupe
A chacune de ces trois classes dutilisateurs, trois types de droits accs sont dfinis

Ces types ont des significations diffrentes sil sagit dun rpertoire ou dun fichier.

Pour un fichier :

r w x

(read) droit de lire le fichier (write) droit de modifier le contenu du fichier (execute) droit dexcuter le fichier.

Pour un rpertoire : r (read) droit de lire le rpertoire, c a d droit dappliquer la commande ls W (write) droit dcrire dans le rpertoire. Cela permet dajouter une entre au rpertoire : de crer un fichier ou un rpertoire de modifier une ligne : changer le nom dun fichier de retirer une ligne : dtruire un fichier. remarque : ce droit nautorise pas dtruire le rpertoire luimme : il faut pour cela avoir le droit w sur le pre de rpertoire x droit de traverser le rpertoire.

Exemple : r - - : chez le pre - -x

ls sr

-wx

b- Changement des protections : chmod

chmod

mode

[fichier]+

Le paramtre mode peut prendre deux formes : 1- dans la forme absolue, mode est compos de trois chiffres octaux. Le codage est : un chiffre binaire un signifie donner le droit correspondant un chiffre binaire zro signifie retirer le droit correspondant Exemple : chmod 300 fichier

2- dans la , mode est compos de deux ou trois champs colls les uns aux autres, de la faon suivante :

forme symbolique [qui ]*

chmod

mode

[fichier]+

qui : est lun des caractres suivants :

position

[droit]+

u pour le propritaire g pour le groupe o pour les autres et a pour tous ( user, group, others, all ) et indique pour qui on donne les droits qui suivent (dfaut : a );

position : est lun des caractres suivants : droit : est lun des caractres suivants :
r w x pour le droit r, pour le w pour le droit x. + = pour mettre un droit pour le retirer pour mettre un droit et supprimer les autres;

Exemple : soit un fichier f


Permission avant rw_ r_ _ _ _ _

Commande chmod +x f chmod u-w f chmod a=r f

Permission aprs rwx r_x _ _ x

rw_ r_ _ _ _ _

r_ _r_ _ _ _ _

rw_rw_rw_ _w_ rwx r_ _

r_ _r_ _ r_ _

chmod u+r,g-x,o+w f _wr rw_ rw_

umask
dfinir les droits affects par dfaut aux fichiers lors de leurs cration Exemple : si on veut avoir :751 : rwx r-x - -x par dfaut il faudra dfinir comme masque : 026 (7+0=5+2=1+6=7) umask 026 umask (sans paramtre) affiche le masque en cours

Il faut noter que les droits affects la cration dun fichier dpend aussi de lutilitaire qui la cr Exemple : umask 000 gedit f les droits effectifs de f est rw- rw- rw-

Gestion des ACL

ACL minimale ACL tendue ACL par dfaut

ACL minimale
Compose exclusivement de : propritaire groupe autre les droits traditionnels Unix

ACL minimale
ls -l fichier
-rw-r----- 1 ali etudiant ................. fichier

getfacl fichier
# file: fichier # owner: ali # groupe: etudiant user::rwgroup::r-other::---

ACL tendue
setfacl
( set file's ACL, rgler l'ACL du fichier) Donner ou retirer un droit un utilisateur ou un groupe ( sur un fichier ou un rpertoire ) Exemple :

setfacl -m

u:amina:rw

fichier
fichier

setfacl -m u:amina:rw,g:groupe2:r--

setfacl -Rm u:amina:rw Rep


modifie l'ACL de tous les fichiers de Rep en attribuant une permission r et w l'utilisateur amina

Remarque : Si l'utilisateur et le groupe possdent dj un droit qui ne serait pas mentionn dans la commande setfacl, ce droit sera annul ex : le x pour amina ls -l fichier - rwx r-x --- 1 ali etudiant ................. fichier setfacl -m u:amina:rw fichier ls -l fichier - rwx rwx ---+ 1 ali etudiant ................. fichier

Remarque : Ne pas mentionner un droit revient une interdiction :

setfacl -m u:amina:w fichier


<==>

setfacl -m u:amina:-w- fichier

ACL par dfaut


Les droits tendus d'un objet parent ne sont pas automatiquement hrits par les objets contenus exemple : un rpertoire Rep : rwx r-x r-x possde une ACL u:driss:rwx
(on suppose que driss est de mme groupe que le propritaire de Rep)

un fichier cr, par driss, dans Rep, ne reoit pas cette ACL et ses droits sont ceux impliqus par umask

ACL par dfaut


On peut ajouter aux rpertoires seulement un attribut default not d: qui se transmet tous les fichiers crs dans le rpertoire Exemple :

setfacl -m d:u:driss:rwx Rep


tous les objets cr par driss dans Rep vont hriter :

rwx

Retirer des permissions setfacl -b fichier


supprime tout le contenu de l'ACL de

tous les utilisateurs et les groupes

fichier pour

setfacl -x u:amina,g:groupe2 fichier retire les permissions ACL amina et groupe2 pour fichier setfacl -k Rep
annuler les permissions ACL

Rep

par dfaut de

Le masque

Le masque est une synthse des valeurs les plus permissives que possde un fichier dot d'une ACL les droits du propritaire ne sont pas pris en compte le masque est calcul automatiquement

Le masque
chmod 640 fichier ls -l fichier -rw-r----- 1 ali group2 .................. fichier getfacl fichier # file: fichier # owner: ali # groupe: etudiant user::rwgroup::r-other::---

ce fichier n'a pas d'ACL donc pas de masque

setfacl -m u:amina:rw;g:groupe2:rw fichier getfacl fichier # file: fichier # owner: ali # groupe: etudiant user::rwuser::amina:rwgroup::r-group:groupe2:rwmask::rwother::--valeur du masque : les permissions les plus leves ( propritaire exclus )

Le masque

Le masque

L'intrt du masque est de pouvoir limiter d'un coup toutes les permissions d'un fichier, sauf celles du propritaire on utilise le prfixe m: suivi du droit maximal accorder

Le masque
getfacl fichier
# file: fichier # owner: ali # groupe: etudiant user::rwuser::amina:rwgroup::r-group:groupe2:rwmask::rwother::---

setfacl -m m:r fichier


getfacl fichier
# file: fichier # owner: ali # groupe: etudiant user::rwuser::amina:rw- #effective : r-group::r-group:groupe2:rw- #effective : r-mask::r-other::---

Conception des Utilisateurs et des Groupes

Gestion des Utilisateurs et des Groupes

Grer : ajouter des utilisateurs et des groupes modifier les attributs des utilisateurs et groupes supprimer des utilisateurs et groupes

Outils utiliss :
l'interface graphique les commandes du systme : useradd userdel groupadd groupdel modifier les fichiers de configuration

Chaque utilisateur est dcrit par :


nom de connexion mot de passe numro unique d'utilisateur groupe primaire groupes secondaires nom complet de l'utilisateur rpertoire personnel interprteur de commande date d'expiration du compte dure de validation du mot de passe ........

Chaque groupe est dcrit par :


nom de groupe numro unique de groupe La liste de ses membres ventuellement un mot de passe ventuellement un/des administrateur(s) du groupe ........

Interface Graphique

Systme Administration Utilisateurs et groupes

les commandes useradd userdel groupadd groupdel usermod groupmod

chsh passwd gpasswd .................

Fichiers de configuration
/etc/group /etc/passwd /etc/shadow /etc/gshadow

/etc/group format de chaque ligne : group:passwd:gid:membres


nom de groupe mot de passe du groupe numro unique de groupe liste des membres spars par des virgules

/etc/passwd format de chaque ligne : login:passwd:uid:gid:info:home:shell


nom de connexion mot de passe numro unique d'utilisateur numro unique de groupe nom complet de l'utilisateur rpertoire initial interprteur de commande

Ajouter un utilisateur

/etc/shadow format de chaque ligne :


username:passwd:last:may:must:warn:expire:disable:reserved

/etc/shadow
username : Nom de l'Utilisateur passwd : mot de passe encod last : date de la dernire modification (en nombre de jours depuis le 1er janvier 1970). may : nombre de jours avant que le mot de passe puisse tre modifi must : nombre de jours avant que le mot de passe doive tre modifi warn : nombre de jours durant lesquels l'utilisateur est prvenu de l'expiration de son mot de passe. expire : nombre de jours entre l'expiration du mot de passe et la fermeture du compte. disable : date de la fermeture du compte en nombre de jours depuis le 1er janvier 1970 reserved : champ rserv

Commande : passwd
$ passwd changing password for ali old password : new password : retrype new password : L'administrateur peut changer le mot de passe de n'importe quel utilisateur : passwd utilisateur

Chaque utilisateur est : membre d'un et d'un seul groupe primaire peut appartenir plusieurs groupes secondaires id : uid=600(ali) gid=500(info) groupes=500(info) , 604(SP) , 700(Musique)

/etc/gshadow format de chaque ligne :

group:passwd:administrateurs:membres
nom du groupe mot de passe crypt liste des administrateurs liste des membres spars par des virgules

La commande gpasswd permet l'administrateur systme ( root ) de : Dsigner un ou les administrateur(s) du groupe d'ajouter ou supprimer des membres d'attribuer, supprimer ou modifier un mot de passe du groupe

La commande gpasswd permet l'administrateur du groupe de : d'ajouter ou supprimer des membres d'attribuer, supprimer ou modifier un mot de passe du groupe

Commande : gpasswd : administrer les fichiers


/etc/group et /etc/gshadow :

gpasswd groupe : dfinir un mot de passe pour le groupe gpasswd -a utilisateur groupe : ajouter un utilisateur un groupe gpasswd -d utilisateur groupe : supprimer un utilisateur du groupe gpasswd -r groupe : supprimer le mot de passe pour un groupe gpasswd [-A utilisateur,...] [-M utilisateur,...] groupe
dfinir des administrateurs et des utilisateurs pour un groupe

groups info SP Musique id uid=600(ali) gid=500(info) groupes=500(info) , 604(SP) , 700(Musique) newgrp SP id uid=600(ali) gid=604(SP) groupes=500(info) , 604(SP) , 700(Musique) newgrp danse passwd : id uid=600(ali) gid=800(danse) groupes=500(info) , 604(SP) , 700(Musique)

si le groupe ne possde pas : le mot de passe ====> seuls les membres de ce groupe rejoignent ce groupe par la cde newgrp

si le groupe ne possde : ni le mot de passe ni de membres ====> personne ne peut accder ce groupe

Forme gnrale dune commande UNIX

commande [ paramtres ]
Convention :

entre

.. . /

rpertoire parent rpertoire courant racine de l'arborescence

Documentation

$ man commande

Remarque : majuscule # minuscule

Copier un ou plusieurs fichiers :

cp

Format 1 : cp

origine

rsultat

Les droits de rsultat sont les droits de origine

Format 2 : cp

[ origine ]+

rep

REP1

b c

REP2

nf REP1 : REP2 : cp a REP2/nf

cp ../a nf

Dplacemer ou renommer :

mv

mv ancien nouveau

Exemple :
a b

REP1

REP2

nc c

REP1 : REP2 :

mv

REP2/c REP2/nc mv c nc

Autre exemple :
REP1 a autreb REP2

nc

REP1 : REP2 :

mv mv

b REP2/ autreb ../b autreb

REP1

autreb

REP2

nc

REP1 : REP2 :

mv REP2/autreb REP2/nc mv autreb nc ..

crer des liens sur fichier :

ln

ln

anciennom

nouveaunom

pas de duplication physique du fichier.

ln

[fichier]+

rep

REP1

a autreb nc

REP2

REP1 : REP2 :

ln ln

* ../*

REP2 .

Destruction dun fichier ou dun lien : rm

rm [ option ] [ fichier ]+
Appliquer un lien symbolique, rm retire le lien symbolique. Destruction physique

options : r (rcursif) i

rm

r sous_rep

Attributs dun fichier, contenu dun rpertoire

ls [option][nom]*
Quelques options : -a affiche tous les noms de fichiers, mme ceux qui commencent par un point -i affiche le numro de i-nud devant chaque nom de fichier ou rpertoire. -l affiche pour chaque fichier successivement : la nature du fichier : - : fichier ordinaire, d : rpertoire, l : lien symbolique les droits daccs le nombre de liens de fichier les noms du propritaire et du groupe la taille des fichiers en caractres la date de dernire modification le nom du fichier -t affiche tri par la date de dernire modification

Affichage interactif
a- Appel simple :

more fichier
affichage page par page dun fichier de texte, avec une pause en fin de chaque page. Aprs une pause, on peut reprendre le dfilement.

b- Appel avec options : more [-n] [+nl] [+/ chane] [fichier ]* -n nombre de lignes affiches;

+nl +/ chane

dmarrer laffichage la ligne nl; dmarrer deux lignes avant de rencontrer chane dans le fichier.

Requtes : A la fin de chaque page, lutilisateur peut envoyer une requte :

entre espace q = / chane

affiche la ligne suivante; affiche la page suivante; quitter more; affiche le numro de ligne courante; affiche la suite, deux lignes avant de rencontrer chane;

! commande excute la commande ; . rpte la requte prcdente; : n (next) passe au fichier suivant, quand more est : p ( previons )
passe au fichier prcdent.

appel avec plusieurs fichiers en paramtre;

Affichage complet

cat [fichier]*
Exemple : cat fichier cat >fichier ^d : pour terminer

Affichage du dbut :

head [-n] f
head fichier head -5 fichier

Affichage de la fin dun fichier :

tail -n fichier
Exemple : tail f affiche les dix dernires lignes de f.

tail -5 fichier affiche les 5 dernires lignes de f.

Extrait dun nom de fichier : basename

basename nom [suffixe]


Exemple : basename ab ab.c .c

basename prog-gus.p -gus.p prog Exemple : Programme qui copie les .c en

.old

Comparaison de fichiers sans dtail :

cmp

fichier1

fichier2

0 si les fichiers sont identiques, 1 sils sont diffrents


Remarque : cmp -s f1 f2

Longueur dun fichier :

wc Exemple : wc -lwc wc -l

[-lwc]

[fichier]*

fichier fichier

Recherche dune chane dans un fichier :

grep [option] chane [fichier]*


Options : v affiche les lignes qui ne contiennent pas le motif c naffiche que le nombre de lignes qui contiennent le motif i ignore la distinction minuscule / majuscule l naffiche que les noms des fichiers renfermant le motif n numrote les lignes affiches q les messages sont supprims Le code de retour est : 0 si un motif a t trouv 1 sinon 2 sil y a eu des erreurs

Gnralits sur les processus Un processus est un programme en cours dexcution. programme = statique processus = dynamique Un utilisateur <==> au moins un processus (le login Shell)

Caractristiques d un processus :
son pid ( process identifier ) un numro qui lui attribue UNIX ds sa cration. le pid du processus parent (ppid) son propritaire son terminal dattachement un certain nombre dautres attributs, priorit par exemple

Naissance et terminaison d'un processus


un processus doit naitre pour exister. Un processus meurt de deux faons : normalement ou anormalement

ps -u ali
PID TT STAT 6087 pts/0 S 6091 pts/0 R TIME COMMAND 0:02 sh 0:01 ps

Un mme programme sexcutant plusieurs fois donne des processus diffrents

Quelques commandes
nice [-n nb] commande [paramtres] priorit de 19 (- prioritaire) -20 (+ prioritaire):

0 par defaut.
Seul le root peut mettre une priorit ngative.

Un utilisateur normal ne peut que diminuer sa priorit, jamais l'augmenter.

renice nb pid
changer la priorit d'un processus en cours d'excution de la commande Exemple : renice 10 733

Quelques commandes
nohup commande [&] processus non tu au logout kill -9 processus_ID le processus dsign est tu at heure jour lancer une commande un jour donn, une heure donne

at 15:26 at> cp f1 f2 at> ln f2 f3 at> ctrl+d at 00:00 +2 days

Commande : at

excuter une tche dans 2 jours minuit

at now +2 hour
excuter une tche dans 2 heures partir de cet instant

atq
afficher les travaux en cours

atrm numro_de_tche annuler une tche

Remarque : les rsultats des commandes sont envoys en mail si pas de redirection Exemple : at 10:10 at> ls at> ctrl+d mail 1 delete 1

les fichiers : /etc/at.allow & /etc/at.deny Si le fichier /etc/at.allow existe, seul les utilisateurs mentionns auront le droit dutiliser la commande at. Si le fichier /etc/at.allow nexiste pas, cest le fichier /etc/at.deny qui est pris en compte : les utilisateurs mentionns nauront pas le droit dutiliser la commande at. Si aucun des deux fichiers nexiste, seul le super utilisateur (root) aura le droit dutiliser la commande at.
un fichier /etc/at.deny vide signifie que tout les utilisateurs peuvent utiliser la commande at

Redirection

(par dfaut clavier)

organe dentre

commande ou programme shell

organe de sortie ( par dfaut cran )

les erreurs ( par dfaut cran )

Redirection des E/S : >mot redirige la sortie standard sur un mot,


avec cration ou destruction ventuelle

>> mot idem, mais si le fichier dsign par mot


existe dj, il est allong (et non dtruit)

< mot

redirige lentre standard sur mot

mot est un nom de fichier ou une variable ou un paramtre dsignant un fichier. Redirection des erreurs :

2 > mot 2 >> mot

Exemple :

cat f1 ls ls >f

f2

> f3

f > fichier f 2 > fichier f > f1 2 > f2

./a.out ./a.out > f ./a.out < f ./a.out <f >g

ls ls

cat grep ali nohup prgme sort sort f sort >f

>ff

2>fff

Pip e
clavier commande1

Sortie

Entre

cran commande2

erreur (cran)

erreur (cran)

commande1 | commande2| .............................| commande n

Pipe 1- Compter le nombre de fichiers dans le repertoire courant :

ls | wc w
Problme : touch ' a 1 de plus b'

Solution : x=`ls -l | wc -l` let x=x-1 echo $x

Pipe

Pipe
2- afficher les quatres derniers noms, dans lordre alphabtique, dune liste se trouvant dans le fichier liste : $ cat liste BA KO AL HA AH AA Rsultat de la commande : AL BA HA KO

cat liste | sort | tail -4 sort liste | tail 4

./p1

./p2 ./p2 ./p2 >g ./p2 >g &

./p1 < f | ./p1 < f |

nohup ./p1 < f |

Caractres spciaux
Commandes squentielles : cmd1;cmd2;cmd3 Commande background : cmd& redirection des e/s Groupement des commandes : ( )

Ex: date ; echo fin de commande > fichier cat fichier fin de commande

(date ; echo fin de commande ) > fichier cat fichier la date du jour fin de commande

Gnration de noms
Facilits pour dsigner de manire explicite un groupe de noms de fichiers l'aide d'une notation condense. Usage de caractres spciaux dits mta-caractres : ? remplace un caractre quelconque, sauf le RET ls d?g * remplace n'importe quelle chane, mme vide, de caractres ne comportant pas de RET. ls s*n

[...]

remplace un caractre parmi ceux qui sont numrs entre les crochet, en un caractre ls d[io]g

Mcanismes dchappement

'...'
parenthsage dans lequel aucun caractre n'a de signification spciale

"..."
parenthsage dans lequel aucun caractre sauf `, " et $ n'a de signification spciale

` cde ` ou $( cde )
excution de la commande

Exemple Echo ' `date` ? ' `date` ? echo `date` ? Lundi ............ ? echo $a ` date ` $a ` date ` echo \? ?

Вам также может понравиться