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.