TP1 : environnement Unix - LISIC - Université du Littoral Côte d`Opale

TP 1 – Prise en main de l’environnement Linux
Le but de ce premier TP est de vous rappeler et enrichir vos notions de Linux. Toutes les
commandes et les réponses aux questions seront mises dans un fichier que vous rendrez à la fin
de la séance.
1 Ouverture de session
Se connecter est évidemment la première chose à faire. Lorsque vous démarrez l’ordinateur,
choisissez Linux comme système d’exploitation. Le système démarre et affiche une fenêtre
vous invitant à taper votre identifiant (login) et votre mot de passe (password), ce qui vous
permet d’ouvrir une session.
2 Découverte de l’interface graphique
Une fois votre nom d’utilisateur et mot de passe vérifiés, le gestionnaire de bureau, le
programme qui gère l’affichage des menus et des fenêtres (KDE ou Gnome) apparaît. Le menu
principal permet de lancer des applications, d’accéder aux outils de paramétrage du système ou
encore de fermer la session ou d’éteindre l’ordinateur.
Note : la plupart des programmes ainsi que le menu principal disposent d’une entrée «aide» (help)
permettant d’accéder à l’aide en ligne. Si vous êtes coincé(e), n’hésitez pas à la consulter.
Exercice 1 – Gestionnaire de fichiers.
Ouvrez le gestionnaire de fichiers de XFCE.
Vous créerez un répertoire pour les Tps système que vous nommerez Essai et que vous
renommerez ensuite en Système.
Ensuite vous créerez un sous-répertoire que vous nommerez Tp1.
Exercice 2 – Créer un fichier texte.
Lancez un éditeur de texte (emacs par exemple), et rédigez un texte d’au plus 4 lignes vous
présentant. Sauvegardez le fichier dans votre répertoire Tp1, sous le nom presentation.txt.
Fermez le fichier. Ouvrez-le à nouveau et rajoutez-y le texte «Étudiant en Licence dans le
groupe X à l’Université du Littoral Côte d’Opale». Sauvegardez puis fermez l’éditeur de texte.
3 Découverte du shell
Une autre façon d’interagir avec le système est d’utiliser un terminal (ou console) dans lequel
vous pourrez taper des commandes (qui ne sont rien d’autre que des programmes).
Le programme avec lequel vous interagissez pour exécuter les commandes s’appelle le shell.
Celui-ci se contente d’attendre que vous lui demandiez d’exécuter une commande pour le faire.
Le shell vous indique qu’il est prêt en affichant une invite (ou prompt), en général le caractère
dollar ($) ou supérieur (>), en début de ligne. On peut distinguer diverses sortes de
commandes :
– des commandes « simples » permettant souvent de manipuler des fichiers sur le disque dur et
qui affichent leur résultat directement dans le shell (ls, cp, mv, …). Ces commandes,
puisqu’elles utilisent le shell pour leurs interactions, ne peuvent être exécutées en dehors d’un
terminal ;
– des commandes plus sophistiquées qui n’utilisent pas le shell (emacs, xcalc, …). Ces
programmes peuvent également être exécutés à l’aide d’une icône de l’interface graphique ;
– des commandes internes au shell (built-in commands) qui permettent d’utiliser certaines
facilités offertes par le shell (alias, exit, …).
Les premières commandes
•whoami :Commençons par une commande simple qui vous renvoie votre identifiant.
•who : Permet de connaître la liste de personnes actuellement connectées sur la machine.
Évidemment, pour l’instant vous êtes seul sur votre machine ! À noter que la commande w (pour what)
est plus complète et vous dit plus précisément qui fait quoi sur la machine.
•man : Le manuel en ligne pour toutes les commandes accessibles depuis le terminal. Il
suffit de taper man ma_commande pour accéder à la description complète de ma_commande.
•cat, less : La commande cat mon_fichier permet d’afficher en une seule fois le contenu
entier du fichier texte mon_fichier. Pour des textes plus longs, on utilise less ou more de
manière à avoir le texte page par page.
Exercice 3 – Qui, quoi . . .
1.Testez les commandes who, whoami, et w et indiquez ce que représentent les champs : IDLE,
JCPU, PCPU, WHAT et TTY.
2.Ouvrez la page de manuel de la commande man en tapant man who. Vous pouvez faire défiler
le texte avec les flèches haut et bas, ou les touches page up et page down. Pour sortir, pressez la
touche q. Ensuite donner la ligne de commande permettant d'afficher qui est connecté et
l'intitulé des informations affichées. Affichez la version de cette commande.
Exercice 4 – Nom relatif, nom absolu.
En utilisant la commande cat affichez le contenu de votre fichier presentation.txt en utilisant :
1.le nom absolu du fichier : on part de la racine de l'arborescence
2.son nom relatif : on donne le chemin d'accès par rapport à l'endroit de l'arborescence où on se
situe
Exercice 5 – Interrompre un programme, le symbole &
Attention, exercice utile !
1.Ouvrez le fichier texte presentation.txt avec l’éditeur emacs en tapant la commande emacs
dans votre shell.
2.Une fois l’éditeur ouvert, revenez sur le terminal et tapez une commande (par exemple
whoami). Que se passe-t-il ?
3.Répétez les étapes 1 et 2, en ajoutant cette fois le caractère & en fin de commande (soit emacs
nom du fichier &). Voyez-vous une différence ? Que fait donc le caractère &.
Fichiers et répertoires
A l’aide de quelques commandes de base, vous serez en mesure d’effectuer toutes les opérations
utiles sur le système de fichiers (parcours, copie, déplacement, etc.) par l’intermédiaire de la
ligne de commande.
•pwd : cette commande, utilisée sans argument, vous indique dans quel répertoire vous vous
trouvez actuellement (répertoire courant, ou working directory). A l’ouverture d’un nouveau
terminal, le répertoire courant est toujours votre répertoire personnel.
•cd : la commande cd rep change le répertoire courant en le répertoire rep. Elle permet de se
déplacer dans l’arborescence. Utilisée seule ou avec l’argument ~, elle vous ramène dans votre
répertoire personnel. Utilisée avec l’argument « .. » , elle vous fait remonter d’un niveau dans
l’arborescence (au répertoire parent).
•ls : Cette commande affiche le contenu du répertoire courant, fichiers et sous-répertoires.
•mkdir : la commande mkdir rep crée un répertoire vide rep. Si ce répertoire existe déjà vous
obtiendrez bien sûr une erreur.
•touch : Taper la commande touch fic permet de créer un fichier vierge (de taille 0) appelé fic.
•cp : la commande cp fic1 fic2 crée un nouveau fichier identique à fic1 appelé fic2. On peut
aussi écrire cp fic1 . . . ficn dest qui copie les fichiers fic1 à ficn dans le répertoire dest.
Par défaut cp ne copie que des fichiers. L’option –r permet de forcer cp à copier les
répertoires et sous-répertoires de ce qui lui est donné en argument (autrement dit à copier
récursivement).
•mv : fonctionne de manière similaire à cp, mais elle déplace les fichiers concernés plutôt
que de les recopier.
•rm : permet de supprimer des fichiers
Exercice 6 – Créer une arborescence
À partir de votre répertoire Système reproduisez l’arborescence suivante, en sachant que les
répertoires commencent par des majuscules et les fichiers par des minuscules :
Tp1
Système
Perso
Test
fic1.c
fic2
fic3.txt
Tp
presentation.txt
Un moyen simple de contrôler que vous n’avez rien oublié est de taper ls –R depuis votre répertoire
personnel. Dans cette commande, -R est appelée une option. Pouvez-vous expliquer son rôle ?
Exercice 7 – Copie et suppression de fichiers
1.Créez une copie de presentation.txt appelée .plan (le point est voulu) dans votre répertoire
Tp1 (au même niveau que Test)
2.Supprimez ensuite le fichier presentation.txt à l’aide de la commande rm.
3.Affichez le contenu de votre répertoire personnel avec ls. Que constatez-vous ? Réessayez
avec ls –a. Concluez. On appelle « .plan » un fichier caché.
4.Copiez le répertoire Tp dans le répertoire Perso avec le nom Cours
5.À partir de votre répertoire maison, tentez de détruire le répertoire Test puis le
répertoire Cours à l’aide de rmdir. Que se passe-t-il ? Remédiez au problème en utilisant
la commande rm et la bonne option (pensez à utiliser la commande man pour voir les
différentes options possibles pour rm).
6.Expérimentez la commande mv en déplaçant des fichiers dans votre arborescence.
Essayez également de déplacer un répertoire. Que doit-on faire pour que cela
fonctionne?
4 Aller un peu plus loin
Manipuler des ensembles de fichiers
Il existe un certain nombre de symboles spéciaux appelés Jokers ou wildcards ou
métacaractères, qui permettent de désigner plusieurs fichiers à la fois. Il en existe plusieurs,
mais les principaux sont :
* : dans un nom de fichier, représente n’importe quelle suite de zéro, un ou plusieurs
symboles ;
? : représente exactement un symbole quelconque.
Ainsi, écrire tp?.txt désigne tp1.txt, tpu.txt mais pas tplicence.txt , et truc* désigne trucage, trucmuche,
mais pas struck.
Exercice 8
1.Affichez la liste de tous les fichiers dans le répertoire /usr/bin dont le nom commence
par k et contient exactement 6 caractères.
2.Affichez la liste de tous les fichiers dont l’extension est .so dans le répertoire /usr/lib
(note : ces fichiers sont des bibliothèques).
Utiliser l’historique
Il arrive parfois que l’on ait à utiliser une même commande plusieurs fois, ou que l’on
souhaite corriger une commande tapée précédemment. A cette fin, sur la plupart des shells
modernes il existe un ensemble de «raccourcis» permettant d’accéder à l’historique des
commandes.
Exercice 9 — Naviguer dans l’historique
En utilisant les flèches haut et bas, on peut faire défiler les commandes précédentes, de
la plus récente à la plus ancienne. Utilisez ce mécanisme pour tester les commandes de
l’exercice précédent dans d’autres répertoires.
Avec les flèches gauche et droite, vous pouvez également corriger un détail de chaque
ligne de commande, ce qui peut être plus rapide que de retaper une longue commande
presque identique.
Exercice 10 — Visualiser l’historique
La commande history affiche une liste des commandes récentes, chacune précédée d’un
numéro. En tapant !n où n est un numéro dans l’historique, on rappelle la commande
correspondante.
Rechercher de nouvelles options
Les exercices suivants nécessitent la lecture du manuel avec la commande man.
Essayez de prendre l’habitude de trouver par vous-même les informations dont vous avez
besoin.
Exercice 11 — Rendre le listing plus lisible.
Par défaut, le résultat de la commande ls est un peu aride. Une option permet de colorer
l’affichage pour repérer plus rapidement le type de fichiers présents dans un répertoire.
Quelle est cette option ?
Exercice 1 2 — Confirmation avant suppression.
Par défaut, rm ne demande pas de confirmation lorsque vous tentez de supprimer un
fichier. Ceci peut se révéler assez dangereux. Trouvez l’option qui permet de demandez
confirmation.
5 Personnaliser son environnement
Les alias
Certaines commandes sont plutôt longues à taper, notamment lorsqu’il y a des options. L a
commande alias permet de palier à cet inconvénient en créant ses propres commandes :
•Utilisation : alias ma_commande=commande_complète. Attention, si commande_complète
contient des espaces (par exemple, s’il y a des options), il faut alors l’encadrer avec des
guillemets. Remarque : la commande unalias permettra de supprimer l'alias créé.
•alias permet aussi de donner une autre signification à une commande existante. On
utilise en général cette caractéristique pour rajouter des options systématiquement à une
commande
•alias (sans argument) liste tous les raccourcis.
Exercice 1 3 — Mes propres commandes
Créez une commande « la » qui liste tous les fichiers d’un répertoire (y compris les fichiers
cachés commençant par un point).
Exercice 1 4 — Changez une commande
Changez le fonctionnement de la commande rm pour qu’elle demande systématiquement
confirmation lors d’une suppression. Changez ensuite le fonctionnement de la commande
ls afin d’utiliser systématiquement l’affichage coloré.
Exercice 1 5 — Effectivité des changements
Testez les raccourcis que vous venez de créer. Puis ouvrez un nouveau terminal et
testez-les dans celui-ci. Que constatez vous ?
Les fichiers de configuration
Le problème avec la commande alias est que dès qu’on se déconnecte, tout est à refaire.
Pour stocker ce genre de paramètres une bonne fois pour toute, on utilise des fichiers
de configurations liés au shell. Pour le shell bash , ces fichiers sont .bash_profile et .bashrc.
Ce sont des fichiers texte contenant des commandes qui sont lues au moment de
l’ouverture d’un terminal. Tout changement dans ces fichiers ne sera donc pris en compte
que si on relance le shell (via l’ouverture d’un nouveau terminal par exemple).
Exercice 1 6 — Mes propres fichiers de configuration
Éditez le fichier .bashrc (s'il n'existe pas créez-le) avec emacs pour rajouter les commandes
des exercices précédents. Pensez à ouvrir un nouveau terminal afin de rendre les
changements effectifs ou à utiliser la commande source ~/.bashrc pour recharger la nouvelle
configuration du shell courant.
Exercice 1 7 — En savoir plus sur les utilisateurs.
Vous pouvez aussi avoir plus d'informations sur les utilisateurs connectés avec users,
mais aussi sur l'utilisateur courant avec groups, id … En tapant ces commandes
identifiez les groupes auxquels vous appartenez et donnez les numéros de ces groupes.
6 Les fichiers
1. Description des fichiers sous Unix
La structure du système de fichiers sous Linux est assez simple : tout est fichier et
chaque fichier pointe sur un ''bloc'' qui contient :
•
les caractéristiques du fichier : propriétaire, taille, date de création/modification,
droits d'accès, nombre de liens
•
les adresses des blocs mémoires contenant les données du fichier
Un répertoire sera un tableau associant à chaque fichier un i-node (voir schéma cidessous provenant du site http://www.slashroot.in/inode-and-its-structure-linux)
On peut donc grâce à ls -l connaître toutes les caractéristiques des fichiers, y compris leur
nombre de liens.
2. Liens entre fichiers
Il est possible de faire des liens entre des fichiers se trouvant dans des répertoires
différents. On veut par exemple que dans le répertoire ''Tp'' (de l'exercice 6) on ait un
fichier qui « pointe » (= qui soit un lien) sur le fichier ''fic2''.
Il existe 2 possibilités pour réaliser ce lien :
•
créer un lien symbolique où le fichier ainsi créé indique le chemin d'accès vers
''fic2''
•
créer un lien physique où le fichier ainsi créé est un ''vrai'' fichier qui accède aux
mêmes données que le fichier ''fic2'' ; il a en fait le même i-node associé, il y
aura donc 2 fichiers partageant un même i-node, dans cas-là le nombre de liens
passe à 2.
Exercice 18. les liens : ln
1. Créez sous le répertoire ''Tp'' un lien symbolique ''fic_symb'' vers le fichier ''fic2'', puis
un lien physique ''fic_phys.txt'' vers le fichier ''fic3.txt''.
2. Quelles sont les différences entre les liens physiques et les liens symboliques ? Vous
visualiserez ces différences en regardant leurs caractéristiques respectives à l'aide d'une
commande que vous choisirez.
3. Droits des fichiers
chmod : La commande chmod liste_droits fichier(s) permet d’accorder ou de retirer au(x)
fichier(s) passés en arguments les permissions correspondant à liste_droits. Cette liste est
de la forme droit1, . . ., droitn où chaque droiti peut être par exemple :
– u+r pour rajouter au propriétaire le droit en lecture,
– g-w pour retirer aux membres du groupe le droit en écriture,
– o+x pour donner aux autres utilisateurs le droit en exécution,
– ou une combinaison de ces possibilités (ex : ug-wx).
Exercice 18 (suite). les liens : ln
3.
Quel est l'effet de chmod sur un lien physique ? sur un lien symbolique ? Pour
voir ces effets, notez à l’aide de ls -l les permissions d'accès des fichiers ''fic_symb'' et
''fic2'', puis modifiez les droits d'accès de l'utilisateur de ''fic2'', que se passe-t-il pour
''fic_symb'', puis modifiez les droits de ''fic_symb''', que se passe-t-il pour ''fic2'' ? De
même pour ''fic_phys.txt'' et ''fic3.txt'', modifiez les droits de l'un voir les conséquences
pour l'autre et vice-versa.
Exercice 1 9 – Un essai.
1. A l’aide de la commande echo "une phrase" > fic, vous pouvez écrire le
texte une phrase dans le fichier fic1 . Dans le répertoire ''Test'', créez un
fichier ' ' essai.txt'', et écrivez-y la phrase de votre choix.
2. Notez les permissions actuelles du répertoire ''Test'' et du fichier ' ' essai.txt''.
3. En utilisant la commande chmod, retirez-vous le droit en lecture et en
écriture sur le fichier ' ' essai.txt''. Vérifiez l’effet obtenu en essayant d’afficher
le contenu du fichier sur la fenêtre du terminal, puis de remplacer ce contenu
par une phrase différente.
4. Un fichier exécutable est simplement un fichier dont vous possédez le droit
en exécution. Rétablissez le droit en écriture puis remplacez à l’aide de la
commande echo le contenu du fichier essai par le texte echo "Ceci est un
essai". Ajoutez-vous le droit en exécution, et exécutez le fichier essai en
tapant ./essai dans le terminal (depuis le répertoire qui le contient). Quel est
le problème ? Faites la même choses avec un fichier exécutable (a.out par
exemple). Que constatez-vous ?
5. Rétablissez enfin le droit en lecture et tentez à nouveau d’exécuter le fichier.
Droits des répertoires
Si le sens de chaque droit pour un fichier ordinaire est assez clair, il est parfois moins
intuitif pour un répertoire, comme vous le verrez dans l’exercice suivant.
Exercice 2 0 – Un test.
4. Placez-vous dans le répertoire ''Test'', et retirez-vous le droit en lecture pour ce
répertoire. Listez le contenu du répertoire avec ls, puis exécutez ou affichez le
contenu du fichier ' ' essai.txt''. Qu’en déduisez-vous ? Rétablissez le droit en
lecture sur test.
5. Créez un fichier ''nouveau'' dans ' ' T est'' :
◦ Retirez à ce fichier et au répertoire ''Test'' le droit en écriture. Tentez de
modifier, p u i s d e s u p p r i m e r le fichier ' ' nouveau''. Q ue c onst a t ez vou s ?
◦ Rétablissez
ensuite
le droit en écriture au fichier
' ' n o u v e au ' ' , s u p p r i m e r l e d r o i t e n é c r i t u r e a u r é p e r t o i r e
' ' Te s t ' ' . Te n t e z d e m o d i f i e r l e f i c h i e r ' ' n o u v e a u ' ' , p u i s d e l e
s u p p r i m e r. Que constatez-vous ?
◦ Rétablissez ensuite le droit en écriture au répertoire ''T est''. Tentez de
modifier le fichier ' ' nouveau'', puis de le supprimer. Q u e c o n s t a t e z vous ?
Faites un bilan sur les effets de la permission du droit
d'écriture sur les fichiers et les répertoires.
6. Depuis votre répertoire personnel, retirez enfin le droit en exécution du
répertoire ''Test''. Tentez de créer, supprimer, ou modifier un fichier dans le
répertoire test, de vous y déplacer, d’en faire la liste, etc. Qu’en déduisez-vous
quant au sens du droit en exécution pour les répertoires ?
Droits par défaut des nouveaux fichiers
Lorsque de nouveaux fichiers ou répertoires sont créés, des droits par défaut leur sont
attribués. Ces droits sont calculés à partir d’un ensemble de droits de base en utilisant un
masque des droits par défaut des fichiers utilisateurs (appelé umask).
Les droits de base pour un fichier sont les accès en lecture et écriture pour tout le
monde (propriétaire, groupe et autres utilisateurs). Pour un répertoire, les droits de base
comprennent en plus le droit à l’exécution.
On peut ensuite choisir de n’accorder qu’une partie de ces droits de base à l’aide de
l’umask, dont l’accès se fait par la commande umask. Pour ajouter ou retirer des droits au
masque, on peut utiliser la syntaxe de chmod. Pour visualiser le masque courant,
utilisez umask -S. Par exemple, pour retirer aux utilisateurs ne faisant pas partie de son
propre groupe l’accès en lecture aux nouveaux fichiers, on tape umask o-r.
Exercice 2 1 – Écrire les droits en octal
Les commandes chmod et umask permettent aussi d’utiliser une syntaxe de la forme
chmod nnn, où chaque n est un nombre entre 0 et 7 (notation octale). Lisez le manuel de
ces deux commandes, testez cette syntaxe et décrivez son fonctionnement.
4. Aller un peu plus loin : les ACLs
Les ACLs (Access Control List) est le mécanisme utilisé par Unix pour accorder les droits
d'accès du système de fichiers. Il existe les attributs de base et les attributs étendus (on parle
alors d'ACL étendue : souvent utilisées dans un environnement hétérogène : serveur SAMBA
avec ACLs et client Windows, le tout dans un domaine (NT ou LDAP)).
Attributs de base
{
{
{
Les attributs de base correspondent à l'utilisateur (user), le groupe d'appartenance (group) et les
autres (other). Lorsque ce type d'attributs est utilisé alors les droits d'accès visibles rattachés au
fichier sont :
rwx
-----
répertoire user
group other
Exercice 2 2 – Réglage du masque lorsqu'on est en attributs de base
1. Définissez un umask très restrictif qui interdit à quiconque à part vous l’accès en
lecture ou en écriture, ainsi que la traversée de vos répertoires. Testez sur un
nouveau fichier et un nouveau répertoire.
2. Définissez un umask très permissif qui autorise tout le monde à lire vos fichiers
et traverser vos répertoires, mais n’autorise que vous à écrire. Testez sur un
nouveau fichier et un nouveau répertoire.
3. Définissez un umask équilibré qui vous autorise un accès complet et autorise un
accès en lecture aux membres de votre groupe Unix. Testez sur un nouveau fichier
et un nouveau répertoire.
Attributs étendus
{
{
{
Les attributs étendus sont les mêmes que les attributs de base auxquels on a rajouté des droits
d'accès sur d'autres utilisateurs, ou d'autres groupes. Dans ce cas-là les droits d'accès visibles
rattachés au fichier sont :
rwx
----+
répertoire user
mask
other étendu
où l'utilisateur courant (user) et les autres (other) correspondent aux mêmes entrées dans les
ACLs non étendues et étendues. En revanche dans les ACLs étendues, le champ visible
correspondant à l'entrée du groupe de l'utilisateur est remplacé par la valeur du mask qui sera
appliqué aux autres entrées que user et other, notamment au groupe de l'utilisateur.
Pour avoir une information sur les entrées de l'ACL utilisées sur votre compte tapez la
commande ''getfacl'' suivie du nom du répertoire ou du fichier dont vous désirez voir les droits.
Exemple :
-r-xrwxr-x+ 1 vmarion enseignants 0 janv. 20 15:18 test.txt
vmarion@prvmarion@prokofievl:~/TP_SE/titi$ getfacl test.txt
# file: test.txt
# owner: vmarion
# group: enseignants
user::r-x
⇐ entrée indiquée par le 1er champ
user:vmarion:rwx
group::rwx
⇐ entrées dont les permissions seront « filtrées » par le mask
group:enseignants:r-x
mask::rwx
⇐ entrée indiquée par le 2e champ
other::r-x
⇐ entrée indiquée par le 3e champ
}
On peut modifier les droits de l'entrée ''group ::'' encore avec la commande chmod. En revanche
le droit des autres entrées (user:nom :---, group:nom :---, mask ::---) seront modifiés par la
commande ''setfacl'' avec l'option ''-m'' suivie de l'entrée à modifier suivie du nom du fichier
dont on veut changer les droits d'accès.
Exemples :
vmarion@prokofievl:~/TP_SE/titi$ chmod g-w test.txt
vmarion@prokofievl:~/TP_SE/titi$ getfacl test.txt
# file: test.txt
# owner: vmarion
# group: enseignants
user::rwx
user:vmarion:r-x
group::r-x
<= chmod modifie bien que le group et pas le mask
group:enseignants:r-x
mask::rwx
other::r-x
vmarion@prokofievl:~/TP_SE/titi$ setfacl -m user:vmarion:r-x test.txt
vmarion@prokofievl:~/TP_SE/titi$ getfacl test.txt
# file: test.txt
# owner: vmarion
# group: enseignants
user::rwx
user:vmarion:r-x <=je peux modifier mon fichier meme si je suis vmarion
group::r-x
group:enseignants:r-x
mask::rwx
other::r-x
Attention la commande chmod modifiera les droits de l'entrée ''group::'' à partir des droits mis
dans le ''mask'' et des droits que l'on veut rajouter ou supprimer à ''group''.
Exercice 2 3 – Réglage des droits d'accès avec des attributs étendus
Vous travaillerez dans le répertoire 'Test'' et le fichier ''fic3''. Vous vérifierez que les droits
donnés par la commande ''ls'' correspondent aux droits donnés par la commande ''getfacl''. Sur
le fichier ''fic3'' vous modifierez les droits du ''group ::'' afin qu'il n'ait que le droit de lire et de
s'exécuter, les droits du ''user:votre_nom'' afin qu'il n'ait que le droit de lire, vérifiez, vous
modifierez les droits du mask de manière à ce qu'il ne permette que l'écriture et l'exécution,
vérifiez (avec getfacl et ls -l), puis avec la commande chmod vous supprimerez le droit
d'exécution à l'entrée ''group ::'', vérifiez avec la commande ''getfacl'' les droits de l'entrée
''group ::''. Est-ce logique ? Vérifiez aussi la valeur du mask.
Héritage des droits
Le umask permet dans les ACLs non étendues de masquer les bits non désirés. Par défaut les
fichiers à leur création ont des droits d'accès de rw-rw-rw- (ou 666) et les répertoires ont des
droits d'accès de 777. Le umask permet donc de masquer certaines permissions à la création des
fichiers/répertoires.
Quant à l'héritage dans les ACLs étendues, les droits des répertoires à leurs créations sont ceux
qui sont mis par défaut ''default:user ::'' dans le répertoire père. Et les droits par défaut du
répertoire père sont également recopiés dans les droits par défaut du répertoire fils.
Exercice 2 4 – Héritage des droits d'accès avec des attributs étendus
Vous travaillerez dans le répertoire ''Test''. Vous vérifierez les droits d'accès par défaut et les
droits d'accès courants de ce répertoire.
Vous créerez un sous-répertoire ''toto'' dont vous vérifierez les droits. Puis vous modifierez les
droits par défaut d'une ou plusieurs entrées par défaut du répertoire, puis vous créerez un
nouveau sous-répertoire ''titi'', vous vérifierez que les droits par défaut du répertoire père sont
mis en droits courants du répertoire ''titi''.
Puis vous ajouterez dans les droits d'accès du répertoire ''Test'', une entrée avec un nom
d'utilisateur que vous connaissez. Vous vérifierez ses droits. Puis vous créerez un sousrépertoire ''tata'' dont vous vérifierez les droits d'accès courants. Que remarquez-vous ?
Partager ses fichiers et répertoires
Dans certains cas, par exemple dans le cadre d’un projet à plusieurs ou de la fabrication
d’une page web, il peut être intéressant de donner accès à certains de ses fichiers ou
répertoires à d’autres utilisateurs. Vous pouvez aussi grâce aux ACLs étendues
rajouter des groupes ''group:nom :'' avec qui partager vos données, des
utilisateurs ''user:nom''.
Nous ne ferons pas d'exercices car vous ne pourriez pas les tester, les droits
d'accès des comptes des utilisateurs sur votre réseau ULCO ne vous
permettant pas de voir le compte d'un autre utilisateur.