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.