> Bruce Momjian writes:
>
> > This brings up a question. If I have pid 333 and someone creates a file
> > world-writable called /tmp/333, and I go and do:
> >
> > cat file >/tmp/$$
> >
> > isn't another user now able to modify those temp file contents. Is that
> > the insecurity you mentioned Peter, and if so, how do you prevent this?
>
> That is one possibility. Another exploit is with a symlink from /tmp/333
> to a file you want to overwrite. This is more fun with root, but it's
> still not a good idea here.
>
> To securely create a temp file in shell you need to use mktemp(1), or do
> something like (umask 077 && mkdir $TMPDIR/$$) to create a subdirectory.
> Needless to say, it's tricky.
Wow, that symlink is a bad one. I don't see mktemp(1) on bsd/os, only
mktemp(3). I do see it on FreeBSD.
Good thing I don't have other shell users on my system. I do cat
>/tmp/$$ all the time in scripts.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026