39 lines
1.2 KiB
Bash
Executable file
39 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
|
|
source common/ui.sh
|
|
|
|
info "Preparing vagrant user..."
|
|
|
|
# Create vagrant user
|
|
if $(grep -q 'vagrant' ${ROOTFS}/etc/shadow); then
|
|
log 'Skipping vagrant user creation'
|
|
else
|
|
debug 'vagrant user does not exist, renaming ubuntu user...'
|
|
mv ${ROOTFS}/home/{ubuntu,vagrant}
|
|
chroot ${ROOTFS} usermod -l vagrant -d /home/vagrant ubuntu
|
|
chroot ${ROOTFS} groupmod -n vagrant ubuntu
|
|
echo -n 'vagrant:vagrant' | chroot ${ROOTFS} chpasswd
|
|
log 'Renamed ubuntu user to vagrant and changed password.'
|
|
fi
|
|
|
|
# Configure SSH access
|
|
if [ -d ${ROOTFS}/home/vagrant/.ssh ]; then
|
|
log 'Skipping vagrant SSH credentials configuration'
|
|
else
|
|
debug 'SSH key has not been set'
|
|
mkdir -p ${ROOTFS}/home/vagrant/.ssh
|
|
echo $VAGRANT_KEY > ${ROOTFS}/home/vagrant/.ssh/authorized_keys
|
|
chroot ${ROOTFS} chown -R vagrant: /home/vagrant/.ssh
|
|
log 'SSH credentials configured for the vagrant user.'
|
|
fi
|
|
|
|
# Enable passwordless sudo for the vagrant user
|
|
if [ -f ${ROOTFS}/etc/sudoers.d/vagrant ]; then
|
|
log 'Skipping sudoers file creation.'
|
|
else
|
|
debug 'Sudoers file was not found'
|
|
echo "vagrant ALL=(ALL) NOPASSWD:ALL" > ${ROOTFS}/etc/sudoers.d/vagrant
|
|
chmod 0441 ${ROOTFS}/etc/sudoers.d/vagrant
|
|
log 'Sudoers file created.'
|
|
fi
|