Make user functions more robust

This commit is contained in:
2023-04-07 10:37:03 -04:00
parent 1bde2a2478
commit 49365cb712
3 changed files with 11 additions and 12 deletions

View File

@@ -9,13 +9,12 @@
ask_ok() {
read -r -p "$* [y/N]: " response
response=${response,,}
[[ ! "$response" =~ ^(yes|y)$ ]] && return 1
return 0
[[ "$response" =~ ^(yes|y)$ ]]
}
is_root() {
user=$(whoami)
[[ $user != "root" ]] && echo "Script must be run with sudo rights!" && exit 1
[[ $user != "root" ]] && echo "Script must be run with sudo" && exit 1
}

View File

@@ -26,15 +26,15 @@ fi
ask_ok "Create user $username with password $password?" || exit $?
restore="no"
if [[ -d /mnt/array/home-retired/"$username" ]]; then
if [[ -d /mnt/array/home-retired/$username ]]; then
ask_ok "Restore user $username's files from /mnt/array/home-retired/$user?" && restore="yes"
fi
samba="no"
ask_ok "Enable shared file access for user $username?" && group_str="smbgrp," && samba="yes"
ask_ok "Enable shared file access for user $username?" && group_str="smbgrp" && samba="yes"
ask_ok "Make user $username an admin?" && \
group_str+="wheel"
group_str+=",wheel"
useradd_cmd+=("-G" "$group_str")
useradd_cmd+=("$username")

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Remove a user from the server
# Copyright 2021 Bryan C. Roessler
# Copyright 2021-2023 Bryan C. Roessler
parent="${BASH_SOURCE[0]}"
parent=${parent%/*}
@@ -23,15 +23,15 @@ if ! id -u "$user"; then
exit 1
fi
! ask_ok "Remove user $user?" && exit $?
ask_ok "Remove user $user?" || exit 1
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"
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" || exit 1
fi
rsync -av /home/"$user"/ /mnt/array/home-retired/"$user"
rsync -av /home/"$user"/ /mnt/array/home-retired/"$user" || exit 1
fi
smbpasswd -x "$user"