|
TP Permissions d'accès aux fichiers |
| symbole | sur un fichier normal | sur un répertoire |
|---|---|---|
| - | absence de droit | absence de droit |
| r | lecture (lire, copier le contenu) | visibilité des fichiers directement contenus |
| w | écriture (modifier le contenu) | création ET destruction des fichiers directement contenus |
| x | exécution | entrée et parcours du rép. |
stage@debian ll *.html
-rw-r--r-- 1 stage stage 1200 oct 19 12 : 39 amoi.html
Description de la ligne
- le 1er caractère indique la nature du fichier
("-" fichier normal, "d" un fichier répertoire, "l" un lien)
- le système de droits est spécifié symboliquement par
les 9 attributs suivants, correspondants aux 3 catégories d'utilisateurs du fichier.
...|...|...
u g o
- La section u fixe les droits accordés au propriétaire du fichier.
- La section g fixe les droits accordés aux utilisateurs faisant partie
du groupe auquel appartient le fichier.
- La section o fixe les droits des autres utilisateurs.
- nombre de liens sur le fichier : 1 signifie que le fichier n'a aucun lien qui pointe vers lui
2 (ou plus) signifiant qu'il existe un lien (ou plus) vers lui.
- le nom du propriétaire du fichier
- le nom du groupe propriétaire
- la date de dernière modification
- le nom complet du fichier
Décrivez précisément les droits des fichiers suivants/etc/init.d/rcSque signifie le "x" ?/etc/fstab(table de montage) qui peut le modifier ?/etc/shadow(fichier des mots de passe) - qui peut le modifier ? - est-ce cela ne pose pas problème ? Afficher toutes les infos sur un fichier : commande stat (si elle est installée)stat /etc/passwdLister les répertoires situés à la racine / - A qui appartiennent-ils ? - Un utilisateur quelconque peut-il y créer des sous-rép. ? - quels sont les cas particuliers ? Les droits usuels pour un rép sont r-x, pourquoi ? Expliquer en quoi le droit "w" sur un répertoire et accordé à un groupe est particulièrement dangeureux !
root)-R (récursif) permet d'agir sur l'ensemble des sous-répertoires.chown -R stage4 /home/stage1
root ou le propriétaire, à condition que celui-ci soit membre du nouveau groupe.chgrp -R stage4 /home/stage1
[u g o a] [+ - =] [r w x] u, g et o les 3 catégories d'utilisateurs (user, group, other) et a =all r,w,x les 3 attributs de chaque fichier, pour chaque catégorie d'utilisateur. + - = l'action d'ajouter, de retirer ou de fixer un droit, qui s'applique à chaque catégorie séparément.
chmod u+x fichier signifie ..chmod ug+w fichier...chmod go-rwx fichier... chmod [-R] go-rwx /home/toto ... chmod u=rwx,g=rw,o=r fichier quelles sont les permissions ? chmod u=rwx,g=r fichier (les permissions précédentes du groupe o sont inchangées) chmod u=rwx,g=r,o= fichiers ...
Voici la table de correspondance entre les 8 chiffres en numérotation
octale (base 8) et les 8 valeurs de droits fichiers.
Par convention la présence d'un droit est noté 1, l'absence
0.
Binaire ----- Droit ----- Octal
000 -------- (---) ------- 0
001 -------- (--x) ------- 1
010 -------- (-w-) ------- 2
011 -------- (-wx) ------- 3
100 -------- (r--) ------- 4
101 -------- (r-x) ------- 5
110 -------- (rw-) ------- 6
111 -------- (rwx) ------- 7
| propriétaire | groupe | autre | ||||||
|---|---|---|---|---|---|---|---|---|
| lecture | écriture | exécution | lecture | écriture | exécution | lecture | écriture | exécution |
| 400 | 200 | 100 | 40 | 20 | 10 | 4 | 2 | 1 |
Pour obtenir les permissions exprimées en octal, il suffit d'ajouter en octal les nombres de la table de correspondance ci-dessus, pour lesquels les droits sont positionnés.
Exemples
chmod 700 /home/rep-a-moi droits par défaut pour un rép. personnel.
ls -l /home/rep-a-moi
--> drwx------
Les 2 commandes suivantes sont équivalentes :
chmod 764 test
chmod u=rwx,g=rw,o=r test
ls -l test
-rwxrw-r--
umaskumask de fixer les permissions masquées, autrement dit les droits non accordés aux fichiers et répertoires lors de leur création.
027777 = 111 111 111 permissions maxi = rwx rwx rwx - 027 = 000 010 111 masque de protection = 750 = 111 101 000 permissions effectives = rwx r-x ---
umask
umask affiche le masque de l'utilisateur actifroot et des autres utilisateurs ?
umask -S affiche les permissions correspondantes au masque, sous forme symbolique.
umask masque fixe les permissions ultérieures de création des fichiers de l'utilisateur actif, conformément à masque, en notation octale./etc/profile, on peut modifier la règle habituelle :if [ $UID == 0 ] ; then umask 022 ; else umask 077 ; fi
umask masque dans le fichier de profil personnel $HOME/.bash_profile
x du propriétaire u (mais sans écraser le droit x)4000
/usr/bin/passwd, qui permet de (re)définir un mot de passe et le comparer à ceux du fichier /etc/shadow qui contient les mots de passe cryptés.
Observez : ll /etc/shadow -rw-r----- root root shadow ll /usr/bin/passwd -rxsr-xr-x root root /usr/bin/passwdComme le droit
x est accordé à tous, chacun peut donc exécuter la commande passwd, mais personne ne posséde pas lui-même le droit d'écriture dans le fichier /etc/shadow qui doit le stocker. root lors de la demande d'accès au fichier et comme root a tous les droits, il est alors possible de mettre à jour ce fichier des mots de passe.
cd /usr/bin
# grep filtre les lignes produites par ls en utilisant
# l'expression rationnelle ^...s
ls -l | grep "^...s"
# pour afficher tous les fichiers possédant le SUID
cd /
ls -lR | grep "^...s"
# recherche parmi les fichiers ordinaires ceux qui ont au moins le droit s
find / -type f -perm +4000
s posé sur un répertoire, met en place un mécanisme d'héritage de groupe, de répertoire conteneur à fichiers contenus.
s, mis à la place du x du groupe, valeur octale 2000
w sur le répertoire, en interdisant à un utilisateur quelconque de supprimer un fichier dont il n'est pas le propriétaire x sur la catégorie other de ce répertoire, mais bien entendu il ne supprime pas le droit d'accès x (s'il est accordé).x n'est pas accordé à la catégorie other, à la place de t c'est la lettre T qui apparaitra.chmod +t rep --> d ... ... ..t rep si le répertoire a le droit x pour tous --> d ... ... ..T rep sinon