Can't do: sudo cd /var/cron/tabs

Rick Barter rvb01 at zeus.zeroimpact.org
Wed Jul 16 19:08:54 EDT 2003


On Wed, Jul 16, 2003 at 06:02:55PM -0500, donald.ritchey at exeloncorp.com wrote:
> 'cd' is a shell built-in.  It changes the operating environment of the
> current shell.  To do what you want to do, you need to be able to run a
> command pipeline through sudo.  For example, to see the content of 'tabs',
> you would run:
> 	sudo sh -c 'cd tabs; ll';
> 
> To copy any text files in tabs to your home directory, you would run:
> 	sudo sh -c "cd tabs; cp *.txt ${HOME}/"
> 
> Even if you could do the 'cd' within sudo, here is what would happen:
> 	you run: sudo cd tabs
> 	sudo starts a new shell with the command 'cd' changing directory to
> 'tabs' within that shell.
> 	The new shell changes to /var/cron/tabs as its current working
> directory
> 	No other commands are found for the shell to execute, so it exits.
> 	You are back in your original starting point of /var/cron.
> 
> Is this a clear explanation of why you can't use sudo to simply change
> directory into a new directory, without giving the new shell something else
> to do?
> 
Absolutely!  Thanks, Don.  I appreciate it greatly.  Thanks for also
showing me how I can accomplish my task.  AWESOME!

Thanks again,

rvb


More information about the sudo-users mailing list