我正在尝试使用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它可以正常工作。任何人都知道什么是错的。
答案 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
希望它可以帮助其他人。如果你的原因,请告诉我。谢谢