#!/bin/bash # Licence : GPL v3 # Author: Laurent HUBERT # # Deploys the first boot initialization scripts on a system if [[ $EUID -ne 0 ]]; then echo "This script cannot work if not super-user. Please run as root" 1>&2 exit 1 fi SYSTEMD_DIR=/etc/systemd/system FIRST_BOOT_BASE_DIR=/etc/first-boot FIRST_BOOT_SCRIPTS_DIR=$FIRST_BOOT_BASE_DIR/scripts cp first-boot-init.service ${SYSTEMD_DIR} mkdir -p $FIRST_BOOT_SCRIPTS_DIR rm $FIRST_BOOT_SCRIPTS_DIR/* cp first-boot-script $FIRST_BOOT_BASE_DIR/ cp scripts/* $FIRST_BOOT_SCRIPTS_DIR # Resets the flag file touch $FIRST_BOOT_BASE_DIR/.mustrun # Deploys #See to make automatic root at first login https://serverfault.com/questions/760391/make-no-password-required-on-local-linux-tty-login cp /root/.profile /root/.profile.firstboot grep -F "$FIRST_BOOT_BASE_DIR" /root/.profile > /dev/null || echo $FIRST_BOOT_BASE_DIR/first-boot-script >> /root/.profile the_user=$(id -u 1000 -n) cp /home/$the_user/.profile /home/$the_user/.profile.firstboot grep -F "$FIRST_BOOT_BASE_DIR" /home/$the_user/.profile > /dev/null || echo sudo $FIRST_BOOT_BASE_DIR/first-boot-script >> /home/$the_user/.profile #https://stackoverflow.com/questions/14152026/how-can-i-automatically-login-on-a-tty-and-execute-a-script #https://unix.stackexchange.com/questions/401759/automatically-login-on-debian-9-2-1-command-line echo "You can now run rm -r on this directory" echo "e.g. :" echo "\$ cd .." echo "\$ rm -r $(pwd)"