From a1e8a03f6085715e7365808e37a445bea12625b3 Mon Sep 17 00:00:00 2001 From: Kanish R Date: Thu, 1 Jan 2026 02:14:17 +0530 Subject: [PATCH] user management commands automated --- jconf | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/jconf b/jconf index e9afd77..0128324 100644 --- a/jconf +++ b/jconf @@ -42,14 +42,60 @@ fi cmd=$1 case "$cmd" in adduser) - echo + + exist=$(awk -F: -v username="$2" '{if ($1 == username && $3 >= 1000 && $1 != "nobody") {print 1; found=1; exit}} END {if (!found) print 0}' /etc/passwd) + if [ "$exist" -eq 1 ]; then + echo "$2 user already exists" + else + # Source - https://stackoverflow.com/a + # Posted by Myrddin Emrys, modified by community. See post 'Timeline' for change history + # Retrieved 2026-01-01, License - CC BY-SA 4.0 + + while true; do + read -p "Do you want to create an user account $2 [Y/n]:" yn + case $yn in + [Yy]* ) + useradd $2; + echo "Enter the password for $2:"; + passwd $2 + echo "$2 user account created successfully"; + break;; + [Nn]* ) exit 1;; + * ) echo "Please answer yes or no.";; + esac + done + fi + exit 1 ;; + deluser) - echo + + exist=$(awk -F: -v username="$2" '{if ($1 == username && $3 >= 1000 && $1 != "nobody") {print 1; found=1; exit}} END {if (!found) print 0}' /etc/passwd) + if [ "$exist" -eq 0 ]; then + echo "$2 user doesn't exist" + exit 1 + else + + while true; do + read -p "Do you want to delete $2 user account? [Y/n]:" yn + case $yn in + [Yy]* ) + userdel -rRZ $2; + echo "$2 user account deleted successfully"; + break;; + [Nn]* ) exit 1;; + * ) echo "Please answer yes or no.";; + esac + done + fi + exit 1 ;; + listusers) - echo + husers= awk -F: '{ if ($3 >= 1000 && $1 != "nobody" ) {print $1}}' /etc/passwd + echo $husers ;; + start) echo ;;