diff --git a/debian-add-user.sh b/debian-add-user.sh index 87d7d78..13e4b2a 100755 --- a/debian-add-user.sh +++ b/debian-add-user.sh @@ -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 <> (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? for yes, <> for no" + read -p ">>> " YesOrNo if [ $YesOrNo = 'y' ] then source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome /home/$NewUser diff --git a/debian-config.sh b/debian-config.sh index cb21fa9..6d8dbca 100755 --- a/debian-config.sh +++ b/debian-config.sh @@ -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 <> 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 <> 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 >>>" diff --git a/docker-install.sh b/docker-install.sh index a906424..0d26777 100755 --- a/docker-install.sh +++ b/docker-install.sh @@ -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 diff --git a/home-config.sh b/home-config.sh index 798f333..2ee7c37 100755 --- a/home-config.sh +++ b/home-config.sh @@ -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 <> (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? for link, <> 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]? for append, for link, <> for omit:" read -p ">>> " CopyOrLinkOrOmitAuthorizedKeys if [ $CopyOrLinkOrOmitAuthorizedKeys = 'l' ] then diff --git a/ssh-pubkey-to-remote.sh b/ssh-pubkey-to-remote.sh index 14c0376..6312010 100755 --- a/ssh-pubkey-to-remote.sh +++ b/ssh-pubkey-to-remote.sh @@ -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