我正在尝试为在Ubuntu 14.04安装期间创建的用户授予无密码sudo特权。但是,当镜像创建时,与sudo相关的所有更改都不存在。以下是预配置文件的相关部分:
# Create Vagrant User
d-i passwd/user-fullname string Vagrant User
d-i passwd/username string vagrant
d-i passwd/user-password password vagrant
d-i passwd/user-password-again password vagrant
d-i user-setup/encrypt-home boolean false
d-i user-setup/allow-password-weak boolean true
# Setup passwordless sudo for vagrant user
d-i preseed/late_command string echo "vagrant ALL=(ALL:ALL) NOPASSWD:ALL" > /target/etc/sudoers.d/vagrant
d-i preseed/late_command string chmod 0440 /target/etc/sudoers.d/vagrant
我也尝试过。
d-i preseed/late_command string in-target echo "vagrant ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers.d/vagrant
当镜像完成时,/etc/sudoers.d/vagrant 将不再存在。
即使我运行以下命令:
d-i preseed/late_command string mkdir /stuff
d-i preseed/late_command string in-target mkdir /stuff
stuff目录不存在。
我知道命令正在运行,因为我曾经打错过一次,安装过程中出现了错误。所有其他的preseed命令似乎都在工作。
我已经了解了in-target指令,并且安装程序将创建一个包含最终文件系统的/target目录,但我似乎无法使它们起作用。
使用packer,我运行了一个shell脚本来进行echo,那个脚本是可行的。
preseed/late_command
,请参见 此处 和 此处。 - mata