Autorisations spéciales – SUID/SGID
Deux autorisations spéciales peuvent être définies sur les fichiers exécutables :Définir l'ID utilisateur (setuid) et Définir l'ID de groupe (sgid) . Ces autorisations permettent au fichier en cours d'exécution d'être exécuté avec les privilèges du propriétaire ou du groupe. Par exemple, si un fichier appartenait à l'utilisateur root et que le bit setuid était défini, peu importe qui exécutait le fichier, il s'exécuterait toujours avec les privilèges de l'utilisateur root.
Rechercher des fichiers avec le bit SUID/SGID défini
Nous pouvons trouver tous les fichiers avec les autorisations SUID SGID à l'aide de la commande find.
1. Pour trouver tous les fichiers avec les permissions SUID sous root :
# find / -perm +4000
2. Pour trouver tous les fichiers avec les permissions SGID sous root :
# find / -perm +2000
3. nous pouvons également combiner les deux commandes de recherche dans une seule commande de recherche :
# find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;
Suppression du SUID/SGID
Si vous souhaitez supprimer les autorisations SGID et SUID sur les fichiers, vous pouvez suivre les étapes ci-dessous. Une fois que vous obtenez la liste des fichiers, vous supprimez le bit de sécurité à l'aide de la commande chmod :
Pour SUID :
# chmod u-s file_name
Pour SGID :
# chmod g-s file_name
Pour le faire récursivement vous pouvez exécuter la commande suivante :
# for i in `find / -perm +4000` do chmod u-s $i done
De même, vous pouvez également modifier les fichiers sgid.
# for i in `find / -perm +2000` do chmod g-s $i doneRemarque : Il supprimera tous les suid des fichiers. Soyez donc prudent avant d'exécuter la boucle for.Qu'est-ce que SUID, SGID et Sticky bit ?
Linux / UNIX :Exemples de commande find pour rechercher des fichiers avec des ensembles d'autorisations spécifiques
UNIX / Linux :Quelle est la bonne autorisation des répertoires /tmp et /var/tmp