how to make an executable run as another user

Richard Bradley rtb27 at cam.ac.uk
Fri Sep 17 11:51:06 PDT 2004


Um. I feel silly asking this. But I can't work it out.

I want a shell script to run as another user. I always thought this was easy 
to do with the setuid bit, but never tried it before. I read "man chmod" and 
found this:

.....
4000    (the setuid bit).  Executable files with this bit set will
                 run with effective uid set to the uid of the file owner.
.....
s       The set-user-ID-on-execution and set-group-ID-on-execution
                   bits.
....

And off I went. I wrote a shell script to output the current uid. I chown'ed 
it to another user. I "chmod +s"ed it. I ran it.

It didn't work.

-----

rtb27# cat test
#! /bin/sh
whoami
rtb27# ll test
-rwsr-sr-x  1 rich wheel  20 Sep 17 19:34 test
rtb27# ./test
root

--------

Um. Help?



Rich



More information about the freebsd-questions mailing list