0% ont trouvé ce document utile (0 vote)
14 vues11 pages

TP1 Se

Le document présente un TP sur la gestion des fichiers et des droits d'accès dans les systèmes d'exploitation Linux, détaillant la hiérarchie des fichiers, les commandes pour créer, supprimer, copier, déplacer et renommer des fichiers et répertoires. Il aborde également la gestion des droits d'accès, l'utilisation de caractères de substitution, et les commandes pour modifier ces droits. Enfin, des exemples pratiques illustrent l'utilisation des commandes et des paramètres associés.

Transféré par

tayechiyoussef1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues11 pages

TP1 Se

Le document présente un TP sur la gestion des fichiers et des droits d'accès dans les systèmes d'exploitation Linux, détaillant la hiérarchie des fichiers, les commandes pour créer, supprimer, copier, déplacer et renommer des fichiers et répertoires. Il aborde également la gestion des droits d'accès, l'utilisation de caractères de substitution, et les commandes pour modifier ces droits. Enfin, des exemples pratiques illustrent l'utilisation des commandes et des paramètres associés.

Transféré par

tayechiyoussef1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP Systèmes d’exploitation 2 ISSAT de Mateur

TP 1 : La gestion des fichiers et des droits d’accès

1. Hiérarchie des fichiers linux


Les fichiers et répertoires sont organisés dans une arborescence inversée à racine unique. Les
noms de fichiers sont sensibles à la casse (distinction minuscule/majuscule). « / » est le point
de départ de l’arborescence du système de fichier linux. Chaque shell de système a un «
répertoire en cours ».
2. Répertoire du système linux
/bin Utilisé pour stocker les commandes de l’utilisateur. Le répertoire /usr/bin stocke également
les commandes de l’utilisateur.
/sbin Emplacement de nombreuses commandes de système, telles que shutdown. Le répertoire
/usr/sbin contient également de nombreuses commandes de système.
/root Le répertoire personnel du super-utilisateur root
/mnt Ce répertoire contient traditionnellement les points de montage pour les systèmes de
fichiers montés après le démarrage du système
/boot Contient le noyau et d’autre fichiers utilisés pour la mise en route du système
/lib Contient de nombreux fichiers de bibliothèques utilisés par les programmes dans /bin et
/sbin. Le répertoire /usr/sbin contient plus de fichiers de bibliothèques
/dev stocke des fichiers de périphériques
/etc Contient de nombreux fichiers et répertoires de configuration
/var Pour les fichiers « variables » comme les fichiers d’inscription et le printer spool
/usr Contient des fichiers et répertoires directement liés aux utilisateurs du système
/proc Un système de fichiers virtuel contenant les informations de système utilisées par certains
programmes
/tmp contient les fichiers temporaires et comprend un accès global de lecture/écriture
/home Emplacement typique des répertoires personnels de l’utilisateur
3. Créer des répertoires
La commande mkdir (make directory) permet de créer un ou plusieurs répertoires, ou une
arborescence complète.
Par défaut la commande ne crée pas d’arborescence. Si vous passez comme arguments
rep1/rep2 et que rep1 n’existe pas, la commande retourne une erreur. Dans ce cas, utilisez le
paramètre -p.

©Radhi YAZIDI 1
TP Systèmes d’exploitation 2 ISSAT de Mateur

mkdir [-p] rep1 [rep2] ... [repn]


$ mkdir Documents
$ mkdir Documents/Photos

4. Supprimer des répertoires


La commande rmdir (remove directory) supprime un ou plusieurs répertoires. Elle ne peut pas
supprimer une arborescence. Si des fichiers sont encore présents dans le répertoire, la
commande retourne une erreur. Le répertoire ne doit donc contenir ni fichiers ni répertoires et
ceci même si les sous-répertoires sont eux-mêmes vides.
rmdir rep1 [rep2] ... [repn]
Il n’y a pas de paramètre -r (pour récursif) à la commande rmdir. Pour supprimer une
arborescence vous devrez utiliser la commande rm.
$ rmdir Documents/
rmdir: Documents/: Le répertoire n’est pas vide.
$ rmdir Documents/Photos

5. Copier des fichiers


