Przeglądaj źródła

Update custom scripts

Bryan Roessler 6 dni temu
rodzic
commit
2adc5f5797

+ 2 - 2
docs/README.md

@@ -4,10 +4,10 @@
 
 Type `sudo script-` and use tab completion to access the following helper programs.  
 
-* `sudo script-user-add <username> <password>`
+* `sudo script-user-add <username>`
 * `sudo script-user-remove <username>`
   * Optionally backup the user home directory to the array before removal.
-* `sudo script-user-reset-password <username> <password>`
+* `sudo script-user-reset-password <username>`
   * Reset a user's password if forgotten.
 * `sudo script-user-reset-x2go <username>`
   * Completely reset the X2Go state for the user (destroys active/paused sessions).

+ 4 - 4
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 <username>"
 
 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

+ 14 - 21
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
 
-is_root
+echo "Usage: sudo $0 <username>"
 
-echo "Usage: $0 [username] [password]"
+is_root
 
 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' </dev/urandom | head -c12)
+
+if ask_ok "Reset $user's password"; then
   echo "$user:$password" | chpasswd
   (echo "$password"; echo "$password") | smbpasswd -a -s "$user"
 fi
 
 ask_ok "Prompt user to reset password on next login?" &&
-  passwd --expire "$user" &&
-  echo "NOTE: The file sharing (smbpasswd) will not be changed"
+  passwd --expire "$user"
+
+echo "Password successfully reset for user $user, provide them with the following for login"
+echo "Username: $user"
+echo "Password: $password"
 
 exit 0