FORMATION Unix/Linux CHAPITRE 5 : Gestion des Droits Introduction Nous avons vu que la commande ls –l affichait en début de ligne toujours une représentation symbolique des droits utilisateurs sur le(s) fichier(s) ou répertoire(s). Exemple : -rwxr-xr-x Nous allons découvrir la façon dont ils sont utilisés 5.1 : Lecture des permissions d’un fichier • Caractéristiques • Représentation symbolique de 10 caractères (sortie de ls –l) – - r wx r–x r– x 1 234 567 8910 • Le premier symbole du fichier correspond si: – – – – – – «d » : répertoire « s »:socket « p »: pipe « c »: fichier périphérique à caractère « l » : lien symbolique « - « : fichier • Du 2 ième au 10 ième caractères : – – – – Ils correspondent à l’association des caractères : r,w, ou x* 2 à 4 : droits de l’utilisateur ou propriétaire 5 à 7 : droits attribués au groupe 8 à10 : droits pour les autres utilisateurs 5.2 : Changement des propriétaires d’un fichier • Commande • chown user fichier(s) • chown user.group fichier(s) sur Gentoo (le « . » est remplacé par :) • chown user N.B : Cette commande ne peut être utilisé par un autre utilisateur que root • chgrp group fichier N.B : tous les utilisateurs appartenant au groupe du fichier peuvent changer le groupe d’appartenance du fichier. *L’option –R permet de changer l’appartenance à tout un répertoire 5.3 : La commande chmod • Caractéristiques • • • Commande • • Elle permet de changer les permissions d’un ou plusieurs fichier(s) Elle nécessite deux arguments au moins chmod mode liste_des_fichiers 2 types de représentation : • représentation Symbolique : » + ajoute la permission » - la retire » u permission correspond à l’utilisateur » g «« «« au groupe » o «« «« au reste du monde » a « « « « regroupe tous ceux vu plus haut » = affecte la permission Exemple : chmod u+rx, g+r,w+r test • représentation numérique : » » » » r = 4 (lecture) w = 2 (modification) x = 1 (Exécution) - = 0 (Aucune) Exemple : chmod 0700 test = chmod u+rwx test rwx = 4+2+1=7 5.4 : Création d’un fichier et command umask • Caractéristiques – Un fichier lors de sa création à la valeur 0666 – Le umask spécifie les permissions devant être soustrait à celles des fichiers nouvellement crées. – Le umask a une valeur par défaut de 0022 Exemple : le fichier test à le droit 0666 on lui applique le umask => 0666 – 0022= 0644 • Commande – umask nombre_de_4_chiffre_respectant les_permissions : permet d’attribuer un umsak 5.5 : SUID et SGID et bit sticky • 5.6.1 : Bit SUID et SGID – suid = bit identifiant le propriétaire , guid = bit identifiant groupe • Caractéristiques – S’applique aux commandes – Permet d’utiliser les droits d’un utilisateur ou d’un groupe – Possède la même place que le bit x(exécution)* • Commande – chmod u+s fichier_ou_répertoire pour SUID – chmod g+s fichier_ou_répertoire pour GUID • 5.6.2 : Bit « sticky*» • Caractéristiques – Droit réservé à root – S’applique aux exe (exécutable conservé en mémoire vive ou swap) – S’applique au fichier,répertoire(impossibilité de détruire le fichier ou répertoire si on n’est pas root) • Commande – chmod +t fichier ou répertoire * 5.6 : Composition numérique des permissions spéciales L’ensemble des autorisations spéciales est stocké sur le 1 bit (0000) utilisé dans la forme numérique de l’attribution des droits de la commande chmod et prend les valeurs 4, 2, 1 et 0. • Caractéristiques – Suid = 4,Guid = 2,Sticky = 1,Raz = 0 – Possibilité de composition d’autorisation spéciales Exemple : chmod 6644 /etc/passwd passwd s’exécute en s’appuyant sur l’environnement de l’utilisateur et du groupe propriétaire du fichier