Redid Linux infogathering, changed exit behavior

This commit is contained in:
2026-04-13 11:37:28 -04:00
parent dc69953226
commit a890de17a7
2 changed files with 26 additions and 40 deletions
+15 -20
View File
@@ -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
+11 -20
View File
@@ -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