from github to this gitea
This commit is contained in:
38
unix droits.md
Normal file
38
unix droits.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
alias: [ "droits", "permissions" ]
|
||||
---
|
||||
up::[[unix]]
|
||||
#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
|
Reference in New Issue
Block a user