u
This commit is contained in:
parent
c7be7f6e2f
commit
2b06d64099
@ -1,18 +1,12 @@
|
||||
echo "Usage: setup.sh [USER]"
|
||||
echo "Example: setup.sh alice"
|
||||
|
||||
if [ v$1 != v ]
|
||||
then
|
||||
NewUser=$1
|
||||
else
|
||||
echo "=== Enter new <<UserName>> (leave blank for default 'adot'):"
|
||||
read -p ">>> " NewUser
|
||||
if [ ! $NewUser ]
|
||||
then
|
||||
echo Use default new user: adot
|
||||
NewUser=adot
|
||||
fi
|
||||
fi
|
||||
NewUser=$1
|
||||
while [ ! "$NewUser" ]
|
||||
do
|
||||
echo "=== To add a new user of name:"
|
||||
read -p ">>> " NewUser
|
||||
done
|
||||
|
||||
echo "=== Add a new user $NewUser"
|
||||
useradd $NewUser
|
||||
@ -28,7 +22,7 @@ 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? <y> for yes, <<anything else>> for no"
|
||||
echo "=== Allow the new user $NewUser to sudo without password? <y> for yes, <anything else> for no"
|
||||
read -p ">>> " AllowSudo
|
||||
if [ "$AllowSudo" == "y" ]
|
||||
then
|
||||
@ -41,16 +35,11 @@ else
|
||||
fi
|
||||
echo
|
||||
|
||||
if [ $NewUser = 'adot' ]
|
||||
echo "=== Configure $NewUser home with standard scripts? <y> for yes, <anything else> for no"
|
||||
read -p ">>> " ConfigHome
|
||||
if [ "$ConfigHome" == 'y' ]
|
||||
then
|
||||
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome $NewUser
|
||||
else
|
||||
echo "=== Configure $NewUser home with standard scripts? <y> for yes, <<anything else>> for no"
|
||||
read -p ">>> " ConfigHome
|
||||
if [ $ConfigHome ] && [ $ConfigHome = 'y' ]
|
||||
then
|
||||
source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome $NewUser
|
||||
else
|
||||
echo "--- Nothing configured."
|
||||
fi
|
||||
fi
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
echo "Usage: this.sh [NewUser]"
|
||||
echo "Example: this.sh alice"
|
||||
echo " curl https://git.faronear.org/fon/sysconfig/raw/branch/main/debian-config.sh | bash"
|
||||
|
||||
if [ v$1 != v ]
|
||||
then
|
||||
@ -62,14 +63,14 @@ 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"
|
||||
echo "=== Set <hostname> or <leave blank> for no change"
|
||||
read -p ">>> " NewHostname
|
||||
if [ $NewHostname ]
|
||||
then
|
||||
sed -i "s|\b`hostname`\b|$NewHostname|g" /etc/hosts # echo "127.0.0.1 $NewHostname" >> /etc/hosts
|
||||
hostnamectl set-hostname $NewHostname
|
||||
echo "127.0.0.1 $NewHostname" >> /etc/hosts
|
||||
else
|
||||
echo 'Nothing changed >>>'
|
||||
echo 'Nothing changed.'
|
||||
fi
|
||||
echo
|
||||
|
||||
@ -95,7 +96,7 @@ 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 user <$NewUser> for autologin or <<anything else>> for no change):"
|
||||
echo "=== Enable xfce autologin [/etc/lightdm/lightdm.conf] as user <$NewUser> for autologin or <anything else> for no change):"
|
||||
read -p ">>> " XfceAutologinUsername
|
||||
if [ $XfceAutologinUsername = $NewUser ]
|
||||
then
|
||||
@ -103,8 +104,8 @@ then
|
||||
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 >>>'
|
||||
echo 'Nothing changed.'
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "=== Debian System Setup Completed >>>"
|
||||
echo "=== Debian System Setup Completed."
|
||||
|
@ -39,22 +39,22 @@ then
|
||||
read -p "Enter root password (YU) >>" PWD_ROOT
|
||||
expect ~/faronear/fon/sysconfig/expect-ssh.sh $targetUrl adot $PWD_ADOT $PWD_ADOT
|
||||
else
|
||||
while [ ! $HOST ]
|
||||
while [ "$HOST" ]
|
||||
do
|
||||
read -p "host = " HOST
|
||||
done
|
||||
|
||||
while [ ! $USER ]
|
||||
while [ "$USER" ]
|
||||
do
|
||||
read -p "user = " USER
|
||||
done
|
||||
|
||||
while [ ! $PWD_USER ]
|
||||
while [ "$PWD_USER" ]
|
||||
do
|
||||
read -p "user password = " PWD_USER
|
||||
done
|
||||
|
||||
while [ ! $PWD_SU ]
|
||||
while [ "$PWD_SU" ]
|
||||
do
|
||||
read -p "root password = " ROOT_SU
|
||||
done
|
||||
|
@ -31,7 +31,7 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# $2 应当为用户名。为空则默认是 root
|
||||
if [ "$2" ]
|
||||
then
|
||||
HomePath=/home/$2
|
||||
@ -39,12 +39,12 @@ else
|
||||
HomePath=~
|
||||
fi
|
||||
|
||||
if [ -d $HomePath ]
|
||||
if [ -d "$HomePath" ]
|
||||
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
|
||||
@ -59,20 +59,22 @@ then
|
||||
fi
|
||||
done
|
||||
echo
|
||||
echo "=== Append or link or omit [.ssh/authorized_keys] to config ssh server? <a> for append, <l> for link, <<anything else>> for omit:"
|
||||
read -p ">>> " CopyOrLinkOrOmitAuthorizedKeys
|
||||
|
||||
if [ $2 ] # 如果 $2 不存在,则默认为是 root 用户,不需要设置 .ssh
|
||||
then
|
||||
|
||||
mkdir -p $HomePath/.ssh
|
||||
chmod 700 $HomePath/.ssh
|
||||
if [ "$2" ] # 注意,由 root 为新用户创建的配置文件的 owner 是 root,而不是新用户,导致新用户无法读取该文件而密钥登录失败,因此要重设 owner。
|
||||
then
|
||||
# 注意,由 root 为新用户创建的配置文件的 owner 是 root,而不是新用户,导致新用户无法读取该文件而密钥登录失败,因此要重设 owner。
|
||||
chown $2:$2 $HomePath
|
||||
fi
|
||||
if [ -e '$HomePath/.ssh/authorized_keys' ]
|
||||
then
|
||||
mv $HomePath/.ssh/authorized_keys $HomePath/.ssh/authorized_keys.backup-$(date +%Y%m%d%H%M%S)
|
||||
fi
|
||||
|
||||
echo "=== Append or link or omit [.ssh/authorized_keys] to config ssh server? <a> for append, <l> for link, <<anything else>> for omit:"
|
||||
read -p ">>> " CopyOrLinkOrOmitAuthorizedKeys
|
||||
|
||||
if [ "$CopyOrLinkOrOmitAuthorizedKeys" = 'l' ]
|
||||
then
|
||||
echo "--- Linking $SourcePath/authorized_keys to $HomePath/.ssh/authorized_keys ..."
|
||||
@ -84,6 +86,9 @@ then
|
||||
chmod 600 $HomePath/.ssh/authorized_keys
|
||||
fi
|
||||
echo
|
||||
|
||||
fi
|
||||
|
||||
popd
|
||||
else
|
||||
echo "!!! Not existing $HomePath, please try again."
|
||||
|
@ -8,10 +8,8 @@ fi
|
||||
|
||||
if [ $NewHostname ]
|
||||
then
|
||||
OldHostname=`hostname`
|
||||
hostnamectl set-hostname $NewHostname
|
||||
sed -i "s|\b$OldHostname\b|$NewHostname|g" /etc/hosts
|
||||
# echo "127.0.0.1 $NewHostname" >> /etc/hosts
|
||||
sed -i "s|\b$`hostname`\b|$NewHostname|g" /etc/hosts # echo "127.0.0.1 $NewHostname" >> /etc/hosts
|
||||
else
|
||||
echo 'Nothing changed >>>'
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user