Anthony Pankov wrote:
> SGID/SUID bits don't work with shell scripts, do they?
> 
> And no mention in chmod(1,2) manual.

They don't.

One reason for this, is that if they were applied, the following would
occur :
- execve() syscall reads your script's shebang line, and the script
interpreter is executed, receiving the specified arguments along with
the script name.
- The interpreter then open()s the script file to read it, and run the code.

The problem you then are faced with, is that you have a time frame
defined by the moment between the aforementioned execve() and open(),
during which it could be possible to unlink/move/whatever the shell
script the interpreter is going to open.

You guess where this is going, you have no absolute way of guaranteeing
you are executing the file you initially planned on opening because
execution/opening/reading is not, and can't be done atomically for shell
scripts.

Cheers,
-- 
Stephane LAPIE, EPITA SRS, Promo 2005
"Even when they have digital readouts, I can't understand them."
--MegaTokyo

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to