我正在建立一个运行apache的Linux Web服务器。我上传并解开了我的网站文件。当我通过SSH进入系统时,主目录中的文件都可见。但是,我被阻止了所有子目录。 如果我写:
# cd images
然后我收到错误:
-bash: cd: images: Permission denied
我以ec2-user身份登录。我解开了ec2-user的问题,我怀疑自从我在Windows系统上创建存档以来tar文件中有任何权限。 奇怪的是我是这个目录的所有者。这是命令的片段: ls -l </ p>
drw-rw-r-- 19 ec2-user ec2-user 4096 May 4 04:09 images
当我做“sudo su”然后输入命令cd images一切都很好。 如果我是所有者并获得rw权限,为什么我将“权限被拒绝”作为ec2-user?
答案 0 :(得分:2)
您也需要执行权限:
chmod +x images
应该照顾它。目录的执行权限转换为“遍历目录”权限。
答案 1 :(得分:1)
它错过了目录中的可执行位,这对于能够cd
在那里是必不可少的。
快速解决方法是在你解压缩你的东西的目录中运行:
# find . -type d | xargs chmod a+x
如果您的目录中包含空格,请使用以下命令:
# find . -type d -exec chmod a+x "{}" \;