u
This commit is contained in:
		
							parent
							
								
									a7e073853c
								
							
						
					
					
						commit
						eb2bc570b7
					
				| @ -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 | ||||
|  | ||||
| @ -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 >>>" | ||||
| 
 | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
| @ -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 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user