u
This commit is contained in:
parent
a7e073853c
commit
eb2bc570b7
@ -5,7 +5,8 @@ if [ v$1 != v ]
|
|||||||
then
|
then
|
||||||
NewUser=$1
|
NewUser=$1
|
||||||
else
|
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 ]
|
if [ ! $NewUser ]
|
||||||
then
|
then
|
||||||
echo Use default new user: adot
|
echo Use default new user: adot
|
||||||
@ -13,7 +14,7 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "<<< Add a new user $NewUser"
|
echo "=== Add a new user $NewUser"
|
||||||
useradd $NewUser
|
useradd $NewUser
|
||||||
# usermod -a -G sudo $NewUser # Add to sudo group
|
# usermod -a -G sudo $NewUser # Add to sudo group
|
||||||
passwd $NewUser
|
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
|
# Debian 9 default to empty
|
||||||
sed -i "s|/home/$NewUser:$|/home/$NewUser:/bin/bash|g" /etc/passwd
|
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
|
#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/
|
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//./-}
|
chmod a-w /etc/sudoers.d/${NewUser//./-}
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# 注意,在这里为新用户创建的配置文件,主人是 root,而不是新用户
|
# 注意,由 root 为新用户创建的配置文件的 owner 是 root,而不是新用户
|
||||||
if [ $NewUser = 'adot' ]
|
if [ $NewUser = 'adot' ]
|
||||||
then
|
then
|
||||||
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome /home/$NewUser
|
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome /home/$NewUser
|
||||||
else
|
else
|
||||||
echo "<<< Configure $NewUser home with standard scripts? (注意,由 root 为新用户创建的配置文件的 owner 是 root,而不是新用户)"
|
echo "=== Configure $NewUser home with standard scripts? <y> for yes, <<anything else>> for no"
|
||||||
read -p "y for yes, anything else for no >> " YesOrNo
|
read -p ">>> " YesOrNo
|
||||||
if [ $YesOrNo = 'y' ]
|
if [ $YesOrNo = 'y' ]
|
||||||
then
|
then
|
||||||
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome /home/$NewUser
|
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome /home/$NewUser
|
||||||
|
@ -10,26 +10,26 @@ else
|
|||||||
NewUser=adot
|
NewUser=adot
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "<<< Installing basic tools"
|
echo "=== Installing basic tools"
|
||||||
apt update
|
apt update
|
||||||
apt install -y emacs git curl screen sudo automake rsync
|
apt install -y emacs git curl screen sudo automake rsync
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "<<< Making dir /faronear"
|
echo "=== Making dir /faronear"
|
||||||
if [ ! -d "/faronear" ]
|
if [ ! -d "/faronear" ]
|
||||||
then
|
then
|
||||||
mkdir /faronear
|
mkdir /faronear
|
||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "<<< Making dir /faronear/fon"
|
echo "=== Making dir /faronear/fon"
|
||||||
if [ ! -d "/faronear/fon" ]
|
if [ ! -d "/faronear/fon" ]
|
||||||
then
|
then
|
||||||
mkdir /faronear/fon
|
mkdir /faronear/fon
|
||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "<<< Git cloning to /faronear/fon/sysconfig"
|
echo "=== Git cloning to /faronear/fon/sysconfig"
|
||||||
git config --global credential.helper cache
|
git config --global credential.helper cache
|
||||||
if [ ! -d "/faronear/fon/sysconfig" ]
|
if [ ! -d "/faronear/fon/sysconfig" ]
|
||||||
then
|
then
|
||||||
@ -37,33 +37,29 @@ then
|
|||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "<<< Configure root home"
|
echo "=== Configure root home"
|
||||||
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome
|
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "<<< Change root password"
|
echo "=== Change root password"
|
||||||
passwd
|
passwd
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "<<< Configure /etc/sudoers"
|
echo "=== Configure /etc/sudoers"
|
||||||
chmod o+w /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|%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
|
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
|
chmod o-w /etc/sudoers
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "<<< Add a new user $NewUser"
|
echo "=== Disallow root login: #PermitRootLogin yes"
|
||||||
source /faronear/fon/sysconfig/debian-add-user.sh $NewUser
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo "<<< Disallow root login: #PermitRootLogin yes"
|
|
||||||
# emacs /etc/ssh/sshd_config
|
# emacs /etc/ssh/sshd_config
|
||||||
sed -i "s|^PermitRootLogin yes|#PermitRootLogin yes|g" /etc/ssh/sshd_config
|
sed -i "s|^PermitRootLogin yes|#PermitRootLogin yes|g" /etc/ssh/sshd_config
|
||||||
service sshd restart
|
service sshd restart
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "<<< Set hostname or leave blank for no change"
|
echo "=== Set <<hostname>> or leave blank for no change"
|
||||||
read -p ">> " NewHostname
|
read -p ">>> " NewHostname
|
||||||
if [ $NewHostname ]
|
if [ $NewHostname ]
|
||||||
then
|
then
|
||||||
hostnamectl set-hostname $NewHostname
|
hostnamectl set-hostname $NewHostname
|
||||||
@ -73,19 +69,7 @@ else
|
|||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "<<< Enable xfce autologin [/etc/lightdm/lightdm.conf] as ($NewUser for autologin or anything else for no change):"
|
echo "=== Configure autostart"
|
||||||
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"
|
|
||||||
if [ -f /etc/rc.local ]
|
if [ -f /etc/rc.local ]
|
||||||
then
|
then
|
||||||
mv /etc/rc.local /etc/rc.local.backup
|
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 'Autostart is set to /faronear/autostart.sh. Run "systemctl start/stop/status rc-local" to manage it.'
|
||||||
echo
|
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
|
dpkg-reconfigure locales
|
||||||
echo
|
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 >>>"
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# https://docs.docker.com/engine/install/debian/
|
# 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' ]
|
if [ $DOCKER_SOURCE = 'a' ]
|
||||||
then
|
then
|
||||||
GPG_URL=http://mirrors.aliyun.com/docker-ce/linux/debian/gpg
|
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 curl -L $COMPOSE_URL/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
|
||||||
sudo chmod +x /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' ]
|
if [ $DOCKER_MIRROR = 'd' ]
|
||||||
then
|
then
|
||||||
DOCKER_MIRROR=https://registry.docker-cn.com
|
DOCKER_MIRROR=https://registry.docker-cn.com
|
||||||
|
@ -7,7 +7,7 @@ else
|
|||||||
echo "Configure private home settings"
|
echo "Configure private home settings"
|
||||||
echo "Usage: setup.sh [Config-Source-Path] [User-Home-Path] [--AdotMode]"
|
echo "Usage: setup.sh [Config-Source-Path] [User-Home-Path] [--AdotMode]"
|
||||||
echo
|
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
|
read -p ">>> " SourcePath
|
||||||
if [ ! $SourcePath ]
|
if [ ! $SourcePath ]
|
||||||
then
|
then
|
||||||
@ -39,7 +39,7 @@ then
|
|||||||
pushd $HomePath
|
pushd $HomePath
|
||||||
homescriptlist=".emacs .emacs.lisp .bashrc .bash_profile .gitignore"
|
homescriptlist=".emacs .emacs.lisp .bashrc .bash_profile .gitignore"
|
||||||
echo
|
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
|
read -p ">>> " CopyOrLinkScripts
|
||||||
for homescript in $homescriptlist
|
for homescript in $homescriptlist
|
||||||
do
|
do
|
||||||
@ -55,7 +55,7 @@ then
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo
|
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
|
read -p ">>> " CopyOrLinkOrOmitAuthorizedKeys
|
||||||
if [ $CopyOrLinkOrOmitAuthorizedKeys = 'l' ]
|
if [ $CopyOrLinkOrOmitAuthorizedKeys = 'l' ]
|
||||||
then
|
then
|
||||||
|
@ -6,7 +6,8 @@ if [ $1 ]
|
|||||||
then
|
then
|
||||||
REMOTEHOST=$1
|
REMOTEHOST=$1
|
||||||
else
|
else
|
||||||
read -p "Enter user@remotehost >> " REMOTEHOST
|
echo "=== Enter << user@remotehost >> to connect to:"
|
||||||
|
read -p ">>> " REMOTEHOST
|
||||||
fi
|
fi
|
||||||
|
|
||||||
scp ~/.ssh/id_rsa.pub $REMOTEHOST:~/tmp.pub
|
scp ~/.ssh/id_rsa.pub $REMOTEHOST:~/tmp.pub
|
||||||
|
Loading…
Reference in New Issue
Block a user