TP Droits
CrĂ©ditsâïž
Sources : M GERVAIS, NSI spécialité - prépabac - Hatier, Université de La Réunion.
I. Prise en mainâïž
Pour ce TP, nous allons utiliser un Ă©mulateur du systĂšme Linux qui nous donnera lâaccĂšs Ă une invite de commande mis Ă disposition par l'universitĂ© de la rĂ©union :Emulateur Linux
Attendre d'obtenir ceci :
II. Les groupesâïž
Les groupes
Un utilisateur fait partie de groupe(s), dont un principal (qui peut ĂȘtre attribuĂ© par dĂ©faut).
En fait, le systĂšme dâexploitation lâidentifie par un numĂ©ro (UID, identifiant dâutilisateur ou user ID) ainsi que ses groupes (par leur GID).
La commandeid
Utiliser la commande id afin de déterminer les groupes auxquels appartient alice .
Noter les renseignements obtenus :
- NumĂ©ro dâidentification et son nom :
- groupe principal :
- groupes secondaires :
Solution
- NumĂ©ro dâidentification uid : 1000 et son nom : alice
- groupe principal gid: 1000 et son nom : user
- groupes secondaires groups : 1000 (user) et 1001 (developer)
Remonter l'arborescence
Remonter d'un niveau, utiliser la commande pour voir oĂč vous ĂȘtes.
Recommencer.
Solution
Le dossier etc
-
Lister les dossiers et fichiers de la racine.
-
Utiliser les commandes
cat /etc/passwd
puiscat /etc/group
.
Solution
On voit qu'en plus de root, il existe deux groupes user et developer auxquels alice et bob appartiennent.
III. GĂ©rer les droitsâïž
Voir les droitsâïž
Les droits
Aller dans /home/alice
et exécuter ls -l
Solution
Rappel sur les droits
Exemple : drwxr-xr-x
d | rwx | r-x | r-x |
---|---|---|---|
répertoire | u : propriétaire | g : groupe principal | o : autres |
- le premier symbole d signifie que lâon a affaire Ă un rĂ©pertoire. dans le cas dâun fichier, nous aurions un -
- les 3 symboles suivants rwx donnent les droits du propriétaire du fichier : lecture autorisée (r), écriture autorisée (w), exécution autorisée ( x)
- les 3 symboles suivants r-x donnent les droits du groupe lié au fichier : lecture autorisée (r), écriture interdite (- ), exécution autorisée ( x)
- les 3 symboles suivants r-x donnent les droits des autres utilisateurs : lecture autorisée (r), écriture interdite (- ), exécution autorisée ( x)
Pour plus de précisions, vous pouvez vous reporter au TP précédant.
Les droits
Aller dans /home/alice/Compagnon/A33
DĂ©tailler les droits pour fichier1.txt
Solution
Il s'agit d'un simple fichier. alice et le groupe principal ont les droits en lecture et écriture mais pas en exécution. Les autres ont les droits seulement en lecture.
Modifier les droitsâïž
A savoir
Le propriĂ©taire dâun fichier(ou lâutilisateur "root") peut en modifier les droits avec chmod
(change mode).
Seul lui peut le faire, ainsi que le « super-utilisateur » (ou administrateur systĂšme) root qui a les pleins pouvoirs sur la machine (ce qui est donc dangereux : on ne lâutilise que quand cela est strictement nĂ©cessaire)
chmod
La syntaxe est chmod modifications fichier
, oĂč modifications
est composé :
- du public (une ou plusieurs lettres parmi u, g et o définis ci-dessus, voire a pour « tous », soit all), puis
- dâun opĂ©rateur (= pour attribuer des droits et seulement ceux-lĂ , + pour ajouter des droits Ă ceux dĂ©jĂ donnĂ©s et - pour en ĂŽter Ă ceux qui existent) et enfin
- du ou des droits dĂ©signĂ©s par lâune ou plusieurs des lettres parmi r, w et x.
Exemples
- chmod
o-wx mon_fichier
Îte les droits en écriture et en exécution aux « autres utilisateurs ». - chmod
a+x mon_fichier
donne les droits en exécution à tous les utilisateurs,
đ On peut mĂȘme donner plusieurs sĂ©ries dâattributs, sĂ©parĂ©es par des virgules.
chmod ug=rwx,o=r mon_fichier
donne tous les droits Ă lâutilisateur et au groupe, mais seulement le droit en lecture aux autres utilisateurs.
A vous de jouer
- Ecrire la commande qui permet dâajouter les droits en exĂ©cution au groupe et aux autres utilisateurs, pour
fichier1.txt
VĂ©rifier le rĂ©sultat aprĂšs exĂ©cution. - Essayer ensuite dâautres modifications de droits sur ce fichier, et vĂ©rifier Ă chaque fois le rĂ©sultat. Pour cela vous pouvez utiliser
ls -l fichier1.txt
. Nâoubliez pas que la flĂšche vers le haut du clavier permet de rappeler les derniĂšres commandes utilisĂ©es.
Solution
Créer un fichier
- Créer un fichier
test1
vide dans le rĂ©pertoire dâalice. - Noter les permissions de ce fichier.
- Ecrire la commande pour que les "autres utilisateurs" aient la permission "écriture", puis vérifier
Solution
Pour le fichier test1
: avant le changement alice avait les droits en lecture et Ă©criture seulement, le groupe principal et les autres avaient les droiits seulement en lecture
Octal
Il existe une autre maniÚre de décrire les droits à appliquer : le codage "octal".
Par exemple :
lâĂ©criture "symbolique" : rwx r-x r-x
correspond Ă lâĂ©criture binaire 111 101 101. (On met 1 quand il y a r, ou w, ou x, et 0 quand il y a -)
Sur 3 bits les nombres vont de 0 (000 en binaire) Ă 7 = 4 + 2 + 1 (111 en binaire) . On peut donc considĂ©rer que l'on travaille en base 8 (d'oĂč le nom octal)
Il suffit de convertir chaque groupe de 3 bits en octal, pour obtenir la notation "octal"
Ici 111 en binaire correspond Ă 4 + 2 + 1 = 7, 101 en binaire correspond Ă 4 + 1 = 5.
L'Ă©criture "symbolique" rwx r-x r-x
correspond Ă 755
en "octal". C'est plus rapide Ă Ă©crire
Octal
Indiquer quels droits sont attribués par chmod 644 fichier1.txt
puis vérifier.
Solution
6 = 4 + 2 s'Ă©crit en binaire sur 3 bits 110
4 s'Ă©crit en binaire sur 3 bits 100
644 correspond donc Ă 110 100 100
C'est Ă dire Ă rw- r-- r--
IV. ComplĂ©mentsâïž
Lire un fichierâïž
Lire un fichier
Aller dans le répertoire A33
Tester cat
sur le fichier fichier2.txt
. Que se passe-t-il ?
Solution
Le fichier est trop long, on n'en voit que la fin, ce qui était au début a disparu de la console
less
less
charge au fur et à mesure la zone du fichier qui est affichée, ce qui lui permet de démarrer
trĂšs rapidement mĂȘme avec des fichiers Ă©normes.
Pour quitter, il faut taper q
Tester less fichier2.txt
. Appuyez plusieurs fois sur la touche "Entrée", puis quitter.
Il existe de nombreuses options possibles avec less.
Aideâïž
Le plus important Ă retenir, surtout quand on connaĂźt une commande mais pas ses options, ou si lâon dĂ©couvre une commande inconnue dans un exemple, est de savoir accĂ©der Ă lâinformation intĂ©grĂ©e au shell :
man
man la_commande
renvoie une aide complĂšte (souvent plus longue quâune page, on peut ajouter Ă la suite |less pour se dĂ©placer dedans avec les flĂšches, puis quitter avec q.info la_commande
offre un service comparable.
help
Plus simplement, la plupart des commandes ont une option help(en gĂ©nĂ©ral, double tiret pour une option qui sâĂ©crit sur plus dâun caractĂšre) ou -h qui dĂ©crit leur utilisation.
Tester
- Tester
ls --help
- Trouver comment lister le contenu dâun rĂ©pertoire en triant les Ă©lĂ©ments par ordre dĂ©croissant de taille.
Solution
ls -S