Dans ce didacticiel, nous expliquerons les autorisations de fichiers auxiliaires, communément appelées "autorisations spéciales " sous Linux, et nous vous montrerons également comment trouver des fichiers qui ont SUID (Setuid) et SGID (Setgid) défini.
Qu'est-ce que SUID et SGID ?
SUID est une autorisation de fichier spéciale pour les fichiers exécutables qui permet à d'autres utilisateurs d'exécuter le fichier avec les autorisations effectives du propriétaire du fichier. Au lieu du x
normal qui représente les autorisations d'exécution, vous verrez un s
(pour indiquer SUID ) autorisation spéciale pour l'utilisateur.
SGID est une autorisation de fichier spéciale qui s'applique également aux fichiers exécutables et permet aux autres utilisateurs d'hériter du GID effectif du propriétaire du groupe de fichiers. De même, plutôt que l'habituel x
qui représente les autorisations d'exécution, vous verrez un s
(pour indiquer SGID ) autorisation spéciale pour l'utilisateur du groupe.
Lecture suggérée : Gestion des utilisateurs et des groupes, des autorisations de fichiers et des attributs sous Linux
Regardons comment trouver des fichiers qui ont SUID et SGID défini à l'aide de la commande find.
La syntaxe est la suivante :
$ find directory -perm /permissions
Important :Certains répertoires (tels que /etc , /bin , /sbin etc.) ou les fichiers nécessitent des privilèges root pour être accessibles ou répertoriés, si vous gérez votre système en tant qu'utilisateur normal, utilisez la commande sudo pour obtenir les privilèges root.
Comment rechercher des fichiers avec SUID défini sous Linux
Cet exemple de commande ci-dessous trouvera tous les fichiers avec SUID défini dans le répertoire actuel à l'aide de -perm (imprimer les fichiers uniquement avec des autorisations définies sur 4000 ).
$ find . -perm /4000


Vous pouvez utiliser la commande ls avec -l
option (pour une liste longue) pour afficher les autorisations sur les fichiers répertoriés, comme indiqué dans l'image ci-dessus.
Comment rechercher des fichiers avec un SGID défini sous Linux
Pour trouver des fichiers qui ont SGID set, tapez la commande suivante.
$ find . -perm /2000


Pour trouver des fichiers qui ont à la fois SUID et SGID set, exécutez la commande ci-dessous.
$ find . -perm /6000


Vous pouvez également lire ces guides utiles sur les autorisations de fichiers sous Linux :
- Comment définir les attributs de fichier et rechercher des fichiers sous Linux
- Traduire les autorisations rwx au format octal sous Linux
- Fichiers/répertoires sécurisés à l'aide d'ACL (listes de contrôle d'accès) sous Linux
- 5 commandes "chattr" pour rendre les fichiers importants IMMUTABLES (inchangeables) sous Linux
C'est tout pour le moment! Dans ce guide, nous vous avons montré comment trouver des fichiers qui ont SUID (Setuid) et SGID (Setgid) défini sous Linux. Si vous avez des questions, utilisez le formulaire de commentaires ci-dessous pour partager des questions ou des réflexions supplémentaires sur ce sujet.