Bonjour,
je viens de rencontrer 'suid ' et j'ai une petite question ladessus.
tout d'abord , suivant ce que j'ai lu le suid donne le droit a tout utilisateur d'executer le fichier comme si ce fichier etait le sien.
si les droit d'acces a un fichier sont : rws r-x r-x .
Ma remarque est tous le monde a le droit d'executer ,alors pourqoi on ajoute Le s ??
Merci infiniment pour votre aide .

T'es sûr ? ;-((
Le sticky-bit est caractérisé par un "t" et non un "s" (synonyme de "set-uid").
Pour répondre à la question, je citerai un extrait du lien ci-dessus :
Bien sûr, un utilisateur ne peut jouir du droit SUID que s'il détient par ailleurs les droits d'exécution du programme.
Si tu n'as que les droits d'exécution sur le programme, tu pourras l'exécuter, mais si tu dois écrire dans un répertoire (ou un fichier) dont tu n'as pas les droits en écriture, ton exécution s'arrêtera là ;-(
Alors qu'avec le droit SUID, tu pourras écrire dans le répertoire/fichier qui ne t'appartient pas.
Dans l'exemple rwsr-xr-x, tout le monde a le droit de lancer le programme certes, mais celui-ci sera lancé comme si c'était directement le propriétaire du fichier qui l'avait fait.
mais celui-ci sera lancé comme si c'était directement le propriétaire du fichier qui l'avait fait.
Pour mieux comprendre la gestion d'accès, puisqu'ici on touche une autre partie concernant la gestion des processus et ce n'est plus le sujet de l'attribution des droits.
Il faut savoir qu'il existe trois identifiants pour un processus lancé : l'UID réel, l'UID effectif et l'UID sauvé.
l'UID réel - c'est l'identifiant de l'utilisateur qui lance le programme
l'UID effectif - c'est l'identifiant qui corresponds aux privilèges accordés au processus
l'UID sauvé - c'est une copie de l'ancien UID effectif lorsque celui-ci est modifié par le processus.
Lors d'un essai d'accès à un fichier, répertoire, etc où il faut des privilèges, le kernel prends en compte l'UID effectif