Looking at a file (manuf_sign_cert.sh): # This script is run on every iDRAC at manufacturing time. # to create a certificate with a derived CN using the # service tag so it can be authenticated by a provisioning server # for zero touch deployment. # # Files used: # 1) d_h_ssl_manuf.cnf # 2) ROOTCAPK.PEM (loaded by mdiags via dynamic partition) […] ENCRYPTED_CA_PRIV_KEY=”/tmp/MFGDRV/ROOTCAPK.PEM” […] #decrypt the signing key if ! […]
code
Finally one that looks at a process and tells you what ports its listening to. WPCM450 /tmp]$ ps |grep ssh 1263 root 4532 S /sbin/sshd -g 60 9730 root 9412 S sshd: root@pts/0 10571 root 3556 R grep ssh [WPCM450 /tmp]$ ./lsof-net-pid.sh 1263 PID 1263 is listening on tcp6:22 PID 1263 is listening on tcp:22 […]
Here’s one that looks up processes that have a file open… well, actually, more like a file expression; “foo” would match “/bar/foo” and “/foo/bar” (by intent), so use full paths if you’re not feeling frisky. And yes… busybox really does have that many duplicate processes with that file open…. [WPCM450 /tmp]$ ./lsof-pid-on-file.sh NVRAM_PrivateStorage00.dat /bin/fullfw /flash/data0/BMC_Data/NVRAM_PrivateStorage00.dat /bin/fullfw /flash/data0/BMC_Data/NVRAM_PrivateStorage00.dat /bin/fullfw /flash/data0/BMC_Data/NVRAM_PrivateStorage00.dat /bin/fullfw /flash/data0/BMC_Data/NVRAM_PrivateStorage00.dat […]
After beating on some really anemic linux installations that had… well, just about nothing installed (one didn’t have “tr”, one didn’t have “df”, etc… come on, that’s pretty sad ;)), I decided to start writing some shell scripts in very, very basic shell (you can do a lot with shell, awk, and sed!) Here’s one that while not perfect, at least seems to work (so far!) – I
Have a wtmp file you need read? A nice perl one liner to do so: perl -we ‘@type=("Empty","Run Lvl","Boot","New Time","Old Time","Init","Login","Normal","Term","Account");$recs = ""; while (<>) {$recs .= $_};foreach (split(/(.{384})/s,$recs)) {next if length($_) == 0;my ($type,$pid,$line,$inittab,$user,$host,$t1,$t2,$t3,$t4,$t5) = $_ =~/(.{4})(.{4})(.{32})(.{4})(.{32})(.{256})(.{4})(.{4})(.{4})(.{4})(.{4})/s;if (defined $line && $line =~ /\w/) {$line =~ s/\x00+//g;$host =~ s/\x00+//g;$user =~ s/\x00+//g;printf("%s %-8s %-12s %10s %-45s\n",scalar(gmtime(unpack("I4",$t3))),$type[unpack("I4",$type)],$user,$line,$host)}}print"\n"’ < /var/log/wtmp Thanks to: http://www.hcidata.info/wtmp.htm