#!/usr/bin/env bash # Remove a user from the server # Copyright 2021 Bryan C. Roessler parent="${BASH_SOURCE[0]}" parent=${parent%/*} unset user [[ -f "$parent"/functions ]] && . "$parent"/functions || exit 1 is_root if [[ $# -eq 1 ]]; then user="$1" else echo "Must provide exactly one argument (username)" exit 1 fi if ! id -u "$user"; then echo "User $user does not exist" exit 1 fi ! ask_ok "Remove user $user?" && exit $? killall -u "$user" if ask_ok "Backup /home/$user?" && [[ -d /home/"$user" ]]; then if [[ ! -d /mnt/array/home-retired/"$user" ]]; then btrfs subvolume create /mnt/array/home-retired/"$user" fi rsync -av /home/"$user"/ /mnt/array/home-retired/"$user" fi smbpasswd -x "$user" sed -i "/$user/d" /etc/subuid sed -i "/$user/d" /etc/subgid userdel -fr "$user" exit $?