sudo changes PATH - why?

Posted by Michiel de Mare on Stack Overflow See other posts from Stack Overflow or by Michiel de Mare
Published on 2008-11-03T00:05:44Z Indexed on 2010/03/19 18:11 UTC
Read the original article Hit count: 218

Filed under:
|
|

This is the PATH variable without sudo:

$ echo 'echo $PATH' | sh

/opt/local/ruby/bin:/usr/bin:/bin

This is the PATH variable with sudo:

$echo 'echo $PATH' | sudo sh

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

As far as I can tell, sudo is supposed to leave PATH untouched. What's going on? How do I change this? (This is on Ubuntu 8.04).

UPDATE: as far as I can see, none of the scripts started as root change PATH in any way.

From man sudo:

To prevent command spoofing, sudo checks ``.'' and ``'' (both denoting current directory) last when searching for a command in the user's PATH (if one or both are in the PATH). Note, however, that the actual PATH environment variable is not modified and is passed unchanged to the program that sudo executes.

© Stack Overflow or respective owner

Related posts about sudo

Related posts about linux