La commande cp (copy) copie un ou plusieurs fichiers vers un autre fichier ou vers un
répertoire.
cp fic1 [fic2 ... ficn] Destination
Dans le premier cas, fic1 est recopié en Destination. Si Destination existe, il est écrasé sans
avertissement selon le paramètre passé et selon les droits. Dans le second cas, fic1, fic2 et ainsi
de suite sont recopiés dans le répertoire Destination. Les chemins peuvent êtres absolus ou
relatifs. La commande peut prendre, entre autres, les options suivantes :
Paramètre Signification
-i Demande de confirmation de copie pour chaque fichier.
-r Récursif : copie un répertoire et tout son contenu.
-p Les permissions et dates sont préservées.
-f Forcer la copie.

Votre attention doit être attirée sur le fonctionnement de cp avec les copies de répertoires. Le
fonctionnement est différent selon la présence du répertoire de destination ou non. Dans le
premier cas, rep2 n’existe pas. Le répertoire rep1 est copié en rep2. À la fin rep2 est une copie
exacte de rep1.
$ ls -d rep2
ls: ne peut accéder rep2: Aucun fichier ou répertoire de ce type
$ cp -r rep1 rep2
$ ls
rep1 rep2
Maintenant que rep2 existe, exécutez de nouveau la commande cp. Cette fois, comme rep2
existe, il n’est pas écrasé comme vous pourriez le penser. La commande détermine que la

©Radhi YAZIDI 2
TP Systèmes d’exploitation 2 ISSAT de Mateur

destination étant le répertoire rep2, rep1 doit être copiée dans la destination : rep1 est copié dans
rep2.
$ cp -r rep1 rep2
$ ls rep2
rep1

6. Liens
Création de lien symbolique :
ln -s fichier liensymbolique
$ touch fic1
$ ln -s fic1 lienfic1
$ ls -l
-rw-r--r-- 1 etudiantissatm users 0 mar 4 19:16 fic1
lrwxrwxrwx 1 etudiantissatm users 4 mar 4 19:17 lienfic1 -> fic1

Création de lien physique :


ln fichier lienphysique
$ touch fic1
$ ln fic1 fic2
$ ls -li
2394875 -rw-r--r-- 2 etudiantissatm users 0 mar 21 22:40 fic1
2394875 -rw-r--r-- 2 etudiantissatm users 0 mar 21 22:40 fic2

7. La commande cd
Pour vous déplacer dans les répertoires, vous utilisez la commande cd (change directory). La
commande pwd (print working directory) affiche le chemin complet du répertoire courant.
Si vous saisissez « cd . » , vous ne bougez pas. Le point sera très utile lorsque vous devrez
spécifier des chemins explicites à des commandes situées dans le répertoire où vous êtes
positionné.
Le « cd .. » remonte d’un niveau. Si vous étiez dans /home/user1, vous vous retrouvez dans
/home.
La commande cd sans argument permet de retourner directement dans son répertoire personnel.
[etudiantissatm@localhost]$ pwd
/home/etudiantissatm
[etudiantissatm@localhost]$ cd ../public
[etudiantissatm@localhost /home/public]$ cd /usr/local/bin
[etudiantissatm@localhost /usr/local/bin]$ cd ../../lib
[etudiantissatm@localhost /usr/lib]$ cd
[etudiantissatm@localhost]$

©Radhi YAZIDI 3
TP Systèmes d’exploitation 2 ISSAT de Mateur

8. Créer des fichiers vides : touch


Pour vos tests, vous pouvez avoir besoin de créer des fichiers vides. Une commande pratique
pour cela est touch. Utilisée avec uniquement le nom d’un fichier en argument, elle crée un
fichier avec une taille nulle.
$ touch fichtest
$ ls -l fichtest
-rw-r--r-- 1 etudiantissatm users 0 jan 20 15:13 fichtest

9. Lister les fichiers et les répertoires : ls


La commande ls permet de lister le contenu d’un répertoire. Elle supporte plusieurs paramètres
dont voici les plus pertinents.
Paramètre Signification
-l Pour chaque fichier ou dossier, fournit des informations détaillées.
-a Les fichiers cachés sont affichés (ils commencent par un point).
-d Sur un répertoire, précise le répertoire lui-même et non son contenu.
-F Rajoute un caractère à la fin du nom pour spécifier le type : / pour un répertoire,
* pour un exécutable, @ pour un lien symbolique, etc.
-R Si la commande rencontre des répertoires, elle rentre dans les sous-répertoires,
soussous-répertoires, etc., de manière récursive.
-t La sortie est triée par date de modification du plus récent au plus ancien. Cette
date est affichée.
-c Affiche / tri (avec -t) par date de changement d’état du fichier.
-u Affiche / tri (avec -t) par date d’accès du fichier.
-r L’ordre de sortie est inversé.
-i Affiche l’inode du fichier.
-C L’affichage est sur plusieurs colonnes (par défaut).
-1 L’affichage est sur une seule colonne.

Le paramètre qui vous fournit le plus d’informations est le -l : il donne un certain nombre de
détails sur les fichiers.
$ ls -l
total 4568
-rw-r--r-- 1 etudiantissatm users 69120 sep 3 fich1
-rw-r--r-- 1 etudiantissatm users 9632 sep 3 fich2
-rw-r--r-- 1 etudiantissatm users 6849 nov 17 fich3
...

©Radhi YAZIDI 4
TP Systèmes d’exploitation 2 ISSAT de Mateur

10. Signification des droits


Droit Général Signification
r Readable (lecture).
w Writable (écriture).
x Executable (exécutable comme
programme).
Droit du Fichier normal
r Le contenu du fichier peut être lu,
chargé en mémoire, visualisé, recopié.
w Le contenu du fichier peut être
modifié, on peut écrire dedans. La
suppression n’est pas forcément liée à
ce droit (voir droits sur répertoire).
x Le fichier peut être exécuté depuis la
ligne de commande, s’il s’agit soit
d’un programme binaire (compilé),
soit d’un script (shell, perl...).
Droit du Répertoire
r Les éléments du répertoire (catalogue)
sont accessibles en lecture. Sans cette
autorisation, ls et les critères de filtre
sur le répertoire et son contenu ne sont
pas possibles. L’accès individuel à un
fichier reste possible si vous
connaissez son chemin.
w Les éléments du répertoire (catalogue)
sont modifiables et il est possible de
créer, renommer et supprimer des
fichiers dans ce répertoire. C’est ce
droit qui contrôle l’autorisation de
suppression d’un fichier.
x Le catalogue peut être accédé par CD
et listé. Sans cette autorisation il est
impossible d’accéder au répertoire et
d’agir sur son contenu qui devient
verrouillé.

11. Wildcards : caractères de substitution


Lors de l’utilisation de commandes en rapport avec le système de fichier, il peut devenir
intéressant de filtrer la sortie de noms de fichiers à l’aide de certains critères, par exemple avec
la commande ls. Au lieu d’afficher toute la liste des fichiers, on peut filtrer l’affichage à l’aide
de divers critères et caractères spéciaux.
Caractère(s) Rôle
* Remplace une chaîne de longueur variable, même vide.
? Remplace un caractère unique quelconque.
[...] Une série ou une plage de caractères.

©Radhi YAZIDI 5
TP Systèmes d’exploitation 2 ISSAT de Mateur

[a-b] Un caractère parmi la plage indiquée (de a à b inclus).


[!...] Inversion de la recherche.
[^...] Idem.

Soit le contenu suivant :


$ ls
afic afic2 bfic bfic2 cfic cfic2 dfic dfic2
afic1 afic3 bfic1 bfic3 cfic1 cfic3 dfic1 dfic3

Vous obtenez tous les fichiers commençant par a :


$ ls a*
afic1 afic2

12. Déplacer et renommer un fichier


La commande mv (move) permet de déplacer, de renommer un fichier, ou les deux en même
temps. Elle fonctionne comme la commande cp. Les paramètres -f et -i ont le même effet. Avec
les trois commandes mv successives suivantes :
• txt1 est renommé en [Link]
• txt2 est déplacé dans rep1
• txt3 est déplacé dans rep1 et renommé en [Link].
$ touch txt1 txt2 txt3
$ mv txt1 [Link]
$ mv txt2 rep1/txt2
$ mv txt3 rep1/[Link]
Notez l’existence du paramètre -u : si le fichier de destination existe avec une date plus récente,
cela vous évite de l’écraser.

13. Supprimer un fichier ou une arborescence


La commande rm (remove) supprime un ou plusieurs fichiers, et éventuellement une
arborescence complète, suivant les options. La suppression est définitive.
rm [Options] fic1 [fic2...]

