sysconfig/config-debian.sh
2021-11-04 15:17:33 +08:00

96 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
echo "Usage: this.sh [NewUser]"
echo "Example: this.sh alice"
if [ v$1 != v ]
then
NewUser=$1
else
NewUser=adot
fi
apt update
apt install -y emacs git curl screen sudo automake
echo "<<< Making dir /faronear"
if [ ! -d "/faronear" ]
then
mkdir /faronear
fi
echo "<<< Making dir /faronear/fon"
if [ ! -d "/faronear/fon" ]
then
mkdir /faronear/fon
fi
echo "<<< Git cloning to /faronear/fon/sysconfig"
if [ ! -d "/faronear/fon/sysconfig" ]
then
git clone https://git.faronear.org/fon/sysconfig /faronear/fon/sysconfig
fi
echo "<<< Configure home"
if [ ! -f "~/.bashrc.backup" ]
then
source /faronear/fon/sysconfig/config-home.sh /faronear/fon/sysconfig/home
fi
echo "<<< Change root password"
passwd
echo "<<< Add a new user $NewUser"
useradd $NewUser
passwd $NewUser
mkdir /home/$NewUser
chown $NewUser:$NewUser /home/$NewUser
chmod 700 /home/$NewUser
# emacs /etc/passwd
# Debian 10 default to /bin/sh
sed -i "s|/home/$NewUser:/bin/sh$|/home/$NewUser:/bin/bash|g" /etc/passwd
# Debian 9 default to empty
sed -i "s|/home/$NewUser:$|/home/$NewUser:/bin/bash/g" /etc/passwd
echo "<<< Allow the new user $NewUser to sudo without password"
#echo "Option 1: Add the new user to %sudo group in /etc/sudoers file"
#usermod -a -G sudo $NewUser # Add to sudo group
#echo "<<< Allow sudo without password: %sudo ALL=(ALL:ALL) NOPASSWD:ALL"
#chmod o+w /etc/sudoers
#sed -i "s|%sudo\s\+ALL=(ALL:ALL)\sALL|%sudo\tALL=(ALL:ALL) NOPASSWD:ALL|g" /etc/sudoers
#chmod o-w /etc/sudoers
echo "Option 2: Add a file for the new user in /etc/sudoers.d/ folder"
chmod o+w /etc/sudoers
sed -i "s|#includedir /etc/sudoers.d|includedir /etc/sudoers.d" /etc/sudoers
chmod o-w /etc/sudoers
echo 'adot ALL=(ALL:ALL) NOPASSWD:ALL' > /etc/sudoers.d/$NewUser
chmod a-w /etc/sudoers.d/$NewUser
echo "<<< Disallow root login: #PermitRootLogin yes"
# emacs /etc/ssh/sshd_config
sed -i "s/^PermitRootLogin yes/#PermitRootLogin yes/g" /etc/ssh/sshd_config
service sshd restart
#echo "<<< autologin for Xfce: /etc/lightdm/lightdm.conf"
#sed -i "s/^#autologin-user=$/autologin-user=$NewUser/g" /etc/lightdm/lightdm.conf
#sed -i "s/^#autologin-user-timeout=0$/autologin-user-timeout=0/g" /etc/lightdm/lightdm.conf
echo "<<< Configure autostart"
if [ -f /etc/rc.local ]
then
mv /etc/rc.local /etc/rc.local.backup
fi
touch /etc/rc.local
chmod +x /etc/rc.local
echo '#!/bin/bash' > /etc/rc.local # can't omit, otherwise you can't launch pm2 in autostart.sh. Don't use double quote here, otherwise error.
echo 'source /faronear/autostart.sh' >> /etc/rc.local # make sure to sudo pm2 in autostart.sh, otherwise pm2 list can't find it as root.
touch /faronear/autostart.sh
chmod +x /faronear/autostart.sh
echo '>>> Autostart is set. You can "systemctl start/stop/status rc-local" to manage it.'
echo "<<< Configure locales: install all-locales and set default to none."
dpkg-reconfigure locales
echo "<<< Debian System Setup Completed >>>"