Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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