Les options sont classiques mais vu la particularité et la dangerosité de la commande, il est bon
de faire un rappel.
Paramètre Signification
-i La commande demandera une confirmation pour chacun des fichiers à
supprimer.
-r Le paramètre suivant attendu est un répertoire. Dans ce cas, la suppression
est récursive : tous les niveaux inférieurs sont supprimés, les répertoires
comme les fichiers.
-f Force la suppression.

©Radhi YAZIDI 6
TP Systèmes d’exploitation 2 ISSAT de Mateur

Dans l’ordre, les commandes suivantes suppriment un simple fichier, suppriment un répertoire,
et une arborescence de manière forcée :
$ rm fic1
$ rm -r rep1
$ rm -rf /home/public/depots

L’utilisation combinée des paramètres -r et -f bien que très utile et pratique est très dangereuse,
notamment en tant que root. Aucune confirmation ne vous est demandée.

14. Modification des droits


Lors de sa création, un fichier ou un répertoire dispose de droits par défaut. Utilisez la
commande chmod (change mode) pour modifier les droits sur un fichier ou un répertoire. Il
existe deux méthodes pour modifier ces droits : par la forme symbolique et par la base 8. Seul
le propriétaire d’un fichier peut en modifier les droits (plus l’administrateur système). Le
paramètre -R change les droits de manière récursive.
a. Par symboles
La syntaxe est la suivante :
chmod modifications Fic1 [Fic2...]

S’il faut modifier les droits de l’utilisateur, utilisez le caractère u, pour les droits du groupe le
caractère g, pour le reste du monde le caractère o et pour tous le caractère a.
Pour ajouter des droits, on utilise le caractère +, pour en retirer le caractère – et pour ne pas
tenir compte des paramètres précédents le caractère =.
Enfin, le droit d’accès par lui-même : r, w ou x.
Vous pouvez séparer les modifications par des virgules et cumuler plusieurs droits dans une
même commande.
$ ls -l
-rw-r--r-- 1 etudiantissatm users 0 mar 21 22:03 fic1
-rw-r--r-- 1 etudiantissatm users 0 mar 21 22:03 fic2
-rw-r--r-- 1 etudiantissatm users 0 mar 21 22:03 fic3
$ chmod g+w fic1
$ ls -l fic1
-rw-rw-r-- 1 etudiantissatm users 0 mar 21 22:03 fic1
$ chmod u=rwx,g=x,o=rw fic2
$ ls -l fic2
-rwx--xrw- 1 etudiantissatm users 0 mar 21 22:03 fic2
$ chmod o-r fic3
$ ls -l fic3
-rw-r----- 1 etudiantissatm users 0 mar 21 22:03 fic3

©Radhi YAZIDI 7
TP Systèmes d’exploitation 2 ISSAT de Mateur

Si vous voulez supprimer tous les droits, ne précisez rien après le signe = :
$chmod o= fic2
$ ls -l fic2
-rwx--x--- 1 etudiantissatm users 0 mar 21 22:03 fic2

b. Par base 8
La syntaxe est identique à celle des symboles. À chaque droit correspond une valeur octale,
positionnelle et cumulable. Pour encoder trois droits rwx, il faut trois bits, chacun prenant la
valeur 0 ou 1 selon que le droit est absent ou présent. 23=8, d’où une notation octale possible.
• Le r vaut 4.
• Le w vaut 2.
• Le x vaut 1.

15. Masque des droits


a. Restreindre des droits automatiquement
Lors de la création d’un fichier ou d’un répertoire, des droits leur sont automatiquement
assignés. Généralement, c’est rw-r--r-- (644) pour un fichier et rwxr-xr-x (755) pour un
répertoire. Ces valeurs sont contrôlées par un masque, lui-même modifiable par la commande
umask. La commande umask prend comme paramètre une valeur octale dont chaque droit
individuel sera supprimé des droits d’accès maximum du fichier ou du répertoire.
• Par défaut, tous les fichiers sont créés avec les droits 666 (rw-rw-rw-).
• Par défaut tous les répertoires sont créés avec les droits 777 (rwxrwxrwx).
• Puis le masque est appliqué.
• Le masque est le même pour l’ensemble des fichiers.
• Un masque ne modifie pas les droits des fichiers existants, mais seulement ceux des nouveaux
fichiers.
Les droits par défaut (maximum) des fichiers et des répertoires ne sont pas identiques. C’est
logique puisque le droit x permet de rentrer dans un répertoire, il est normal que celui-ci en
dispose par défaut. Ce même droit est inutile par défaut sur les fichiers : seule une très petite
minorité des fichiers sont des scripts et des programmes binaires.
Le masque par défaut est 022, soit ----w--w-. Pour obtenir cette valeur, tapez umask sans
paramètre.
$ umask
0022

