#1 Le 25/07/2010, à 19:20
- ehmicky
[Résolu]SUID : comment le faire fonctionner ?
Salut à tous,
Comment faire fonctionner le SUID ? J'ai :
1) un script ayant le SUID activé, exécutable par tous. Ce script exécute lui-même un second script
2) ce second script ne peut être exécuté que par root.
Si l'on suit la théorie, j'avais l'impression que le EUID de n'importe quel user deviendrait 0 (root) en exécutant le premier script, puisque celui a le SUID activé.
Pourtant, dans les faits, si un user non-root exécute le premier script, une erreur de permission se produit.
Quelqu'un peut-il m'expliquer ce que je n'ai pas compris dans cette histoire ?
Voici le code :
# cat /dir/script.sh
#!/bin/bash
/dir/scriptroot.sh
# cat /dir/scriptroot.sh
#!/bin/bash
echo "Succès"
# chmod 4777 /dir/script.sh
# chmod 766 /dir/scriptroot.sh
# /dir/script.sh
Succès
# exit
$ /dir/script.sh
/dir/script.sh: line 2: /dir/scriptroot.sh: Permission denied
$ sudo chmod 777 /dir/scriptroot.sh
$ /dir/script.sh
Succès
Merci !
Dernière modification par ehmicky (Le 27/07/2010, à 00:20)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#2 Le 26/07/2010, à 12:01
- credenhill
Re : [Résolu]SUID : comment le faire fonctionner ?
hello
il me semble que la plupart des Unix empêchent les scripts setuid pour des raisons de sécurité.
il faut passer par un exécutable setuid, par ex.
#include <stdlib.h>
int main(void) {
system("./script");
return 0;
}
et enlever la ligne #!/bin/bash du script
Hors ligne
#3 Le 27/07/2010, à 00:20
- ehmicky
Re : [Résolu]SUID : comment le faire fonctionner ?
Ok merci, ç'est bien ça !
Merci !
Dernière modification par ehmicky (Le 27/07/2010, à 00:30)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne