Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从另一个脚本调用ec2auth时,ec2auth不工作_Php_Bash_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

Php 从另一个脚本调用ec2auth时,ec2auth不工作

Php 从另一个脚本调用ec2auth时,ec2auth不工作,php,bash,amazon-web-services,amazon-ec2,Php,Bash,Amazon Web Services,Amazon Ec2,我正在尝试使用ec2auth自动生成AWS防火墙中的IP白名单,方法是将其作为一个链接,单击该链接可从php文件获取IP,并调用bash脚本。bash脚本检查此人是否应该具有访问权限,然后调用另一个bash脚本来更新防火墙IP BASH1 BASH2 但这样做,我得到了一个错误 addResult is: +-------------+--------------------------------------------------------------+ | Code |

我正在尝试使用ec2auth自动生成AWS防火墙中的IP白名单,方法是将其作为一个链接,单击该链接可从php文件获取IP,并调用bash脚本。bash脚本检查此人是否应该具有访问权限,然后调用另一个bash脚本来更新防火墙IP

BASH1

BASH2

但这样做,我得到了一个错误

addResult is: +-------------+--------------------------------------------------------------+
|    Code     |                           Message                            |
+-------------+--------------------------------------------------------------+
| AuthFailure | AWS was not able to validate the provided access credentials |
+-------------+--------------------------------------------------------------+
但是如果我从终端运行BASH2,它就可以正常工作。谁都知道怎么了

我发现这很管用

BASH1

还有我的sudoers档案的一部分

# User privilege specification
www-data        ALL=(ALL) NOPASSWD: /fullpath/BASH1, /fullpath/BASH2

希望它能帮助其他人。如果你知道为什么这样做,请告诉我。谢谢

BASH2中的变量
IP
是什么?它是否设置为传递到脚本某处的参数,例如,
IP=$1
addResult is: +-------------+--------------------------------------------------------------+
|    Code     |                           Message                            |
+-------------+--------------------------------------------------------------+
| AuthFailure | AWS was not able to validate the provided access credentials |
+-------------+--------------------------------------------------------------+
if [ "$ACCESS" = "allowed" ]
   then echo -n "Updating access... "
    sudo /fullpath/BASH2 "$newIP"

fi
# User privilege specification
www-data        ALL=(ALL) NOPASSWD: /fullpath/BASH1, /fullpath/BASH2