©Radhi YAZIDI 8
TP Systèmes d’exploitation 2 ISSAT de Mateur

b. Calcul de masque
Pour un fichier
Défaut rw-rw-rw- (666)
Retirer ----w--w- (022)
Reste rw-r--r-- (644)
Pour un répertoire
Défaut rwxrwxrwx (777)
Retirer ----w--w- (022)
Reste rwxr-xr-x (755)
Notez qu’appliquer un masque n’est pas soustraire, mais supprimer des droits de ceux par
défaut, droit par droit. Par exemple :
Défaut rw-rw-rw- (666)
Retirer ----wxrwx (037)
Reste rw-r (640)
Et non 629, ce qui est impossible en octal...

©Radhi YAZIDI 9
TP Systèmes d’exploitation 2 ISSAT de Mateur

Activités

Activité 1
A l’aide du manuel (man), expliquer ce que font les commandes suivantes :
logname, id, ls, who, pwd, cat, date, wc, cal, which, grep

Activité 2
Créez un répertoire « rep » et répondez aux questions suivantes :
 Dans « rep » vous créez le répertoire « rep1 » et les fichiers « c », « a » et « b ».
 Dans « rep1 » vous créez le répertoire « rep2 » et les fichiers « a1 », « b1 » et « c1 ».
 Dans « rep2 » vous créez le répertoire « rep3 » et les fichiers « a2 », « b2 » et « c2 ».
 Enfin dans « rep3 » vous créez le fichier « a3 ».

Donner les résultats de : ls ; ls . ; ls .. ; ls -a ; ls -a . ; ls -a ..

Activité 3
 Créez un répertoire « temp1 » sous le répertoire de travail.
 Créez un fichier « test1 » sous le répertoire « temp1 ».
 Créez un nouveau répertoire « temp2 ».
 Copiez le fichier « test1 » vers le répertoire « temp2 »
 Supprimez le répertoire « temp1 ».
 A l’aide d’une seule directive, dupliquez « temp2 » sur un nouveau répertoire « trav »,
tout en se débarrassant de « temp2 ».
 Renommez le fichier « test1 » en lui donnant « virus » comme nouveau nom.
 Trouvez votre login, votre nom du groupe, votre uid et votre gid. Pour cela consultez les
fichiers « /etc/group » et « /etc/passwd ».

Activité 4
Créez un nouveau fichier appelé « droits ». Placez les valeurs de ses droits sur les valeurs
suivantes (utilisez aussi bien la forme symbolique que l’octale) :

 rw- rw- r--


 rw- -w- ---
 rwx r-x --x
 r-x -w- --x

©Radhi YAZIDI 10
TP Systèmes d’exploitation 2 ISSAT de Mateur

Activité 5
Soit l’arborescence suivante :

AA

AB AC

AD AE AF AG

1. Créer cette arborescence sous votre répertoire de connexion.


2. Déplacez-vous sous le répertoire AD, puis y créer un fichier fad.
3. En supposant que vous êtes toujours placé sous le répertoire AD, créez un fichier fag
sous le répertoire AG.
4. Déplacez-vous sous le répertoire AG.
5. Copier le fichier fag sous AB sous le nom fab.
6. En étant toujours positionné dans le répertoire AG, renommez le fichier fab en
fagcopie.
7. Déplacez le répertoire AG sous AA.

Activité 6
1. Sous votre répertoire de connexion, créez un répertoire test.
2. Dans ce répertoire test, créez les fichiers vides suivants : Unix, Umix, unix3, aloi, unix1,
unix2, API, XAO, SEM1, SEM2, xa3.
3. Se déplacer dans test et afficher la liste des fichiers :
 Se composant de 4 lettres,
 Commençant par U,
 Se terminant par un chiffre,
 Se terminant par 1 ou 2,
 Ne se terminant ni par 1 ni par 2,
 Contenant n ou m en 2ème position,
 Contenant un chiffre dans une position quelconque.

©Radhi YAZIDI 11

Vous aimerez peut-être aussi