Aperçu
Le bit setgid est un type d'autorisation du système de fichiers qui se comporte différemment selon qu'il est appliqué à un fichier ou à un répertoire. Lorsqu'il est appliqué à un répertoire, tous les nouveaux fichiers et sous-répertoires créés dans ce répertoire héritent automatiquement de la propriété du groupe du répertoire parent. Lorsqu'il est appliqué à un fichier exécutable, le processus s'exécute avec l'ID de groupe du propriétaire du fichier lors de l'exécution du fichier.
Caractéristiques principales
- Répertoire : les fichiers et sous-répertoires créés dans ce répertoire héritent de la propriété du groupe du répertoire parent.
- Fichier exécutable : le processus s'exécute avec l'ID de groupe du propriétaire du fichier lors de l'exécution du fichier.
- Il est défini et désactivé à l'aide de la commande `chmod`.
Exemples d'utilisation
Le bit setgid est défini à l'aide de la commande `chmod`. Vous pouvez utiliser le mode numérique (2xxx) ou le mode symbolique (g+s).
Définir setgid sur un répertoire (mode symbolique)
sudo chmod g+s /shared_data
Définit le bit setgid sur le répertoire `/shared_data` afin que tous les fichiers et sous-répertoires créés dans ce répertoire héritent de la propriété du groupe de `/shared_data`.
Définir setgid sur un répertoire (mode numérique)
sudo chmod 2770 /shared_data
Ajoute le bit setgid (2) aux autorisations existantes (rwxrwx---) pour le définir sur 2770.
Définir setgid sur un fichier exécutable
sudo chmod g+s /usr/local/bin/my_tool
Permet à un fichier exécutable spécifique de s'exécuter toujours avec les autorisations du groupe spécifié. (Par exemple, `my_tool` s'exécute avec les autorisations de `tool_group`)
Supprimer le bit setgid
sudo chmod g-s /path/to/item
Supprime le bit setgid d'un fichier ou d'un répertoire.
Vérifier la configuration de setgid
ls -l /path/to/item
Utilise la commande `ls -l` pour vérifier les autorisations d'un fichier ou d'un répertoire. Si 's' apparaît à la position de l'autorisation de groupe, setgid est défini.
Conseils et précautions
Le bit setgid est une fonctionnalité puissante, il faut donc l'utiliser avec prudence.
Utilisation de setgid pour les répertoires
- Très utile lorsque plusieurs utilisateurs doivent créer des fichiers avec le même groupe dans un répertoire de travail partagé.
- Permet de maintenir une propriété de groupe cohérente pour les nouveaux fichiers, réduisant ainsi les problèmes d'autorisations.
Précautions pour setgid sur les fichiers exécutables
- La définition de setgid sur un fichier exécutable peut être une source de vulnérabilités de sécurité et doit être utilisée avec prudence.
- Ne l'appliquez qu'aux fichiers exécutables fiables et dont la sécurité a été vérifiée.
Interaction avec umask
Lorsqu'un fichier est créé dans un répertoire avec le bit setgid défini, le paramètre `umask` est également pris en compte. `umask` restreint les autorisations par défaut des fichiers nouvellement créés, il doit donc être configuré de manière appropriée avec setgid.