Qu'est ce que Setuid?

Setuid, qui signifie définir l'ID utilisateur lors de l'exécution, est un type spécial d'autorisation de fichier dans les systèmes d'exploitation Unix et similaires à Linux, tels que Linux et BSD. C'est un outil de sécurité qui permet aux utilisateurs d'exécuter certains programmes avec des privilèges élevés.

Lorsque l'autorisation setuid d'un fichier exécutable est définie, les utilisateurs peuvent exécuter ce programme avec un niveau d'accès correspondant à celui qui est propriétaire du fichier. Par exemple, lorsqu'un utilisateur souhaite modifier son mot de passe, il exécute la commande passwd. Le programme passwd appartient au compte root et est marqué comme setuid. L’utilisateur dispose donc d’un accès temporaire à l’utilisateur root pour cette tâche très limitée.

Lors de l'affichage des autorisations d'un fichier à l'aide de la commande ls -l, l'autorisation setuid s'affiche sous la forme d'un " s " dans la position du bit "utilisateur exécuté". Par exemple:

 ls -l / usr / bin / passwd 
 -rwsr-xr-x 1 racine 54192 20 nov. 17:03 / usr / bin / passwd 

Définition de la permission setuid d'un fichier

Pour définir l’autorisation setuid sur un fichier exécutable, utilisez l’identificateur d’autorisation u + s à l’aide de la commande chmod :

 chmod u + s myfile 

Les fichiers non-exécutables peuvent être marqués comme setuid, mais cela n’a aucun effet; les marquer en setuid ne les rend pas automatiquement exécutables. Dans ce cas, le bit d'autorisation s'affiche sous la forme d'un " S " majuscule. Par exemple:

 ls -l monfichier 
 -rw-r - r-- 1 utilisateur 0 mars 6 10:45 myfile 
 chmod u + s myfile 
 ls -l monfichier 
 -rwSr - r-- 1 utilisateur 0 mars 6 10:45 myfile 

Toutefois, si vous définissez ensuite le fichier comme étant exécutable par l'utilisateur avec l'autorisation u + x, l'autorisation setuid entre en vigueur. Il sera alors représenté dans la liste par un " s " minuscule:

 chmod u + x myfile 
 ls -l monfichier 
 -rwsr - r-- 1 utilisateur 0 mars 6 10:45 myfile 

Setgid

Setgid est l'équivalent de setuid qui accorde la permission au groupe propriétaire du fichier, appelé setgid . Il fonctionne de la même manière et l’indicateur " s " ou " S " s’affiche dans la position d’exécution de groupe de la sortie de ls -l . Par exemple:

 chmod g + s myfile2 
 ls -l monfichier2 
 -rw-r-sr-- 1 utilisateur 0 mars 6 10:46 myfile2 

Sigles informatiques, fichier exécutable, Linux, autorisation, conditions de sécurité