ls:无法打开目录'。':权限被拒绝

时间:2018-04-20 15:21:08

标签: amazon-web-services ubuntu amazon-ec2 file-permissions

我的应用程序在ec2实例上运行。

我可以成功ssh进入我的应用程序,但当我cd进入正确的文件夹并运行ls时,我收到以下错误:

ls: cannot open directory '.': Permission denied

它似乎与我的用户权限有关,因为运行该应用程序也会引发403 Forbidden错误。

我的应用程序文件夹的权限如下:

d-wx-wx--x 17 ubuntu ubuntu 4096 Apr 20 10:53 application-name

我是否需要将其更改为其他内容才能使其正常工作?怎么样?

3 个答案:

答案 0 :(得分:1)

您没有对文件夹的读取权限。

运行chmod 775 application-name以允许读取您的文件夹。

您可以在此链接中找到有关chmod的其他信息:https://kb.iu.edu/d/abdb

答案 1 :(得分:1)

如果您没有足够的权限来读取该目录,则此错误很有意义。尝试更改当前用户的权限或将访问模式更改为全局,即777 例如:

sudo bash
chmod 775 .

答案 2 :(得分:1)

这基本上是由于当前用户没有足够的权限来读取/写入/执行该目录的内容。

这是解决方法

要将用户权限仅授予当前目录,您可以执行以下操作:

sudo chmod 775 directory_name

OR

sudo chmod a+rwx,o-w directory_name

要授予用户对当前目录(子目录和文件)的权限,您可以执行以下操作:

sudo chmod -R 775 directory_name

OR

sudo chmod -R a+rwx,o-w directory_name

注意

  • chmod表示更改模式,或者从更确切的意义上讲更改访问权限
  • -R意味着递归更改文件和目录。
  • a表示所有用户
  • r表示具有读取权限
  • w表示具有写权限
  • x表示执行权限
  • o意味着其他人
  • +表示添加
  • -表示删除。

因此,这意味着递归地向所有人添加读取,写入和执行权限,然后从其他人删除写入权限。

仅此而已。

我希望这会有所帮助