Attention, après recherche le bit suid ne fonctionne pas sur linux pour les scripts bash... Cela explique bien des choses que je ne comprenais pas !
$ cat hello.c
#include
#include
int main(int argc, char **argv[]) {
printf("hello getuid=%d geteuid=%d\n", getuid(), geteuid());
}
$ gcc hello.c -o hello && sudo chown root:root hello && sudo chmod u+s hello && ls -l hello
-rwsr-xr-x 1 root root 8484 2012-09-05 13:43 hello
$ ./hello
hello getuid=1000 geteuid=0
$ sudo chmod u-s hello
$ ./hello
hello getuid=1000 geteuid=1000