Untitled
unknown
plain_text
a year ago
2.4 kB
5
Indexable
#!/bin/bash
# Function to handle user selection (existing or new)
choose_user() {
local CHOICE=$(whiptail --title "User Selection" --menu "Choose or input user" 15 50 5 \
"1" "Choose existing user" \
"2" "Enter new user name" 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus != 0 ]; then
echo "Operation cancelled."
exit
fi
case $CHOICE in
1)
# Choose an existing user from the system (using /etc/passwd)
USERNAME=$(whiptail --title "Choose Existing User" --menu "Select a user" 15 50 10 $(awk -F: '{print $1 " " $1}' /etc/passwd) 3>&1 1>&2 2>&3)
;;
2)
# Enter a new username
USERNAME=$(whiptail --inputbox "Enter the new username:" 8 39 3>&1 1>&2 2>&3)
;;
esac
# Check if username is empty
if [ -z "$USERNAME" ]; then
whiptail --msgbox "No user selected. Exiting..." 8 45
exit
fi
}
# Main action menu
ACTION=$(whiptail --title "User Management Menu" --menu "Choose an action" 15 50 4 \
"1" "Edit User" \
"2" "Delete User" \
"3" "Add User" \
"4" "Block User" 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus != 0 ]; then
echo "Operation cancelled."
exit
fi
# Perform action based on the selection
case $ACTION in
1)
choose_user
# Editing user functionality
# In this example, we just display the chosen user
whiptail --msgbox "Editing user: $USERNAME" 8 39
;;
2)
choose_user
# Deleting user functionality (use sudo to remove user)
if whiptail --yesno "Are you sure you want to delete user: $USERNAME?" 8 39; then
sudo deluser $USERNAME
whiptail --msgbox "User $USERNAME deleted!" 8 39
fi
;;
3)
choose_user
# Adding user functionality (use sudo to add user)
if whiptail --yesno "Are you sure you want to add user: $USERNAME?" 8 39; then
sudo adduser $USERNAME
whiptail --msgbox "User $USERNAME added!" 8 39
fi
;;
4)
choose_user
# Blocking user functionality (use sudo to lock the user)
if whiptail --yesno "Are you sure you want to block user: $USERNAME?" 8 39; then
sudo usermod -L $USERNAME
whiptail --msgbox "User $USERNAME blocked!" 8 39
fi
;;
esac
Editor is loading...
Leave a Comment