Setuid

Un article de Wikipédia, l'encyclopédie libre.

Setuid (parfois suid) est un terme UNIX, abréviation de "Set User ID".

C'est une propriété qui est appliquée aux fichiers et répertoires d'un système d'exploitation UNIX. Grâce à cette propriété, un processus exécutant un tel fichier peut s'exécuter au nom d'un autre utilisateur.

Quand un fichier exécutable est propriété de l'administrateur (root), et est rendu setuid, tout processus exécutant ce fichier peut effectuer ses tâches avec les permissions associées au root, ce qui peut constituer un risque de sécurité pour la machine, s'il existe une faille dans ce programme. En effet, un hacker ou un cracker pourrait utiliser cette faille pour s'arroger des droits d'administrateur et effectuer des opérations réservées, par exemple en se créant un compte d'accès illimité en temps et en pouvoirs.

Notez qu'il est parfaitement possible de rendre un programme setuid d'un compte non-root, ce qui diminue nettement les risques.

Pour d'évidentes raisons de sécurité, un processus ne peut être tracé par un utilisateur non privilégié au travers de l'exécution d'un programme setuid. Toute tentative de traçage d'un tel processus se traduit généralement par la simple non-application du changement d'utilisateur que prévoyait le bit setuid.

Il existe également une propriété Setgid ("Set Group ID") qui modifie le groupe d'un processus, de la même façon que le Setuid modifie l'utilisateur au nom duquel il s'exécute. Les mêmes remarques de sécurité s'appliquent au bit setuid et au bit setgid.

[modifier] Voir aussi

[modifier] Lien externe

Contrôle d'accès en sécurité informatique
Types de contrôle d'accès

Modèles de contrôle d'accès