From 2adc5f5797630dc18e6ad915daaed2dbfc0c19b1 Mon Sep 17 00:00:00 2001 From: Bryan Roessler Date: Thu, 24 Jul 2025 03:06:41 -0400 Subject: [PATCH] Update custom scripts --- docs/README.md | 4 +-- scripts/usr/local/bin/script-user-add | 8 ++--- .../usr/local/bin/script-user-reset-password | 35 ++++++++----------- 3 files changed, 20 insertions(+), 27 deletions(-) diff --git a/docs/README.md b/docs/README.md index c416cc82..a9d0fdeb 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,10 +4,10 @@ Type `sudo script-` and use tab completion to access the following helper programs. -* `sudo script-user-add ` +* `sudo script-user-add ` * `sudo script-user-remove ` * Optionally backup the user home directory to the array before removal. -* `sudo script-user-reset-password ` +* `sudo script-user-reset-password ` * Reset a user's password if forgotten. * `sudo script-user-reset-x2go ` * Completely reset the X2Go state for the user (destroys active/paused sessions). diff --git a/scripts/usr/local/bin/script-user-add b/scripts/usr/local/bin/script-user-add index 401d36bf..250486b6 100755 --- a/scripts/usr/local/bin/script-user-add +++ b/scripts/usr/local/bin/script-user-add @@ -4,7 +4,7 @@ # Licensed under the Apache License, Version 2.0 p="${BASH_SOURCE[0]%/*}"; [[ -r $p/script-functions ]] && . "$p"/script-functions || exit 1 -echo "Usage: sudo $0 [username]" +echo "Usage: sudo $0 " is_root @@ -63,8 +63,8 @@ ask_ok "Prompt user to reset password on next login?" && passwd --expire "$user" && echo "NOTE: The file sharing (smbpasswd) will not be changed" -# Copy manual to user desktop -desktop="/home/$user/Desktop" -mkdir -p "$desktop" +echo "User successfully created, provide them with the following for first login" +echo "Username: $user" +echo "Password: $password" exit 0 \ No newline at end of file diff --git a/scripts/usr/local/bin/script-user-reset-password b/scripts/usr/local/bin/script-user-reset-password index 153a9c4b..a65836c6 100755 --- a/scripts/usr/local/bin/script-user-reset-password +++ b/scripts/usr/local/bin/script-user-reset-password @@ -4,27 +4,14 @@ # Licensed under the Apache License, Version 2.0 p="${BASH_SOURCE[0]%/*}"; [[ -r $p/script-functions ]] && . "$p"/script-functions || exit 1 +echo "Usage: sudo $0 " + is_root -echo "Usage: $0 [username] [password]" - case $# in - 0) - prompt user - prompt password - ;; - 1) - user="$1" - prompt password - ;; - 2) - user="$1" - password="$2" - ;; - *) - echo "Too many arguments provided" - exit 1 - ;; + 0) user=$(prompt user) ;; + 1) user="$1" ;; + *) echo "Too many arguments provided"; exit 1 ;; esac if ! id -u "$user" &>/dev/null; then @@ -32,13 +19,19 @@ if ! id -u "$user" &>/dev/null; then exit 1 fi -if ask_ok "Change user $user's password to $password?"; then +# Generate random temporary password to provide to user +password=$(tr -dc 'A-HJ-NP-Za-km-z2-9'