从另一个脚本调用ec2auth时不起作用

时间:2014-06-20 22:20:39

标签: php bash amazon-web-services amazon-ec2

我正在尝试使用ec2auth自动化AWS防火墙中的IP白名单,使其成为点击获取来自php文件的IP并调用bash脚本的链接。 bash脚本检查此人是否有权访问,然后调用另一个执行防火墙IP更新的bash脚本。

BASH1

if [ "$ACCESS" = "allowed" ]
   then echo -n "Updating access... "
        BASH2 "$newIP"

fi

BASH2

IP="$1"
echo -n "Adding new IP... "
addResult="$(ec2auth group -P tcp -p 3389 -s "$IP"/32)"

但这样做我收到了错误

addResult is: +-------------+--------------------------------------------------------------+
|    Code     |                           Message                            |
+-------------+--------------------------------------------------------------+
| AuthFailure | AWS was not able to validate the provided access credentials |
+-------------+--------------------------------------------------------------+

但是如果我从终端运行BASH2它可以正常工作。任何人都知道什么是错的。

1 个答案:

答案 0 :(得分:0)

我发现这个工作

BASH1

if [ "$ACCESS" = "allowed" ]
   then echo -n "Updating access... "
    sudo /fullpath/BASH2 "$newIP"

fi

和我的sudoers文件的一部分

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

希望它可以帮助其他人。如果你的原因,请告诉我。谢谢