设置CHMOD 777后/ bin / node权限被拒绝

时间:2018-08-06 07:58:55

标签: php node.js permissions

这是针对Amazon EC2 linux的。

我有一个运行Shell脚本的PHP脚本。

因此在shell脚本中是一个用于运行节点的命令。

当我从命令行运行PHP脚本时,节点将执行。

从浏览器运行PHP脚本时,我在apache日志中收到此消息:

/home/ec2-user/.nvm/versions/node/v8.11.3/bin/node: Permission denied

这是在/home/ec2-user/.nvm/versions/node/v8.11.3/bin/node上执行chmod 777之后

我也做过chown ec2-user:apache /home/ec2-user/.nvm/versions/node/v8.11.3/bin/node

另外,这是以下结果:

$ ls -alrt /home/ec2-user/.nvm/versions/node/v8.11.3/bin/node

-rwxrwxrwx 1 ec2-user apache 34800111 Jun 12 22:40 /home/ec2-user/.nvm/versions/node/v8.11.3/bin/node

每个人都有完整的权限,如何获得“权限被拒绝”错误?

因此,如果我从命令行运行PHP脚本,这同样可以完美地工作。

1 个答案:

答案 0 :(得分:0)

好吧,这是完全不可以的,但暂时是黑客。

由于这是在我的AWS EC2实例上运行的,因此我仅通过安全组限制所有内容,只允许执行I.P。我允许的地址,所以对我来说是安全的。

您必须将权限添加到sudoers文件中的apache组。

所以,首先:

$ sudo visudo

然后添加:

%apache ALL = (ALL) NOPASSWD: ALL

到文件末尾。再次,这很糟糕,这是一个hack,但这是当前的解决方法,我限制了通过IP对EC2实例的访问。还是要在安全组中找到地址。