home · contact · privacy
Improve.
authorChristian Heller <c.heller@plomlompom.de>
Mon, 3 Mar 2025 04:10:07 +0000 (05:10 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Mon, 3 Mar 2025 04:10:07 +0000 (05:10 +0100)
testing/scripts/setup_secrets.sh

index 7d4b40e84b4480b0d3c1a6e1b4011aea6bc6c788..a1996090fcffd0cf30e71fab8ee26528d2277182 100755 (executable)
@@ -3,24 +3,32 @@ set -e
 set -x
 . ./misc.sh
 
-expect_min_n_args 1 "(device name)" "$@"
-SECRETS_DEV=$1
-
-PATH_SECRETS_DEV=/dev/${SECRETS_DEV}
-PATH_REL_SECRETS=to_usbbb
-PATH_SOURCE=/media/${SECRETS_DEV}/${PATH_REL_SECRETS}
-PATH_HOME=/home/plom
-PATH_TARGET=${PATH_HOME}/${PATH_REL_SECRETS}
-PATH_REL_SSH=.ssh
-PATH_SSH=${PATH_HOME}/${PATH_REL_SSH}
-NAME_KEY=id_rsa
-
 # Ensure we're running as root.
 if [ `whoami` != "root" ]; then
     echo "Must be run as root."
     exit 1 
 fi
 
+# Ensure we're not overwriting anything.
+abort_if_exists() {
+    if [ -e "${1}" ]; then
+        echo "Aborting because ${1} already exists."
+        exit 1
+    fi
+}
+PATH_REL_SECRETS=to_usb
+PATH_TARGET=${PATH_USER_HOME}/${PATH_REL_SECRETS}
+PATH_SSH=${PATH_USER_HOME}/${PATH_REL_LOCAL_SSH}
+abort_if_exists "${PATH_TARGET}"
+abort_if_exists "${PATH_USER_SSH}"
+
+# Build paths based on device name. 
+expect_min_n_args 1 "(device name)" "$@"
+SECRETS_DEV=$1
+PATH_SOURCE=/media/${SECRETS_DEV}/${PATH_REL_SECRETS}
+PATH_SECRETS_DEV=/dev/${SECRETS_DEV}
+NAME_KEY=id_rsa
+
 # Mount secrets device and copy over its content.
 echo "Put secrets drive into slot for ${PATH_SECRETS_DEV}."
 while [ ! -e "${PATH_SECRETS_DEV}" ]; do
@@ -50,5 +58,5 @@ echo "You can remove ${PATH_SECRETS_DEV} now."
 
 # Set up SSH authentication.
 echo "Setting up .ssh"
-su -lc "mkdir -p ${PATH_SSH} && cp ${PATH_TARGET}/${NAME_KEY} ${PATH_SSH}/"
+su -lc "mkdir -p ${PATH_USER_SSH} && cp ${PATH_TARGET}/${NAME_KEY} ${PATH_USER_SSH}/"
 su -lc "ssh-keygen -y -f ${PATH_SSH}/${NAME_KEY} > ${PATH_SSH}/${NAME_KEY}.pub" plom