From a5b0963ccd9f79d26399761dd488223cd05e7bae Mon Sep 17 00:00:00 2001 From: Albert Martinez Date: Sun, 3 Jun 2018 10:19:00 +0200 Subject: Create openbsd.rb (#1356) OpenBSD model implementation. --- lib/oxidized/model/openbsd.rb | 76 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 lib/oxidized/model/openbsd.rb (limited to 'lib') diff --git a/lib/oxidized/model/openbsd.rb b/lib/oxidized/model/openbsd.rb new file mode 100644 index 0000000..898e9e3 --- /dev/null +++ b/lib/oxidized/model/openbsd.rb @@ -0,0 +1,76 @@ +class Openbsd < Oxidized::Model + # OpenBSD with custom promp, like user@hostname:~$ + # you can edit the one that your user uses, with root would be /root/.profile using the next PS1 def + # export PS1="\033[32m\u@\h\033[00m:\033[36m\w\033[00m$ " + + prompt /^.+@.+\:.+\$/ + comment '# ' + + # Add a comment between files/configs + def add_comment comment + "\n+++++++++++++++++++++++++++++++++++++++++ #{comment} ++++++++++++++++++++++++++++++++++++++++++++++\n" + end + + def add_small_comment comment + "\n=============== #{comment} ===============\n" + end + + cmd :all do |cfg| + cfg.each_line.to_a[1..-2].join + end + + # Issue the show commands + pre do + cfg = add_comment('HOSTNAME FILE') + cfg += cmd('cat /etc/myname') + + cfg += add_comment('HOSTS FILE') + cfg += cmd('cat /etc/hosts') + + cfg += add_comment('INTERFACE FILES') + cfg += cmd('tail -n +1 /etc/hostname.*') + + cfg += add_comment('RESOLV.CONF FILE') + cfg += cmd('cat /etc/resolv.conf') + + cfg += add_comment('NTP.CONF FILE') + cfg += cmd('cat /etc/ntp.conf') + + cfg += add_comment('IP ROUTES PER ROUTING DOMAIN') + cfg += add_small_comment('Routing Domain 0') + cfg += cmd('route -T0 exec netstat -rn') + cfg += add_small_comment('Routing Domain 1') + cfg += cmd('route -T1 exec netstat -rn') + cfg += add_small_comment('Routing Domain 2') + cfg += cmd('route -T2 exec netstat -rn') + cfg += add_small_comment('Routing Domain 3') + cfg += cmd('route -T3 exec netstat -rn') + cfg += add_small_comment('Routing Domain 4') + cfg += cmd('route -T4 exec netstat -rn') + cfg += add_small_comment('Routing Domain 5') + cfg += cmd('route -T5 exec netstat -rn') + + cfg += add_comment('SNMP FILE') + cfg += cmd('cat /etc/snmpd.conf') + + cfg += add_comment('PF FILE') + cfg += cmd('cat /etc/pf.conf') + + cfg += add_comment('MOTD FILE') + cfg += cmd('cat /etc/motd') + + cfg += add_comment('PASSWD FILE') + cfg += cmd('cat /etc/passwd') + + cfg += add_small_comment('END') + end + + cfg :telnet do + username /^Username:/ + password /^Password:/ + end + + cfg :telnet, :ssh do + pre_logout 'exit' + end +end -- cgit v1.2.1