Please help

Matthew Hannigan mlh at zip.com.au
Sat Mar 23 02:42:58 EST 2002


Douglas De Vine wrote:
> my sudoers file:
> root    ALL=(ALL) ALL
> www     ALL = NOPASSWD: ALL
> 
> my command, run as 'www':
> /usr/bin/sudo echo "Hello" >> /tmp/hosts
> 
> the error:
> bash: /tmp/hosts: Permission denied
> 
> the file permissions:
> -rw-r--r--    1 root     nobody         30 Mar 23 14:26 hosts
> 


Doug,
That's a shell feature.  /tmp/hosts is opened by
the shell before sudo is executed.

This might work (I'm away from my sudo machine
at the moment)

	
/usr/bin/sudo 'echo "Hello" >> /tmp/hosts'

if that doesn't, then try:

/usr/bin/sudo echo '"Hello" >> /tmp/hosts'

A surefire way and much safer way to  make it work would
be to that entire command in a shell script and only allow
www to execute that shell script.

Another security note .. as root, (or anybody really)
you should NOT create files with simple nonrandom
file names like "hosts" in /tmp.


-Matt



	





More information about the sudo-users mailing list