Messages in this thread | | | Date | Wed, 10 Feb 1999 17:52:48 +0700 | From | Agus Budy Wuysang <> | Subject | Re: [linux-security] When a shell says no (clobber) it means maybe. |
| |
If you mean noclobber as in bash's "set -o noclobber", then it only applies to shell redirection (try: help set)
Antonomasia wrote: > > As will be seen from these code fragments (and experiment) a noclobber > option in bash or pdksh (or ksh on AIX) will do limited clobbers. > > 1) They will clobber named pipes. > (mknod /tmp/predicted p > cat /tmp/predicted > $stolen > cat $switched > /tmp/predicted ) &
What are the values of $stolen & $switched? FIFO named pipes is not a real file, they do not contain any data, so to clobber or not to clobber is not a question.
But there is an interesting behaviour of pipes (I have no other unix box I can try, but linux 2.0.36 & 2.2.2pre2)
1 $ mkfifo fifo 2 $ echo "blah" > fifo & 3 $ cat fifo > fifo & 4 $ cat fifo #if this does not exit after "blah" string is read press ctrl-C, line #2 should exit. 5 $ echo "blah again" > fifo # this should return immediately
and BOOM! Job line #3 will loop with 90-99% CPU usage time. Note this doesn't not happen if you skip line #2 (and/or #4).
Could someone with access to other Unix flavour check this one out...
> 2) They will clobber symlinks. > ln -s /some/new/target /tmp/predicted > > 3) They can be raced. > mkdir /tmp/predicted > echo "hoping stat() happens now: returns 0 and non S_ISREG" > mv /tmp/predicted /tmp/other > ln -s /some/old/target /tmp/predicted
These commands does not involve any shell redirection...
-- +---| Netscape Communicator 4.x |---| Powered by Linux 2.1.x |---+ |/v\ Agus Budy Wuysang MIS Department | | | Phone: +62-21-344-1316 ext 317 GSM: +62-816-1972-051 | +--------| http://www.rad.net.id/users/personal/s/supes |--------+ -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS/IT dx s: a- C+++ UL++++$ P- L+++(++++) E--- W++ N+++ o? K? w-- O- M- V-- PS+ PE Y-- PGP t+@ 5 X+ R- tv- b+ DI? D++(+) G e++ h* r+ y++ ------END GEEK CODE BLOCK------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |