Ubuntu – Why doesn’t `sudo cd /var/named` work?

permissionssudo

I want to cd into /var/named but it gives me a permission denied error, and when I want to use sudo to do this I am not permitted. What is the technical reason for this, and is it possible to do this some other way?

Best Answer

The reason you can't do this is simple and two fold

1

cd is not a program but an in-built command and sudo only applies to programs.

sudo foo means run the program foo as root

sudo cd /path returns

sudo: cd: command not found

because cd is not a program.

2

If it were possible to use sudo to cd to a protected directory then having run the command sudo cd /var/named you would be in that directory as a normal user but normal users are not allowed to be in that directory.

This is not possible.

Workaround:

You can use sudo -i to elevate yourself to super user. For example:

sudo -i
cd /var/named 

You are now logged on as root and can use whatever commands you wish. When finished type exit and you are back to being logged on as a normal user.

Related Question