为什么我无法进入目录?


14

我正在运行Ubuntu 10.04.2 LTS。为什么我不能cd进入/var/www目录?

david@ubuntu:/var$ pwd
/var

david@ubuntu:/var$ ls -l
drwxrwxr-- 13 root root  4096 2011-02-26 21:53 www

david@ubuntu:/var$ cd www
-bash: cd: www: Permission denied

david@ubuntu:/var$ sudo cd www
sudo: cd: command not found

2
cd是内置的shell,因此sudo无法使用。
暂停,直到另行通知。

即使可以使用它,也没有意义。通常没有办法使另一个进程更改其工作目录,因此无论cd可执行文件做什么,它都不能更改Shell进程的cwd。
大卫·史瓦兹

Answers:


13

您需要具有CD进入目录的执行权限。

sudo chmod o+x /var/www

3
需要澄清的一点:在上面的示例中,root(用户)和root(组)都设置了execute位。因此,组root的成员可以CD进入www。大卫用户无法cd,因为他不包含在根组成员中。您可以通过查看/ etc / group的内容来检查它
-adamo

1

出于某些原因,禁止“其他”进入目录,不是吗?因此,我建议您获得root访问权限以进入该目录,执行一些操作,然后将其保留,并删除sudo shell。

sudo -i 
cd /var/www
# do your thing
cd -
exit

1

仅提供一点点信息,为您的系统创建一个Web用户和组而不让服务作为root运行是明智的。然后,您还可以根据需要将用户添加到该组中,而不必提供root特权。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.