Droits et fichiers
Dans le système Linux, (pratiquement) tout ce que l'on manipule est un fichier :
- les dossiers sont des fichiers
- les commandes dans le dossier
/usr/bin
- les données de configuration dans les dossier
/etc
- les données dans
/var/
ou dans notre dossier maison - l'accès aux ressources comme le disque dur
/dev/sda
ou encore aux services/proc/cpuinfo
Que toutes les interactions avec le système soient effectuées sous la forme d'un fichier dérive du projet Plan 9 dont le modo était :everything is a file.
Types de fichiers
- fichier
- dossier
- pseudo-fichier
- liens
Propriété
La sécurité des accès est donc basée sur les droits d'accès aux fichiers. Chaque fichier possède :
- un propriétaire : un utilisateur du système
- un groupe : un ensemble d'utilisateurs
Les utilisateurs du système sont listés dans le fichier /etc/passwd
(seuls les utilisateurs réels ont un dossier personnel dans /home
) et les groupes dans le fichier /etc/group
.
Attention, ce n'est pas pareil sous macos. Voir man DirectoryService
Si l'on est l'actuel propriétaire du fichier on peut en modifier :
- son propriétaire
chown
- son groupe
chgrp
Chaque utilisateur et groupe est identifié par un numéro. Son UID. Seul root
a un UID de 0, qui est spécial : aucune vérification de sécurité n'est faite pour lui.
Droits
L'accès à un fichier peut être de 3 sortes :
- lecture : pour lire son contenu
- écriture : pour modifier son contenu
- exécution : en faire une commande pour un fichier et accéder à son contenu pour les dossiers
Ces droits peuvent être différents pour :
- le propriétaire
- le groupe
- les autres
TBD droit par défaut umask
Voir les droits
ls -l
Modifier les droits
chmod
- changer droits et group gou+
- chiffres
Droits spéciaux
- sticky bit de
/tmp