语境:
我在 Ubuntu 14.04 服务器操作系统上创建了一个带有 Packer for Vagrant 系统的虚拟机。一切运行正常,但这是一个开发虚拟机(只有我一个人使用),我想轻松快速地管理我的系统。
解决方案:
我始终在系统上使用 root 帐户。构建操作系统后,我运行命令,sudo passwd
命令提示我输入 root 帐户的密码。
问题:
我想将此命令添加到我的 vagrant 内置进程中,这样我就不必手动运行它,但我找不到以非交互模式启动它的解决方案。
那么,我怎样才能sudo passwd
非交互地运行?
答案1
由于您已经以 root 身份运行,因此无需使用 sudo ;)
echo "root:your_desired_root_password"|chpasswd
也适用于脚本。
看http://manpages.ubuntu.com/manpages/xenial/man8/chpasswd.8.html
您还可以使用 expect 或其他脚本:
https://stackoverflow.com/questions/8236699/script-to-change-password-on-linux-servers-over-ssh
或类似链接