Question:
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?
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.