This commit is contained in:
陆柯 2022-06-18 11:58:52 +08:00
parent a7e073853c
commit eb2bc570b7
5 changed files with 45 additions and 41 deletions

View File

@ -5,7 +5,8 @@ if [ v$1 != v ]
then
NewUser=$1
else
read -p "Enter new user name (leave blank for default 'adot')>> " NewUser
echo "=== Enter new <<UserName>> (leave blank for default 'adot'):"
read -p ">>> " NewUser
if [ ! $NewUser ]
then
echo Use default new user: adot
@ -13,7 +14,7 @@ else
fi
fi
echo "<<< Add a new user $NewUser"
echo "=== Add a new user $NewUser"
useradd $NewUser
# usermod -a -G sudo $NewUser # Add to sudo group
passwd $NewUser
@ -27,19 +28,19 @@ 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 "=== Allow the new user $NewUser to sudo without password"
#usermod -a -G sudo $NewUser # Add to sudo group # Option 1: add user to %sudo group
echo "$NewUser ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers.d/${NewUser//./-} # Option 2: add a user file into /etc/sudoers.d/
chmod a-w /etc/sudoers.d/${NewUser//./-}
echo
# 注意,在这里为新用户创建的配置文件,主人是 root而不是新用户
# 注意,由 root 为新用户创建的配置文件的 owner 是 root而不是新用户
if [ $NewUser = 'adot' ]
then
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome /home/$NewUser
else
echo "<<< Configure $NewUser home with standard scripts? (注意,由 root 为新用户创建的配置文件的 owner 是 root而不是新用户)"
read -p "y for yes, anything else for no >> " YesOrNo
echo "=== Configure $NewUser home with standard scripts? <y> for yes, <<anything else>> for no"
read -p ">>> " YesOrNo
if [ $YesOrNo = 'y' ]
then
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome /home/$NewUser

View File

@ -10,26 +10,26 @@ else
NewUser=adot
fi
echo "<<< Installing basic tools"
echo "=== Installing basic tools"
apt update
apt install -y emacs git curl screen sudo automake rsync
echo
echo "<<< Making dir /faronear"
echo "=== Making dir /faronear"
if [ ! -d "/faronear" ]
then
mkdir /faronear
fi
echo
echo "<<< Making dir /faronear/fon"
echo "=== Making dir /faronear/fon"
if [ ! -d "/faronear/fon" ]
then
mkdir /faronear/fon
fi
echo
echo "<<< Git cloning to /faronear/fon/sysconfig"
echo "=== Git cloning to /faronear/fon/sysconfig"
git config --global credential.helper cache
if [ ! -d "/faronear/fon/sysconfig" ]
then
@ -37,33 +37,29 @@ then
fi
echo
echo "<<< Configure root home"
echo "=== Configure root home"
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome
echo
echo "<<< Change root password"
echo "=== Change root password"
passwd
echo
echo "<<< Configure /etc/sudoers"
echo "=== Configure /etc/sudoers"
chmod o+w /etc/sudoers
#sed -i "s|%sudo\s\+ALL=(ALL:ALL)\sALL|%sudo\tALL=(ALL:ALL) NOPASSWD:ALL|g" /etc/sudoers # allow all users in %sudo group to sudo without password
sed -i "s|#includedir /etc/sudoers.d|includedir /etc/sudoers.d|g" /etc/sudoers # allow users in /etc/sudoers.d/ folder to sudo
chmod o-w /etc/sudoers
echo
echo "<<< Add a new user $NewUser"
source /faronear/fon/sysconfig/debian-add-user.sh $NewUser
echo
echo "<<< Disallow root login: #PermitRootLogin yes"
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
echo "<<< Set hostname or leave blank for no change"
read -p ">> " NewHostname
echo "=== Set <<hostname>> or leave blank for no change"
read -p ">>> " NewHostname
if [ $NewHostname ]
then
hostnamectl set-hostname $NewHostname
@ -73,19 +69,7 @@ else
fi
echo
echo "<<< Enable xfce autologin [/etc/lightdm/lightdm.conf] as ($NewUser for autologin or anything else for no change):"
read -p ">> " XfceAutologinUsername
if [ $XfceAutologinUsername = $NewUser ]
then
sed -i "s/^.*autologin-user=.*$/autologin-user=$NewUser/g" /etc/lightdm/lightdm.conf
sed -i "s/^.*autologin-user-timeout=.*$/autologin-user-timeout=0/g" /etc/lightdm/lightdm.conf
echo "Successfully configured autologin as $NewUser"
else
echo 'Nothing changed >>>'
fi
echo
echo "<<< Configure autostart"
echo "=== Configure autostart"
if [ -f /etc/rc.local ]
then
mv /etc/rc.local /etc/rc.local.backup
@ -99,9 +83,25 @@ chmod +x /faronear/autostart.sh
echo 'Autostart is set to /faronear/autostart.sh. Run "systemctl start/stop/status rc-local" to manage it.'
echo
echo "<<< Configure locales: install all-locales and set default to none."
echo "=== Configure locales: install all-locales and set default to none."
dpkg-reconfigure locales
echo
echo "<<< Debian System Setup Completed >>>"
echo "=== Add a new user $NewUser"
source /faronear/fon/sysconfig/debian-add-user.sh $NewUser
echo
echo "=== Enable xfce autologin [/etc/lightdm/lightdm.conf] as <$NewUser> for autologin or <<anything else>> for no change):"
read -p ">>> " XfceAutologinUsername
if [ $XfceAutologinUsername = $NewUser ]
then
sed -i "s/^.*autologin-user=.*$/autologin-user=$NewUser/g" /etc/lightdm/lightdm.conf
sed -i "s/^.*autologin-user-timeout=.*$/autologin-user-timeout=0/g" /etc/lightdm/lightdm.conf
echo "Successfully configured autologin as $NewUser"
else
echo 'Nothing changed >>>'
fi
echo
echo "=== Debian System Setup Completed >>>"

View File

@ -1,6 +1,7 @@
# https://docs.docker.com/engine/install/debian/
read -p "Choose docker source (a: 阿里云, z: 中科大, leave blank for default) >> " DOCKER_SOURCE
echo "=== Choose docker source (a: 阿里云, z: 中科大, leave blank for default):"
read -p ">>> " DOCKER_SOURCE
if [ $DOCKER_SOURCE = 'a' ]
then
GPG_URL=http://mirrors.aliyun.com/docker-ce/linux/debian/gpg
@ -35,7 +36,8 @@ echo Install Docker-Compose ...
sudo curl -L $COMPOSE_URL/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
read -p "配置中国加速镜像源 /etc/docker/daemon.json (d: Docker中国, t: 腾讯云, z: 中科大, leave blank for no mirror) >> " DOCKER_MIRROR
echo "=== 配置中国加速镜像源 /etc/docker/daemon.json (d: Docker中国, t: 腾讯云, z: 中科大, leave blank for no mirror):"
read -p ">>> " DOCKER_MIRROR
if [ $DOCKER_MIRROR = 'd' ]
then
DOCKER_MIRROR=https://registry.docker-cn.com

View File

@ -7,7 +7,7 @@ else
echo "Configure private home settings"
echo "Usage: setup.sh [Config-Source-Path] [User-Home-Path] [--AdotMode]"
echo
echo "=== Enter config source path (leave blank for [/Users/luk.lu]/faronear/fon/sysconfig/nixhome):"
echo "=== Enter config <<SourcePath>> (leave blank for [/Users/luk.lu]/faronear/fon/sysconfig/nixhome):"
read -p ">>> " SourcePath
if [ ! $SourcePath ]
then
@ -39,7 +39,7 @@ then
pushd $HomePath
homescriptlist=".emacs .emacs.lisp .bashrc .bash_profile .gitignore"
echo
echo "=== Copy or link scripts? l for link, anything else for copy:"
echo "=== Copy or link scripts? <l> for link, <<anything else>> for copy:"
read -p ">>> " CopyOrLinkScripts
for homescript in $homescriptlist
do
@ -55,7 +55,7 @@ then
fi
done
echo
echo "=== Append or link or omit [.ssh/authorized_keys]? a for append, l for link, anything else for omit:"
echo "=== Append or link or omit [.ssh/authorized_keys]? <a> for append, <l> for link, <<anything else>> for omit:"
read -p ">>> " CopyOrLinkOrOmitAuthorizedKeys
if [ $CopyOrLinkOrOmitAuthorizedKeys = 'l' ]
then

View File

@ -6,7 +6,8 @@ if [ $1 ]
then
REMOTEHOST=$1
else
read -p "Enter user@remotehost >> " REMOTEHOST
echo "=== Enter << user@remotehost >> to connect to:"
read -p ">>> " REMOTEHOST
fi
scp ~/.ssh/id_rsa.pub $REMOTEHOST:~/tmp.pub