Travaux Pratiques N° 2
Exercice 1 Le système de fichiers d'Unix
1.1 Les types de fichiers
Les différents types de fichiers existants sous Unix sont : fichier ordinaire (-), fichier
répertoire (d), périphérique accédé en mode caractère (c), en mode bloc (b), tube (p),
lien symbolique (l), socket (s). Le caractère indiqué entre parenthèses est celui indiqué
au début de chaque ligne d'un ls.
Parcourir l'arborescence du système de fichiers et donner des exemples des différents
types de fichier
1.2 Les droits d'accès
Unix possède des mécanismes permettant au propriétaire d'un fichier d'en
protéger le contenu en définissant des droits d'accès :
autorisation de lecture (r)
autorisation d'écriture (w)
autorisation d'exécution ou d'accès (pour un répertoire) (x)
Pour permettre le partage de fichiers (Unix est multi-utilisateur), Unix définit la
notion de groupes d'utilisateurs. Ainsi il est possible de restreindre l'accès d'un fichier a
tel ou tel groupe.
Expliquer en détail les résultats fournis par un ls -al
Pour savoir à quels groupes appartient un utilisateur, tapez groups nom-user
Pour changer les droits d'accès d'un fichier, il vous faudra déjà être propriétaire de ce
fichier…
Donner la commande Unix qui permet de chanager les droit d’accès d’un fichier.
Donner la syntaxe complète de cette commande en consultant le manuelle d’Unix
Donner un exemple d’application
Créer les alias suivants (à rajouter ensuite dans votre environnement) :
exe pour rendre un fichier exécutable par son propriétaire
visible pour rendre un fichier lisible par tous
invisible pour annuler l'opération précédente
Azizi Ridha Page 5
deprotege pour rendre un fichier modifiable par son propriétaire
protege pour annuler cette opération
A chaque fois que vous créez un fichier, celui-ci possède certains droits par défauts.
La commande umask permet de fixer ces droits. Sa syntaxe est umask complement-
permissions où l'argument n'est pas la représentation octale des droits mais leur
complément !
Ex:
umask 000 donnera tous les droits à tout le monde pour tous vos nouveaux fichiers… (à
éviter)
umask 027 donnera tous les droits au propriétaire, les droits de lecture et d'exécution
au groupe et aucun droit aux autres.
La valeur de umask que vous possédez (tapez juste umask) est réglée dans le fichier de
configuration /etc/profile. Que faut-il faire pour que vous en changiez
automatiquement à chaque connexion ?
1.3 Les i-nodes
Il est possible, grâce à ls -i de connaître le numéro d'i-node d'un fichier. La commande stat
donne aussi toutes les informations de l'i-node
Noter les numéros d'i-node des fichiers . et .. de votre répertoire d'origine. Se déplacer
dans le répertoire TP2 et faites la même opération. Conclusion ?
Noter le numéro d'i-node d'un fichier ordinaire (passwd) de votre répertoire. copiez
ensuite ce fichier sous un autre nom (dans le même répertoire : passwd2, puis dans le
répertoire .. passdwd3). Observer les numéros d'i-node. Déplacez ensuite passwd3 dans
le répertoire TP2 (déplacement, et non copie). Re-observer les numéros d'i-node.
Conclusion ?
1.4 Les liens
La commande ln permet de créer des fichiers partagés.
Taper ln passwd passwd-bis. Quel est le type du fichier passwd-bis.? Quel est son
numéro d'i-node ? Modifier l'un des deux fichiers. Que se passe-t-il sur l'autre ? Effacer le
fichier passwd. Conclusion?
Taper ln -s passwd2 passwd2-bis. Quel est le type du fichier passwd2-bis.? Quel est son
numéro d'i-node ? Modifier l'un des deux fichiers. Que se passe-t-il sur l'autre ? Effacer le
Azizi Ridha Page 6
fichier passwd2. Conclusion? Créer un nouveau fichier passwd2 contenant ce que vous
voulez. Editer le fichier passwd2-bis. Conclusion?
Exercice 2
1- Créer l’arborescence suivante sur votre compte :
Votre compte
Formation
INFO Stage Confidentiel
Cours TP Examen Examen Projet
2- Créer un dossier Travail dans la racine de l’arborescence ( votre compte )
3- Créer un fichier texte [Link] vide le dans répertoire Travail
4- Placer vous sous votre compte :
5- Afficher le contenu de la racine du système ( / )
6- Déduire la taille occupée du disque, l’espace mémoire restant et la capacité totale
7- Rechercher tous les dossiers et les fichiers qui commencent par la lettre e
8- Rechercher tous les fichiers qui ont une extension .txt
9- Effectuer une copie de [Link] dans le dossier Travail sous le non [Link]
Exercice 3
1- Créer l’arborescence suivante sur votre compte :
Azizi Ridha Page 7
VotreCompte
Travail1
INFO Travail Math
Algo SE Algèbre Analyse
2- Accéder au répertoire Algèbre et vérifier qu’il est vide
1- Afficher le contenu de SE
2- Copier le fichier [Link] vers SE
3- Copier le fichier [Link] vers le fichier [Link]
4- Copier les deux fichiers [Link] et [Link] vers Algo
5- Déplacer le fichier [Link] vers SE
6- Supprimer le dossier Algo
7- Copier le fichier [Link] vers le dossier Travail sous Travail1
8- Renommer le deuxième répertoire Travail par TRV
9- Afficher le contenu de l’arborescence VotreCompte/Travail
10- Supprimer l’arborescence Math
Azizi Ridha Page 8
Exercice 4
1- Donner la liste des commandes Unix qui permet de créer l’arborescence suivante :
INFOI3.1
«F3» «Fin » «SEC3»
«G1» «G2» «G3» «F1» «F2»
[Link]
[Link]
[Link]
[Link] [Link]
[Link] [Link]
SAMIRA..XLS [Link]
[Link] [Link]
[Link] [Link]
Donner la séquence de commandes nécessaire pour réaliser les opérations suivantes :
Chacune des opérations 1, 2,3, 4, 5,6 doit être réalisé grâce à une seule commande. Les
commandes 7 et 8 peuvent être réalisé dans plusieurs commandes.
Au niveau de chaque commande Vous devez préciser votre répertoire courant
1- Copier tous les fichiers du répertoire F1 dont le nom contient la chaîne «AM», dans le
répertoire ; G1.
2- Copier tous le reste des fichiers du répertoire F1 dans le répertoire G2.
3- Copier tous les fichiers du répertoire F2 dont le nom commence par la chaîne de caractère
«NA» dans le répertoire G1.
4- Copier le reste des fichiers du répertoire F2 dans le répertoire G2.
5- Créer un répertoire G3 dans le répertoire Fin.
6- Copier tous les fichiers du répertoire F3 dans le répertoire G3.
7- Supprimer le contenu du répertoire F3.
8- Supprimer le répertoire SEC3.
9- Afficher la structure définitive.
Exercice N°5
Azizi Ridha Page 9
1. Créer l’arborescence ci-dessous.
2. Créer un fichier texte vide nommé essai dans le répertoire TP
3. Renommer le fichier essai en essai1.
4. Déplacer le répertoire TP vers le répertoire FSM.
5. Renommer le répertoire FSEG en ENIS.
6. Copier les fichiers d’extension .exe du répertoire racine (/) dans le répertoire ISET.
7. Déplacer les répertoires ISET et ENIS vers le répertoire FSM.
8. Copier le répertoire FSM (avec tout son contenu) dans le répertoire /home/user.
9. Schématiser l’arborescence.
10. Supprimer les répertoires RECT et FSM.
/home/user1
RECT TP
FSM ISET FSEG
Exercice N°7
I. Droits d’accès rwx pour les fichiers ordinaires
Interpréter le résultat (relatif aux droits d’accès) pour chaque question.
1. Créer un fichier texte sous le répertoire de connexion et nommer le [Link]
2. Vérifier que les droits d’accès du propriétaire de [Link] sont égaux à rw-
3. Afficher le contenu du fichier [Link]
4. Modifier le contenu du fichier [Link]
5. Changer les droits d’accès de [Link] pour que le propriétaire aura r—
6. Refaire I.3 et I.4
7. Changer les droits d’accès de [Link] pour que le propriétaire aura -w-
8. Refaire I.6
Azizi Ridha Page 10
9. Taper les lignes des commandes suivantes et interpréter les résultats
$cat >> [Link]
une ligne en plus
Ctrl D
$chmod u+r [Link]
$cat [Link]
…
II. Droits d’accès rwx pour les répertoires
Interpréter le résultat (relatif aux droits d’accès) pour chaque question.
1. Créer un nouveau répertoire r1 sous le répertoire de connexion.
2. Vérifier que les droits d’accès du propriétaire de r1 sont égaux à rwx
3. Créer les nouveaux fichiers [Link], [Link], [Link], [Link] et les nouveaux répertoires r11,
r12, r13 et r14 sous r1
4. Lister le contenu de r1
5. Supprimer le fichier [Link] et le répertoire r11 du répertoire r1
6. Changer les droits d’accès de r1 pour que le propriétaire aura r-x
7. Lister le contenu de r1
8. Supprimer le fichier [Link] et le répertoire r12 du répertoire r1
9. Changer les droits d’accès de r1 pour que le propriétaire aura -wx
10. Lister le contenu de r1
11. Supprimer le fichier [Link] et le répertoire r13 du répertoire r1
12. Changer les droits d’accès de r1 pour que le propriétaire aura rw-
13. Lister le contenu de r1
14. Supprimer le fichier [Link] et le répertoire r14 du répertoire r1
15. Changer les droits d’accès de r1, [Link] et r15 de la manière suivante :
r1 --x
[Link] r—
r15 -wx
16. Exécuter la ligne de commandes suivante :
cp r1/[Link] r1/r15/
17. Déterminer les droits d’accès du répertoire de connexion
Azizi Ridha Page 11
III. Droits d’accès (aux fichiers ordinaires) du propriétaire, du groupe et des autres.
Soient les utilisateurs formels g1u1 et g1u2 du groupe g1 et g2u1 et g2u2 du groupe g2
Ouvrir 3 sessions avec les noms de login g1u1, g1u2 et g2u1.
1. Donner les commandes qui permettent de savoir:
- les droits d’accès relatifs à un fichier,
- les utilisateurs connectés sur la machine et
- l’identité de l’utilisateur courant.
2. Vérifier à partir des fichiers /etc/passwd et /etc/groupe les groupes des utilisateurs g1u1,
g1u2, g2u1 et g2u2.
3. Essayer de modifier le contenu des fichiers /etc/passwd et /etc/group.
4. g1u1: Créer le fichier F dans le répertoire de connexion et modifier ses droits d’accès de
sorte qu’ils seront égaux à rw- r-- ---
5. g1u2: Afficher le contenu du fichier F (créer par g1u1) et essayer de le modifier.
6. g2u1: refaire 5.
7. g1u2: Copier le fichier F (de l’utilisateur g1u1) dans le compte de g1u2
8. g2u1: Copier le fichier F (de l’utilisateur g1u1) dans le compte de g2u1
IV. Droits d’accès (aux répertoires) du propriétaire, du groupe et des autres.
1. g1u1: Voir les droits d’accès du répertoire de connexion et interpréter
2. g1u2: Essayer de supprimer le fichier F (qui se trouve dans le compte de l’utilisateur
g1u1)et de créer un autre fichier G dans le compte de l’utilisateur g1u1.
3. g2u1: Refaire 2.
4. g1u1: Créer le répertoire r1 sous le répertoire de connexion puis r11 et r12 sous r1 et
modifier les droits d’accès de r1 sous la forme: rwx r-x ---
5. g1u2: Essayer de se déplacer dans la sous arborescence de r1 (qui se trouve dans le
compte de g1u1) et de créer des fichiers.
6. g2u1: refaire 5.
7. Déterminer les droits d’accès minimum nécessaire pour:
- créer un fichier,
- copier un fichier,
- renommer un fichier,
- lier un fichier,
Azizi Ridha Page 12
- lister le contenu d’un répertoire et
- créer un répertoire.
V. Droits d’accès sur les fichiers spéciaux
1. Déterminer les droits d’accès relatifs aux fichiers spéciaux qui suivent :
- /dev/lp*
- /dev/tty*
- /dev/hda*
- /dev/mouse*
Exercice N° 8
1- Essayer de supprimer ou de modifier le fichier /etc/passwd. Que se passe-t-il ?
Expliquer la situation à l'aide de la commande ls -l
2- A l'aide de la commande id, vérifier votre identité et le(s) groupe(s) auquel vous
appartenez.
3- Créer un petit fichier texte (de contenu quelconque), qui soit lisible par tout le
monde, mais pas modifiable (même pas par vous).
4- Créer un répertoire nommé secret, dont le contenu soit visible uniquement par vous
même. Les fichiers placés dans ce répertoire sont-ils lisibles par d'autres membres de
votre groupe ?
5- Créer un répertoire nommé connaisseurs tel que les autres utilisateurs ne puissent
pas lister son contenu mais puissent lire les fichiers qui y sont placés. On obtiendra :
$ ls connaisseurs
ls : connaisseurs: Permission denied
$ cat connaisseurs/toto
<...le contenu du fichier toto (s'il existe)...>
6- Chercher dans le répertoire /usr/bin trois exemples de commandes ayant la
permission SUID. De quel genre de commande s'agit-il ?
Azizi Ridha Page 13