Le Wed, 08 Dec 2004 12:56:23 +0100, "Michel.Rix" <Michel.Rix@???> a écrit :
> Bonjour,
>
> Avec le programme suivant
>
>
> #! /usr/bin/python2.3kk
> import os
> print "uid=",os.getuid()," euid=",os.geteuid()," gid=",os.getgid(),"
> egid=",os.getegid()
>
> avec les droits suivant:
> -rwsrwsrwx 1 root user
>
> me donne ceci à l'execution:
> uid= 503 euid= 503 gid= 503 egid= 503
>
>
> Alors que j'escomptais, comme avec l'équivalent en C:
> [ main()
> {printf("uid=%d euid=%d gid=%d egid=%d\n", getuid(), geteuid(),
> getgid(), getegid() ); }
> ]
> uid= 503 euid= 0 gid= 503 egid= 0
>
> Merci de vos lumières.
>
> Michel
>
Salut,
Je ne suis pas complètement sûr, mais je crois que le shell (bash) refuse
d'honorer le bit 'set-uid' pour un script et le désactive automatiquement. Comme
ton programme Python est dans un script (il me semble que c'est le shell qui
appelle
Python lorsqu'il voir #! <programme>), il ne voit plus le bit set-uid...
Fred.