Write to a file without redirection?
How about this:
echo -n 'magic' | sudo tee /some/where/file > /dev/null
Sure there are redirections in this but only tee runs as root not a shell. Works with dd of=...
too.
Without output redirect, without pipe, but with "here string":
dd of=/some/where/file <<<'magic'
There's another consideration, which is that you don't want to put the value of the magic cookie on a command line, since that can be observed by other users. Even if the program is short-lived (including if the program zeros out the command line string), there is the opportunity for attack. So, a theoretical:
writestringtofile 'magic' /some/where/file
is a dangerous approach. Therefore, I endorse @stribika's suggestion: write the value to a temporary file and copy it into place. Make sure to use a secure function to create the temporary file (mkstemp()
) so that there's not a race condition there as well.