0

我正在设置一个运行 apache 的 Linux Web 服务器。我上传并解压了我的网站文件。当我通过 SSH 进入系统时,主目录中的文件都是可见的。但是,我被所有子目录阻止。如果我写:

# cd images

然后我得到错误:

-bash: cd: images: Permission denied

我以 ec2-user 身份登录。我将这些东西解压为 ec2-user 并且我怀疑 tar 文件中是否有任何权限,因为我在 Windows 系统上创建了存档。奇怪的是我是这个目录的所有者。这是命令的片段: ls -l

drw-rw-r-- 19 ec2-user ec2-user      4096 May  4 04:09 images

当我执行“sudo su”然后键入命令 cd images 时,一切都很好。如果我是所有者并且拥有 rw 权限,为什么我作为 ec2-user 会收到“权限被拒绝”?

4

2 回答 2

2

您也需要执行权限:

chmod +x images

应该照顾它。目录的执行权限转换为“遍历目录”权限。

于 2012-10-25T04:58:36.140 回答
1

它错过了目录上的可执行位,这对于能够cd在那里执行是必不可少的。

一个快速的解决方法是在你解压你的东西的目录中运行:

# find . -type d | xargs chmod a+x

如果您的目录中有空格,请使用以下命令:

# find . -type d -exec chmod a+x "{}" \;
于 2012-10-25T04:57:22.250 回答