Exercice 1
- Quels sont les droits sur les répertoires personnels (par exemple stagex) ?
- Un utilisateur différent
stagey
peut-il y pénétrer ou seulement lister ses fichiers ? et totox, le pourrait-il s'il faisait partie du groupe destagex
? - Quelles commandes devrait écrire
stagex
pour accorder le droit de visite de son rép. perso seulement à totox ?
Exercice 2
- Comparer les permissions de
/etc/passwd
et/etc/shadow
.
Pourquoi a t-on nommé ainsi ce dernier fichier ?stagex
peut-il le lire ? et voir sa présence ?
L'examiner pour deviner son rôle. - Par précaution, en faire une copie sous le nom
shadow.bak
dans/home/temp
! vérifier les droits de/home/temp/shadow.bak
- Pensez-vous tout de même pouvoir supprimer le fichier précédent ? Concluez !
root
fait maintenant une copie deshadow
chez vous, dans/home/stagex
, sous le nomshadow.bak
et vous accorde la propriété de la copie.
a) Comment fait-il ?
b)stagex
vérifie le résultat- Vous éditez ce fichier avec Midnight Commander, vous le modifiez, par exemple en supprimant des lignes, et vous faites une mise à jour.
Ecrivez le mode opératoire.
La mise à jour sera t-elle réalisée ? pourquoi ? - Pensez vous que
stagex
puisse supprimer ce fichier ?
Essayez et expliquez !
Exercice 3
- En tant que
stagex
, pouvez vous créer le rép. temporaire/home/temp
? essayez ! pourquoi ?
- Effectuez cette création comme root (pensez à la commande
su
). - Accorder les permissions maximales sur
/home/temp
; vérifiez.
totox
, toujours lui, tout content d'avoir enfin un droit d'écriture, dans/home/temp
essaie de copier les 2 fichiers système/etc/hosts
et/etc/passwd
dans/home/temp
?
y parviendra t-il ? pourquoi ? que donne[totox@p0x ] ll /home/temp
?totox
, essaie maintenant de supprimer ces 2 fichiers de/etc
.
Réussit-il ?- Effrayé à l'idée de se faire pincer par le (ou la) redoutable
root
,totox
veut masquer sa faute tout en faisant punirstagex
à sa place !
Pour cela, il veut questagex
devienne propriétaire du fichier copiépasswd
.
Comment s'y prend t-il ? Réussit-il ?
Et vous comment auriez vous fait ?
Exercice 4
Il s'agit de créer un rép. partagé par tous les membresstagex
du groupe stagiaire
Normalement, ce groupe a déjà été créé et rempli de comptes
stagex
. - Créez dans
/home
un répertoire appelérep-stagiaire
. Rappelez pourquoi cette tâche relève des prérogatives deroot
- Faites-le appartenir au groupe
stagiaire
- Modifier les permissions sur le rép, pour que tous les membres du groupe
stagiaire
puissent y écrire et s'y déplacer. - En tant que
stagex
, vous créez un fichier, par exemple un petit fichier texte (à l'aide de vi ou d'un éditeur graphique comme kedit) et vous le déposez dans/home/rep-stagiaire
.
Si vous êtes paresseux, vous y faites une copie d'un fichier qcq, par exemple/etc/hosts
, mais en attribuant des droits 660[stagex@p0x etc] cp hosts /home/rep-stagiaire
[stagex@p0x etc] chmod 660 hosts
- Vérifier le bon accès en lecture seulement pour les membres du groupe
Ainsitotox
qui a fini par être exclu du groupestagiaire
(surtout après l'exercice 3) ne doit pas pouvoir le lire. A vérifier. - Votre collègue (ou votre double !) le perfide
stagey
(y#x), tente de supprimer ce fichier ou de le renommer
Y parvient-il ? Essayez !
Pourtant, vérifiez que ce fichier appartient au groupestagex
N'est-ce pas inquiétant ? Expliquez comment cela est possible. - Demandez à
root
de positionner le "sticky bit" sur le répertoire partagé.
Vérifiez bien que le problème est réglé et protège le propriétaire des tentatives de suppression ou de changement de nom de ses fichiers.
Prolongement : vérifier que cette protection s'applique aussi à distance sous Samba
Exo 1
- drwx------ stagex stagex /home/stagex
- même si
totox
fait partie du groupestagex
, le répertoire n'accorde pas de permissionsx
de parcours, ni mêmer
de lecture. - Pour que
totox
puisse accéder en lecture au rép. perso. de- ajouter
totox
dans le groupestagex
, avec linuxconf
Attention ! cela peut être imprudent : en effet, par la suitetotox
pourra user et abuser des droits accordés chmod g+r /home/stagex
- ajouter
Exo 2
- Il n'est pas caché,
stagex
peut le voir avecll /etc/sha*
Mais il n'est pas lisible : permission non accordée pourless /etc/shadow
! - root effectue la copie :
cp /etc/shadow /home/temp/shadow.bak
- avec une permission
r--
sur ce fichier,root
peut quand même le supprimer ! - root effectue la copie :
cp /etc/shadow /home/stagex/shadow.bak
et accorde la propriété :chown stage1. /home/stagex/shadow
-
stagex
passe les commandescd
, puisll
et observe :
-r-------- stagex stagex shadow.bak
-
stagex
peut lire le fichier parless shadow.bak
et l'édite avec mc/F4, supprime une ligne, et veut sauvegarder par F2 --> refus et invite à le renommer.
C'est normal, le droitw
n'est pas positionné ! stagex
veut le supprimerrm shadow.bak
Il reçoit l'avertissement :
rm: détruire le fichier protégé en écriture shadow.bak et répondy
, et ... c'est fait.
En effetstagex
possède la permissionw
sur son rép perso/home/stagex
.Remarque :
Sistagex
se bloque ce droit, ce ne serait plus possible !cd /home
chmod 500 stagex
cd
rm shadow.bak
rm: détruire le fichier protégé en écriture 'shadow.bak'
-->y
rm: Ne peut délier 'shadow.bak' : Permission non accordée
Exo 3
- le rép
/home
n'accorde un droit d'écriture qu'àroot
[stagex@p0x ] su
[root@p0x ] mkdir /home/tempchmod 777 /home/temp
cd /home/temp
[totox@p0x temp] cp /etc/hosts . pour déplacer dans le rep. courant- Fort heureusement
totox
n'a pas de droit d'écriturew
sur/etc
, il ne peut donc rien y supprimer ! chown stagex /home/temp/*
opération non permise !
Pris de paniquetotox
n'a plus pensé qu'il a le droit de supprimer cette copie qui lui appartient ...
Exo 4
On suppose la situation initiale suivante :root
a créé le reprep-stagiaire
mkdir /home/rep-stagiaire
- Il a attribué la propriété collective de ce rép. au groupe
stagiaire
,
chgrp stagiaire /home/rep-stagiaire
- avec un accès complet, et rien pour les autres utilisateurs.
chmod 770 /home/rep-stagiaire
Vérification :
ll /home
drwxr-xr-x root root httpd/
drwx------ stagex stagex stagex/
drwx------ stagey stagey stagey/
drwxrwx--- root stagiaire rep-stagiaire/ stagex
, très rétro, crée ce texte directement saisi à la console aveccat
cat
, par défaut admet le clavier comme canal d'entréecd /home/rep-stagiaire
Par précaution
cat > doc-stgx.txt
Voici un petit texte sans prétention,
mais auquel je tiens beaucoup.
Mes collègues peuvent le lire, y répondre
mais je leur demande de ne pas le modifier
ni l'effacer. Merci.
signé : stagex
Ctrl-Dstagex
, pas naïf, en fait une copie privée, sans droit de groupe :cp doc-stgx.txt doc-stgx.sauve
chmod 600 doc-stgx.sauve
ll doc-stgx.sauve
-rx-------stagey
lit le texte par exemple avecless /home/rep-stagiaire/doc-stgx.txt
On vérifie quetotox
ne fait plus partie du groupestagiaire
et qu'il ne peut pas lire.groups totox
totox : totox
[totox@p0x home] less rep-stagiaire/doc-stgx.txt
Permission non accordéestagey
supprime sans problème le document destagex
[stagey@p0x rep-stagiaire] rm doc-stgx.txt
rm: détruire le fichier protégé en écriture 'doc-stgx.txt' ?
y (répond t-il sournoisement)
[stagey@p0x rep-stagiaire] ll (pour vérifier, le traitre !)- Pour n'autoriser les suppressions qu'effectuées par le propriétaire (ou de root),
root
passe la commandechmod +t /home/rep-stagiaire
Ces 2 tentatives échoueront :
(ou chmod 1770 /home/rep-stagiaire)
ll /home
drwxrwx--T root stagiaire rep-stagiaire/
(rappel : T au lieu de t, car pas de droit x pour la catégorie other[stagey@p0x rep-stagiaire] rm doc-stgx.txt
[stagey@p0x rep-stagiaire] mv doc-stgx.txt doc-stgy.txt