#!/bin/bash ####### ### Copy customization files to their proper locations after backing up ### original files ### ### Script by: Asif Bacchus for mytechiethoughts.com ### Exclusively available from: ### https://git.asifbacchus.app/asif/DebianConfigs ### Some rights reserved. ### ### Anyone is allowed to use and alter this script and any or all accompanying ### files for their own needs as long as the intent as stated at the beginning ### of this comment block remains the same and credit is given to the author ### or the 'mytechiethoughts.com' website. ### ### Neither the author or anyone affiliated with 'mytechiethoughts.com' accepts ### any liability whatsoever arising from using or even thinking about using ### this script or any accompanying files for any purpose whether intended, ### incidental or otherwise. ### ### Please refer to https://mytechiethoughts.com/ ### for more information about this script and its accompanying files. ####### # colour definitions norm="\e[0m" yellow="\e[93m" cyan="\e[96m" mag="\e[95m" err="\e[1;31m" ok="\e[1;32m" # allow base copy-path for debugging, otherwise default to '' as base (i.e. use # root as base) if [ -n "${1}" ]; then path="${1%/}" echo -e "\n${err}BASE PATH:${norm} ${path}" echo -e "${err}All files will be copied to subdirectories beneath this 'base path' instead" echo -e "of the correct locations. This should only be done for testing!${norm}\n" else unset path fi ### verify this script is running as root, otherwise exit with notification if [ $(id -u) -ne 0 ]; then echo -e "\n${err}This script MUST be run as ROOT. Exiting${norm}" exit 1 fi ### let user know what's happening echo -e "\n${norm}This script will copy TEMPLATE files to various locations in order to customize" echo "your system. Backups will be created in-place with the extension '.original'" echo -e "\n${yellow}Please note: It's still up to you to customize the template files with settings" echo "appropriate to your environment!" echo -e "\n${cyan}Details about template files are in the readme.md files within each directory" echo -e "in this archive.${norm}\n" ### copy files to proper locations echo -e "${mag}---------------------${norm}" echo "(please note any errors below)" ## copy clean .bashrc for root user echo -e "copying ${yellow}.bashrc${norm} to ${yellow}${path}/root${norm}" # backup cp -f /root/.bashrc "${path}/root/.bashrc.original" # copy new cp -f config/root/.bashrc "${path}/root/.bashrc" ## copy profile template file echo -e "copying ${yellow}profile${norm} to ${yellow}${path}/etc/profile${norm}" # backup cp -f /etc/profile "${path}/etc/profile.original" # copy new cp -f config/etc/profile "${path}/etc/profile" ## copy updated bash.bashrc echo -e "copying ${yellow}bash.bashrc${norm} to ${yellow}${path}/etc/bash.bashrc${norm}" # backup cp -f /etc/bash.bashrc "${path}/etc/bash.bashrc.original" # copy new cp -f config/etc/bash.bashrc "${path}/etc/bash.bashrc" ## copy updated skel .bashrc echo -e "copying ${yellow}.bashrc${norm} to ${yellow}${path}/etc/skel/.bashrc${norm}" # backup cp -f /etc/skel/.bashrc "${path}/etc/skel/.bashrc.original" # copy new cp -f config/etc/skel/.bashrc "${path}/etc/skel/.bashrc" ## copy nano settings echo -e "\ncopying ${yellow}nanorc${norm} to ${yellow}${path}/etc/nanorc${norm}" # backup cp -f /etc/nanorc "${path}/etc/nanorc.original" # copy new cp -f config/etc/nanorc "${path}/etc/nanorc" ## copy timesync echo -e "\ncopying ${yellow}timesyncd.conf${norm} to ${yellow}${path}/etc/systemd/timesyncd.conf${norm}" # backup cp -f /etc/systemd/timesyncd.conf "${path}/etc/systemd/timesyncd.conf.original" # copy new cp -f config/etc/systemd/timesyncd.conf "${path}/etc/systemd/timesyncd.conf" ## copy sshd configuration echo -e "\ncopying ${yellow}sshd_config${norm} to ${yellow}${path}/etc/ssh/sshd_config${norm}" # backup cp -f /etc/ssh/sshd_config "${path}/etc/ssh/sshd_config.original" # copy new cp -f config/etc/ssh/sshd_config "${path}/etc/ssh/sshd_config" ### Exit gracefully echo -e "${mag}---------------------${norm}" echo -e "\n${ok}All done!${norm}\n" exit 0