Browse Source

Add manual to skel

Bryan Roessler 2 days ago
parent
commit
bff68aa4e1
4 changed files with 17 additions and 10 deletions
  1. 4 4
      README.md
  2. 6 0
      config/etc/skel/Desktop/manual.desktop
  3. BIN
      docs/imgs/samba.png
  4. 7 6
      scripts/usr/local/bin/script-user-add

+ 4 - 4
README.md

@@ -2,9 +2,9 @@
 
 ## First-time login
 
-1. Ensure an admin has enabled your user account and provided a username.
+1. Ensure an admin has enabled your user account and provided you a username.
 2. Login via [`ssh`](#ssh): `ssh username@hartmanlab.genetics.uab.edu` (default password is your *username*)
-3. You will be prompted to create a new password and then logged out
+3. You will be prompted to create a new password and then logged out.
 4. Login again using your new password: `ssh username@hartmanlab.genetics.uab.edu`
 5. Change the default `samba` password (default password is also your *username*): `smbpasswd`
 6. *Optional*: Generate a public-private keypair on your client and copy it to the server for faster and more secure logins.
@@ -123,7 +123,7 @@ In an X2Go session, go to *Applications>Internet>Remote Viewer>Connection Addres
 * [`distrobox`](https://github.com/89luca89/distrobox) for custom environments
 * ...and much more ([open an issue](https://github.com/UAB-Hartman-Lab/server/issues) for software requests)
 
-## Data backup
+## Data backups
 
 [`rsync`](https://linux.die.net/man/1/rsync) is recommended for periodically backing up user files to a local client.
 
@@ -147,7 +147,7 @@ There are other tools installed for initiating backups *from* the server, such a
 * [Explainshell](https://explainshell.com/)
 * [UAB Cheaha](https://docs.uabgrid.uab.edu/wiki/Cheaha_GettingStarted)
 
-## Platform
+## Hardware Platform
 
 * AlmaLinux 9.6 w/ Linux 6.1 LTS Hyperscale SIG kernel
 * Intel Xeon X99 E5-2650v4 12-core CPU

+ 6 - 0
config/etc/skel/Desktop/manual.desktop

@@ -0,0 +1,6 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Hartman Lab Server Manual
+Type=Link
+URL=https://github.com/UAB-Hartman-Lab/server
+Icon=help-browser

BIN
docs/imgs/samba.png


+ 7 - 6
scripts/usr/local/bin/script-user-add

@@ -4,14 +4,13 @@
 # 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] [password]"
+echo "Usage: sudo $0 [username]"
 
 is_root
 
 case $# in
-  0) user=$(prompt user); password=$(prompt password) ;;
-  1) user="$1"; password=$(prompt password) ;;
-  2) user="$1"; password="$2" ;;
+  0) user=$(prompt user) ;;
+  1) user="$1" ;;
   *) echo "Too many arguments provided"; exit 1 ;;
 esac
 
@@ -19,9 +18,12 @@ useradd_cmd=(useradd -m -U)
 
 if id -u "$user" &>/dev/null; then
   ask_ok "User $user exists. Run script-user-remove first?" || exit $?
-  "$p/script-user-remove" "$user" || exit $?
+  script-user-remove "$user" || exit $?
 fi
 
+# Generate random temporary password to provide to user
+password=$(tr -dc 'A-HJ-NP-Za-km-z2-9' </dev/urandom | head -c12)
+
 ask_ok "Create user $user with password $password?" || exit $?
 
 restore=0
@@ -64,6 +66,5 @@ ask_ok "Prompt user to reset password on next login?" &&
 # Copy manual to user desktop
 desktop="/home/$user/Desktop"
 mkdir -p "$desktop"
-"$p/script-deploy-manual" "$user"
 
 exit 0