From aea1e088e9b678af18ca60e455a42f2c6a7562aa Mon Sep 17 00:00:00 2001 From: Sangelo Date: Fri, 14 Jul 2023 10:13:43 +0200 Subject: [PATCH] progress on script --- management/user-mgmt.sh | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/management/user-mgmt.sh b/management/user-mgmt.sh index a34bb75..9711ff9 100755 --- a/management/user-mgmt.sh +++ b/management/user-mgmt.sh @@ -28,6 +28,7 @@ case "$1" in Q1="CREATE SCHEMA if not exists usermgmt; use usermgmt; CREATE TABLE if not exists users (username varchar(255), name varchar(255), description varchar(255));" SQL="${Q1}" ;; + "add") if [ $# -ne 4 ] then @@ -37,17 +38,32 @@ case "$1" in fi Q1="INSERT INTO usermgmt.users (username, name, description) VALUES ('$2', '$3', '$4');" SQL="${Q1}" + PASSWORD=`openssl rand -base64 12` + useradd -m -p "$PASSWORD" "$2" + echo "$PASSWORD" > "/home/$2/password.txt" + echo "This is your password. Please delete this file after saving the password." >> "/home/$2/password.txt" ;; - "delete") + + "delete") if [ $# -ne 2 ] then - echo "Error: Invalid action." - echo "$USAGE" - exit $E_BADARGS + echo "Error: Invalid action." + echo "$USAGE" + exit $E_BADARGS + fi + echo -n "Are you sure you want to delete user "$2"? [y/N] " + read confirm + if [ "$confirm" = "y" ] || [ "$confirm" = "Y" ] + then + Q1="DELETE FROM usermgmt.users WHERE username = '$2';" + SQL="${Q1}" + userdel -r "$2" + else + echo "User deletion cancelled." + exit 0 fi - Q1="DELETE FROM usermgmt.users WHERE username = '$2';" - SQL="${Q1}" ;; + "list") if [ $# -ne 1 ] then @@ -58,6 +74,7 @@ case "$1" in Q1="SELECT username, name, description FROM usermgmt.users;" SQL="${Q1}" ;; + *) echo "Error: Invalid action. Please use a valid argument." echo "$USAGE"