#!/bin/bash
########################################################
# obtain system configuration details ## 2025.10.16 jm
# http://johnmeister.com/linux http://bibletech.net
# keep trusting Jesus, if not, start He's our only hope.
########################################################
# chmod 755 baseline.sh.txt; put in path; hash -r ###
########################################################
### ...---| 80 chars for printing width guide ######
### to print output w/in 80 char use fold -s -w 80 ####
### indubitably this could be made more simple... :)
########################################################
HOST=`hostname`
DATE=`/bin/date '+%Y-%m-%b-%d'` # provides YYYY-MM-mon-DD
echo "-------------------------------------------------------------------------------|" | tee $HOST-$DATE.txt
hostname | tee -a $HOST-$DATE.txt
date | tee -a $HOST-$DATE.txt
date '+%Y-%m-%b-%d' | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
w | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
uname -a | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
cat /etc/os-release | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
cat /proc/meminfo | grep MemTotal | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "cat /proc/cpuinfo | grep -E \"(processor|model name|cache size|MHz)" | tee -a $HOST-$DATE.txt
cat /proc/cpuinfo | grep -E '(processor|model name|cache size|MHz)' | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "ls -Al /dev/disk/by-id | grep -v \"total 0\" | awk \'{print $9\" \"$NF}\'" | tee -a $HOST-$DATE.txt
ls -Al /dev/disk/by-id | grep -v "total 0" | awk '{print $9" "$NF}' | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "blkid" | tee -a $HOST-$DATE.txt
blkid | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "cat /etc/fstab" | tee -a $HOST-$DATE.txt
cat /etc/fstab | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "'df -hT 2>/dev/null | grep -v fs | grep -v boot | grep -v udev'" | tee -a $HOST-$DATE.txt
df -hT 2>/dev/null | grep -v fs | grep -v boot | grep -v udev | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "df -h" | tee -a $HOST-$DATE.txt
df -h | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "cat /etc/hosts | grep -E -v '(^#|^$| ip6-)'" | tee -a $HOST-$DATE.txt
cat /etc/hosts | grep -E -v '(^#|^$| ip6-)' | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "ls -al /etc/resolv.conf # note any symlink" | tee -a $HOST-$DATE.txt
ls -al /etc/resolv.conf | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
cat /etc/resolv.conf | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "ifconfig -a # check /etc/hosts to match" | tee -a $HOST-$DATE.txt
ifconfig -a | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "iwconfig # check /etc/hosts to match" | tee -a $HOST-$DATE.txt
iwconfig | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "route" | tee -a $HOST-$DATE.txt
route | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "nslookup johnmeister.com, bibletech.net # cks DNS" | tee -a $HOST-$DATE.txt
nslookup johnmeister.com | tee -a $HOST-$DATE.txt
nslookup bibletech.net | tee -a $HOST-$DATE.txt
echo "if bored: traceroute --resolve-hostnames google.com " | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "ls -Alt ~/.ssh # verify public ids, check authorized_keys" | tee -a $HOST-$DATE.txt
ls -Alt ~/.ssh | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "# should only be one :0: userid as root" | tee -a $HOST-$DATE.txt
cat /etc/passwd | awk -F : '{print ":"$3":"}' | grep "0" | grep -v [1-9] | tee -a $HOST-$DATE.txt
cat /etc/passwd | grep root | grep -v chroot | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "sudo cat /etc/sudoers | grep NOPASSWD # verify users allowed sudo w/no passwd" | tee -a $HOST-$DATE.txt
sudo cat /etc/sudoers | grep NOPASSWD | tee -a $HOST-$DATE.txt
echo "-------------------------------------------------------------------------------|" | tee -a $HOST-$DATE.txt
echo "###############################################################################|" | tee -a $HOST-$DATE.txt
cat baseline.sh.txt | tee -a $HOST-$DATE.txt
echo "###############################################################################|" | tee -a $HOST-$DATE.txt
|