From a890de17a79aa4344a158148fc4b01aedb168c27 Mon Sep 17 00:00:00 2001 From: meyerast Date: Mon, 13 Apr 2026 11:37:28 -0400 Subject: [PATCH] Redid Linux infogathering, changed exit behavior --- erase_drive.sh | 35 +++++++++++++++-------------------- log_drive_info.sh | 31 +++++++++++-------------------- 2 files changed, 26 insertions(+), 40 deletions(-) diff --git a/erase_drive.sh b/erase_drive.sh index 9ec7b08..fd051b1 100644 --- a/erase_drive.sh +++ b/erase_drive.sh @@ -57,15 +57,12 @@ confirm_message () { catch_sigint () { logwarn "Signal Interrupt initiated. Stopping script." cleanup - trap - INT kill -INT "$$" } # shellcheck disable=SC2329 catch_exit () { cleanup - trap - EXIT - trap - INT kill -INT "$$" } @@ -85,6 +82,8 @@ cleanup () { umount /mnt/"$ticket_number" else umount "/mnt/UNKNWN" + trap - EXIT + trap - INT fi } @@ -149,6 +148,10 @@ mount_remote () { mkdir -p /mnt/decs if mount -t cifs -o user="$netid",sec=krb5i "//decs/decs/support/dban_logs" /mnt/decs then + if [ ! -w "//decs/decs/support/dban_logs" ]; then + logerror "Insufficient permissions to write in //decs/decs/support/dban_logs" + exit + fi if [[ ! $ticket_number =~ ^\s*$ ]]; then mkdir -p /mnt/decs/UNKNWN-"$start_time" @@ -345,22 +348,16 @@ make_infolog () { { echo "LINUX DETAILS" cat "$(find /mnt/"$ticket_number" -maxdepth 3 -ipath "*/etc/os-release")" - echo "" - echo "HOSTNAME" - cat "$(find /mnt/"$ticket_number" -maxdepth 3 -ipath "*/etc/hostname")" - echo "" - echo "LOGON DETAILS" - w - echo "" - cat "$(find /mnt/"$ticket_number" -maxdepth 3 -ipath "*/etc/passwd")" + echo "Hostname: $(cat "$(find /mnt/"$ticket_number" -maxdepth 3 -ipath "*/etc/hostname")")" + cat "$(find /mnt/"$ticket_number" -maxdepth 3 -ipath "*/etc/passwd")" | grep -E '.+:x:[0-9]{4,}:[0-9]{4,}:.+,,,.*' | sed -E 's/.+:x:[0-9]{4,}:[0-9]{4,}:(.+),,,.*/User: \1/' echo "" tree -a -L 1 -D "$(find /mnt/"$ticket_number" -maxdepth 3 -type d -ipath "*/home")" echo "" } >> "$infolog" else - echo "Non Linux OS device detected on $device$i." >> "$infolog" - loginfo "Non Linux OS device detected on $device$i." - tree -a -L 3 -D /mnt/"$ticket_number" >> "$infolog" + echo "Non Linux Unix partition detected on $device$i." >> "$infolog" + loginfo "Non Linux Unix partition detected on $device$i." + tree -a -L 2 -D /mnt/"$ticket_number" >> "$infolog" fi umount /mnt/"$ticket_number" else @@ -412,9 +409,9 @@ make_infolog () { echo "" } >> "$infolog" else - loginfo "Non Windows NTFS device detected on $device$i." - echo "Non Windows NTFS device detected on $device$i." >> "$infolog" - tree -a -L 3 -D /mnt/"$ticket_number" >> "$infolog" + loginfo "Non Windows NTFS partition detected on $device$i." + echo "Non Windows NTFS partition detected on $device$i." >> "$infolog" + tree -a -L 2 -D /mnt/"$ticket_number" >> "$infolog" fi umount /mnt/"$ticket_number" else @@ -717,11 +714,9 @@ main (){ ;; esac - sleep 3 - loginfo "Finished erasing $devicetype : $device with erase level $eraselevel." - exit + cleanup } main \ No newline at end of file diff --git a/log_drive_info.sh b/log_drive_info.sh index 069c756..fbb8709 100644 --- a/log_drive_info.sh +++ b/log_drive_info.sh @@ -45,15 +45,12 @@ logerror() { catch_sigint () { logwarn "Signal Interrupt initiated. Stopping script." cleanup - trap - INT kill -INT "$$" } # shellcheck disable=SC2329 catch_exit () { cleanup - trap - EXIT - trap - INT kill -INT "$$" } @@ -68,6 +65,8 @@ cleanup () { umount "/mnt/decs" fi umount "/mnt/UNKNWN" + trap - EXIT + trap - INT } trap catch_sigint SIGINT @@ -267,22 +266,16 @@ make_infolog () { { echo "LINUX DETAILS" cat "$(find /mnt/UNKNWN -maxdepth 3 -ipath "*/etc/os-release")" - echo "" - echo "HOSTNAME" - cat "$(find /mnt/UNKNWN -maxdepth 3 -ipath "*/etc/hostname")" - echo "" - echo "LOGON DETAILS" - w - echo "" - cat "$(find /mnt/UNKNWN -maxdepth 3 -ipath "*/etc/passwd")" + echo "Hostname: $(cat "$(find /mnt/UNKNWN -maxdepth 3 -ipath "*/etc/hostname")")" + cat "$(find /mnt/UNKNWN -maxdepth 3 -ipath "*/etc/passwd")" | grep -E '.+:x:[0-9]{4,}:[0-9]{4,}:.+,,,.*' | sed -E 's/.+:x:[0-9]{4,}:[0-9]{4,}:(.+),,,.*/User: \1/' echo "" tree -a -L 1 -D "$(find /mnt/UNKNWN -maxdepth 3 -type d -ipath "*/home")" echo "" } >> "$infolog" else - echo "Non Linux OS device detected on $device$i." >> "$infolog" - loginfo "Non Linux OS device detected on $device$i." - tree -a -L 3 -D /mnt/UNKNWN/ >> "$infolog" + echo "Non Linux Unix partition detected on $device$i." >> "$infolog" + loginfo "Non Linux Unix partition detected on $device$i." + tree -a -L 2 -D /mnt/UNKNWN/ >> "$infolog" fi umount /mnt/UNKNWN else @@ -334,9 +327,9 @@ make_infolog () { echo "" } >> "$infolog" else - loginfo "Non Windows NTFS device detected on $device$i." - echo "Non Windows NTFS device detected on $device$i." >> "$infolog" - tree -a -L 3 -D /mnt/UNKNWN/ >> "$infolog" + loginfo "Non Windows NTFS partition detected on $device$i." + echo "Non Windows NTFS partition detected on $device$i." >> "$infolog" + tree -a -L 2 -D /mnt/UNKNWN/ >> "$infolog" fi umount /mnt/UNKNWN else @@ -419,11 +412,9 @@ main (){ make_infolog #Logs a bunch of details to a info log file from the system. - sleep 3 - loginfo "Finished gathering logs of $devicetype : $device." - exit + cleanup } main \ No newline at end of file