Skip to main content

4.3 — Propriétaires, groupes, chown et chgrp

chown change le propriétaire et éventuellement le groupe. chgrp change seulement le groupe.

Examiner l'appartenance

ls -l fichier.txt
stat -c '%U:%G %n' fichier.txt
id alex
getent group informatique

Changer propriétaire ou groupe

sudo chown alex fichier.txt
sudo chown alex:informatique fichier.txt
sudo chown :informatique fichier.txt
sudo chgrp informatique fichier.txt

Appliquer récursivement :

sudo chown -R alex:informatique /srv/projet

Une opération récursive doit cibler un chemin explicite et vérifié :

sudo ls -ld /srv/projet
sudo find /srv/projet -maxdepth 2 -printf '%u:%g %p\n'

Dossier partagé par un groupe

Créer un dossier collaboratif :

sudo mkdir -p /srv/partage
sudo chown root:informatique /srv/partage
sudo chmod 2770 /srv/partage

Le chiffre spécial 2 active le bit setgid sur le dossier. Les nouveaux éléments héritent alors du groupe informatique au lieu d'utiliser systématiquement le groupe principal du créateur.

Vérifier :

ls -ld /srv/partage

La permission de groupe apparaît avec s, par exemple drwxrws---.

Bits spéciaux

Bit Valeur Usage courant
setuid 4 exécuter un programme avec l'identité de son propriétaire
setgid 2 héritage du groupe sur un dossier
sticky bit 1 chacun ne supprime que ses propres fichiers dans un dossier partagé

Exemple du sticky bit :

sudo chmod 1777 /srv/depot-temporaire

Le répertoire /tmp utilise habituellement ce principe.

Retrouver les identifiants numériques

id -u alex
id -g alex
getent passwd alex
getent group informatique

Sur un partage NFS ou dans un conteneur, les numéros UID/GID sont souvent plus importants que les noms affichés. Une différence d'identifiants peut provoquer un accès refusé malgré des noms semblables.