我的应用程序在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
我是否需要将其更改为其他内容才能使其正常工作?怎么样?
答案 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
意味着其他人+
表示添加-
表示删除。因此,这意味着递归地向所有人添加读取,写入和执行权限,然后从其他人删除写入权限。
仅此而已。
我希望这会有所帮助