vagrant-setup 1.68 KB
#!/bin/sh

set -ex

fs="$1"
if [ -z "$fs" ]; then
  echo "usage: $0 ROOTFS"
  exit 1
fi

chroot $fs useradd --uid 1000 vagrant
mkdir -p $fs/home/vagrant
chroot $fs chown vagrant:vagrant /home/vagrant

mkdir -p $fs/root/.ssh
chmod 700 $fs/root/.ssh
cat > $fs/root/.ssh/authorized_keys << EOF
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
EOF
chmod 600 $fs/root/.ssh/authorized_keys

mkdir -p $fs/home/vagrant/.ssh
chmod 700 $fs/home/vagrant/.ssh
cat > $fs/home/vagrant/.ssh/authorized_keys << EOF
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
EOF
chmod 600 $fs/home/vagrant/.ssh/authorized_keys
chroot $fs chown -R vagrant:vagrant /home/vagrant/.ssh

# vagrant needs passwordless sudo
if [ -x $fs/usr/bin/apt-get ]; then
  chroot $fs apt-get install -qy sudo
fi
if [ -x $fs/usr/bin/yum ]; then
  chroot $fs yum install -y sudo
fi
cat > $fs/etc/sudoers.d/vagrant <<EOF
vagrant ALL=(ALL) NOPASSWD:ALL
EOF
chmod 0440 $fs/etc/sudoers.d/vagrant
sed -i -e '/Defaults\s*requiretty/ d' $fs/etc/sudoers