我想使用打包程序创建一个 AWS AMI。设置过程的一部分是运行构建脚本,该脚本将为非 root 的系统用户 averagejoe 设置服务和配置环境。安装脚本基本上如下所示:
# some cmds that need to be run by averagejoe
echo "alias ll='ls -Alfh'" > $HOME/.bashrc
# some cmds that need to be run by a privileged user
sudo firewall-cmd --zone=public --permanent --add-port=3389/tcp
因此,部分脚本应以系统用户 averagejoe 执行,部分脚本应以特权用户使用 sudo 执行。因此,不能按照此处的建议以特权用户身份运行整个脚本。
当打包程序配置程序执行脚本时,如何提供 sudo pwd?我想到了一个 3 阶段的方法,首先将 sudo 重新配置为不需要密码,然后运行设置脚本,然后将 sudo 重置为请求密码,但是还有什么更优雅的吗?
我最终在执行设置脚本时关闭了 sudo 密码,如下所示:
pwd_less_sudo.sh 在哪里
而 pwd_sudo.sh 是
某些操作系统默认为非 root 用户。例如,如果您以 ubuntu 身份登录并且可以使用密码打包程序 sudo,那么您需要将 execute_command 更改为:
-S 标志告诉 sudo 从 stdin 读取密码,在这种情况下,它与 packer 的值一起通过管道输入。
这个错误发生在我身上,因为这部分封隔器:
我在哪里输入了错误的密码