echo "Usage: setup.sh [USER]" echo "Example: setup.sh alice" if [ v$1 != v ] then NewUser=$1 else echo "=== Enter new <> (leave blank for default 'adot'):" read -p ">>> " NewUser if [ ! $NewUser ] then echo Use default new user: adot NewUser=adot fi fi echo "=== Add a new user $NewUser" useradd $NewUser # usermod -a -G sudo $NewUser # Add to sudo group passwd $NewUser mkdir /home/$NewUser chown $NewUser:$NewUser /home/$NewUser chmod 700 /home/$NewUser # Set default shell in /etc/passwd # Debian 10 default to /bin/sh 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? for yes, <> for no" read -p ">>> " AllowSudo if [ $AllowSudo ] && [ $AllowSudo == "y" ] then #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 "Added /etc/sudoers.d/${NewUser//./-} to allow sudo without password" else echo "--- Nothing changed." fi echo # 注意,由 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? for yes, <> for no" read -p ">>> " ConfigHome if [ $ConfigHome ] && [ $ConfigHome = 'y' ] then source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome /home/$NewUser else echo "--- Nothing configured." fi fi