39 lines
1.8 KiB
Markdown
39 lines
1.8 KiB
Markdown
---
|
|
alias: [ "droits", "permissions" ]
|
|
---
|
|
up::[[unix]]
|
|
#s/informatique/unix
|
|
|
|
----
|
|
|
|
| Droits | Fichier | Répertoire |
|
|
| ------------- | ------- | ---------- |
|
|
|`r` lecture|Voir le contenu du fichier|Voir le contenu du répertoire|
|
|
|`w` écriture|modifier le contenu du fichier|Ajouter/supprimer des fichiers/répertoires|
|
|
|`x` exécution|exécuter le fichier|se déplacer dans un répertoire ou le traverser|
|
|
|
|
# Test des droits d'accès
|
|
Chaque fois qu'un [[processus]] ouvre/crée/supprime un fichier, le noyau procède aux tests suivants :
|
|
1. l'`EUID` est 0 ([[unix user root|super user]]) => accès autorisé
|
|
2. l'`EUID` est égal à l'`UID` du fichier :
|
|
1. le mode d'accès est compatible aux droits attribués au propriétaire (`user`) => accès autorisé
|
|
2. sinon => accès refusé
|
|
3. `EGID` ou l'un des Id de groupe supplémentaires du processus est égal au `GID` du fichier
|
|
1. accès si l'accès demandé est compatile au mode d'accès pour les membre du groupe (`group`)
|
|
4. le mode d'accès demandé est compatible aux droits attribués a tous les utilisateurs (`other`)
|
|
|
|
# Droits d'endossement
|
|
|
|
- `Set-GID` bit :
|
|
- sur un fichier non exécutable
|
|
- indique aux systèmes que le verrouillage éventuel du fichier doit être de type impératif et non consultatif
|
|
- sur un répertoire
|
|
- les fichiers qui y sont créés appartiennent au groupe propriétaire du répertoire et non à celui de l'utilisateur
|
|
- ajouté dans BSD, repris dans linux
|
|
|
|
|
|
- `sticky` bit :
|
|
- A l'origine : appliqué à un exécutable, servait à le maintenir en mémoire pour accélérer ses exécutions ultérieures. Fonctionnement délaissé depuis
|
|
- appliqué à un répertoire
|
|
- limite la suppression des fichiers au propriétaire des fichiersgg
|