[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Shell-Script suid [était: pon quick]



Loic Le Guyader wrote:

> Bon, si quelqu'un veut m'aider je suis preneur. En effet, je ne
> comprends toujours pas pourquoi touch dit qu'il n'a pas les bon droit
> alors que si puisque le script est setuid.

Visiblement, le caractère suid/guid des Shell-Script est ignoré.
Comme ce n'est pas le noyau, c'est un problème avec le shell sh.

Le man de bash propose l'option -p mais rien n'y fait.

Petit script de test:
    
    $ cat id.suid.sh
    #! /bin/sh -p
    rm -f id.txt
    touch id.txt
    /usr/bin/id
    $ ls -l id.suid.sh
    -rwsr-xr-x    1 games    shadow         73 Mar 29 17:42 id.suid.sh

C'est étrange, mais c'est un bug corrigé en mars 1997 dans Bash:

  * Don't drop suid/sgid bits if invoked as sh (#7796)

Mais même chose avec pdksh :-(

Avec le wrapper en suid, il n'y a pas de problème:

    int main (int argc, char *argv[]) {
	return execvp (argv[1], argv + 1);
    }

Mais où est le bug ?
-- 
Edouard G. Parmelan
http://egp.free.fr



Reply to: