diff options
Diffstat (limited to 'infest')
-rw-r--r-- | infest/Makefile | 18 | ||||
-rwxr-xr-x | infest/bin/make-patch | 57 | ||||
-rw-r--r-- | infest/bootstrap.sh | 23 | ||||
-rwxr-xr-x | infest/core/angstrom | 4 | ||||
-rwxr-xr-x | infest/core/debian | 6 | ||||
-rw-r--r-- | infest/host-patch/beagleboard/Makefile | 9 | ||||
-rw-r--r-- | infest/host-patch/beagleboard/profile.patch | 42 | ||||
-rw-r--r-- | infest/skel/etc/motd.tail | 10 | ||||
-rwxr-xr-x | infest/skel/etc/profile | 58 | ||||
-rwxr-xr-x | infest/skel/etc/rc.local | 10 | ||||
-rw-r--r-- | infest/skel/home/.ssh/authorized_keys | 6 | ||||
-rw-r--r-- | infest/skel/home/.vimrc | 31 |
12 files changed, 274 insertions, 0 deletions
diff --git a/infest/Makefile b/infest/Makefile new file mode 100644 index 00000000..ec5836a3 --- /dev/null +++ b/infest/Makefile @@ -0,0 +1,18 @@ + +ifndef patch_file +patch_file := /etc/Verkrebsung.patch +endif + +ifndef patch_flags +patch_flags := +endif + +.PHONY: infest dry-run +infest: $(patch_file) + unset POSIXLY_CORRECT; patch $(patch_flags) -fNp0 < $< + +$(patch_file): bin/make-patch + $< >$@ + +dry-run: + make patch_file=/tmp/krebs-infest-dry-run.patch patch_flags=--dry-run diff --git a/infest/bin/make-patch b/infest/bin/make-patch new file mode 100755 index 00000000..6f26e745 --- /dev/null +++ b/infest/bin/make-patch @@ -0,0 +1,57 @@ +#! /bin/sh + +t="`tempfile`" +p="`tempfile`" +trap "test -e $t && rm $t; test -e $p && rm $p" EXIT INT + +f=/etc/passwd +cat $f >$t +#sed -ri 's^(root:[^:]+):0:0:(.*)$\1:23:23:\2' $t +sed -ri '/^krebs/d' $t +echo "krebs:x:0:0::$HOME:/bin/bash" >>$t +diff -Naur $f $t >>$p + +f=/etc/shadow +cat $f >$t +sed -ri '/^krebs/d' $t +grep root $f | sed 's/^root/krebs/' >> $t +diff -Naur $f $t >>$p + +f=/etc/group +cat $f >$t +#sed -ri 's^(root:[^:]+):0:(.*)$\1:23:\2' $t +sed -ri '/^krebs/d' $t +echo 'krebs:x:0:' >>$t +diff -Naur $f $t >>$p + +f=/etc/fstab +cat $f >$t +if ! grep -q 'none[ \t]*/tmp' $t; then + echo 'none /tmp tmpfs defaults,size=50M 0 0' >>$t +fi +if ! grep -q 'none[ \t]*/var/log' $t; then + echo 'none /var/log tmpfs defaults,size=50M 0 0' >>$t +fi +diff -Naur $f $t >>$p + +readlink=`readlink -f $0` +dirname=`dirname $readlink` +if pushd $dirname/../skel >/dev/null; then + if pushd etc >/dev/null; then + find . -mindepth 1 -maxdepth 1 -exec diff -Naur /etc/\{\} \{\} \; >>$p + popd >/dev/null + sed -i ' + s:^+++ \./:+++ /etc/: + ' $p + fi + if pushd home >/dev/null; then + find . -type f -exec diff -Naur $HOME/\{\} \{\} \; >>$p + popd >/dev/null + sed -i ' + s:^+++ \./:+++ '$HOME'/: + ' $p + fi + popd >/dev/null +fi + +cat $p diff --git a/infest/bootstrap.sh b/infest/bootstrap.sh new file mode 100644 index 00000000..c434a4fe --- /dev/null +++ b/infest/bootstrap.sh @@ -0,0 +1,23 @@ +#!/bin/sh +set -x +[ "`id -u`" -eq "0" ] || { echo "you need to be root!"; exit 1;} || exit 1 + +[ -e '/usr/bin/git' ] || \ +apt-get install -y git-core || \ +yum install git || \ +opkg install git || \ +pacman -Sy git || \ +{ echo "please install git!"; exit 1;} || exit 1 + +[ -e '/krebs' ] || git clone git://github.com/krebscode/painload.git /krebs \ +|| { echo "cloning failed :(" ; exit 1; } || exit 1 + +cd /krebs || { echo "cannot change into /krebs folder:(" ; exit 1; } || exit 1 + +#read -n1 -p "infest now? [yN]" + +#[[ $REPLY = [yY] ]] && make infest +#echo $REPLY +echo "do 'make infest' in /krebs" +echo "have a nice day" + diff --git a/infest/core/angstrom b/infest/core/angstrom new file mode 100755 index 00000000..dafb840f --- /dev/null +++ b/infest/core/angstrom @@ -0,0 +1,4 @@ +#!/bin/sh + +opkg install vim vim-syntax +opkg install git diff --git a/infest/core/debian b/infest/core/debian new file mode 100755 index 00000000..fedd1ede --- /dev/null +++ b/infest/core/debian @@ -0,0 +1,6 @@ +#!/bin/sh +set -x +[ `which git` ] || apt-get install --yes git-core +[ `which tmux` ] || apt-get install --yes tmux +[ `which screen` ] && apt-get remote --yes screen +[ `which vim` ] || apt-get install --yes vim diff --git a/infest/host-patch/beagleboard/Makefile b/infest/host-patch/beagleboard/Makefile new file mode 100644 index 00000000..55952104 --- /dev/null +++ b/infest/host-patch/beagleboard/Makefile @@ -0,0 +1,9 @@ +.PHONY: all +all: select-target + +patchfile: + diff /krebs/etc/profile /etc/profile > profile.patch || true + +patch: + cd /;\ + patch -p0 < /krebs/host-patch/beagleboard/profile.patch diff --git a/infest/host-patch/beagleboard/profile.patch b/infest/host-patch/beagleboard/profile.patch new file mode 100644 index 00000000..d96173d7 --- /dev/null +++ b/infest/host-patch/beagleboard/profile.patch @@ -0,0 +1,42 @@ +--- /krebs/etc/profile Tue May 24 19:31:39 2011 ++++ /etc/profile Tue May 24 20:15:17 2011 +@@ -11,26 +11,13 @@ + alias la='ls -lA' + alias lAtr='ls -lAtr' + alias ll='ls -l' +-alias ls='ls -h --color=auto --group-directories-first' ++alias ls='ls -h --color=auto' + alias vi='vim' + alias vim='vim -p' + alias view='vim -R' + + set -o notify + +-if test -n "${BASH_VERSION-}" ; then +- shopt -s checkhash +- shopt -s histappend histreedit histverify +- shopt -s no_empty_cmd_completion +- complete -d cd +- +- function comp_sch() { +- local cword="${COMP_WORDS[$COMP_CWORD]}" +- COMPREPLY=( $(sch -l "$cword.*" ) ) +- } +- complete -F comp_sch sch +-fi +- + export HISTSIZE='65536' + export HISTFILESIZE="$HISTSIZE" + export HISTCONTROL='ignoredups' +@@ -43,10 +30,7 @@ + PS1='\[\033[${PS1_COLOR}m\]$(PS1)\[\033[32m\]\w\[\033[39m\]${PSx-} ' # green \w + PS1='\[\033[32m\]\w\[\033[m\] ' # green \w + +-if test -n "${SSH_CLIENT-}" ; then +- PS1='\[\033[35m\]\h'" $PS1" # prefix with magenta hostname +- #TERM=xterm-256color xtermcontrol --bg \#292d29 --fg \#d0d0d0 +-fi ++PS1='\[\033[35m\]\h'" $PS1" # prefix with magenta hostname + + export PATH="/krebs/bin:$PATH" + diff --git a/infest/skel/etc/motd.tail b/infest/skel/etc/motd.tail new file mode 100644 index 00000000..0e685c01 --- /dev/null +++ b/infest/skel/etc/motd.tail @@ -0,0 +1,10 @@ +KREBS PAINLOAD (MORE COBRA) +[31;1m x x x x + xx xx xx xx xx xx + xx xx xx xx xx xx + xxx x x xxx + x xxxxxxxxxxxx x + xxxxxxxxxxxxxxxx + x xxxxxxxxxxxx x + x x x x x x + x x x x x x[m diff --git a/infest/skel/etc/profile b/infest/skel/etc/profile new file mode 100755 index 00000000..2812c86c --- /dev/null +++ b/infest/skel/etc/profile @@ -0,0 +1,58 @@ +#! /bin/sh + +export EDITOR=vi + +set -u +alias bc='bc -q' +alias df='df -h' +alias du='du -h' +alias grep='grep --color=auto' +alias ps?="ps ax | head -n 1;ps ax | fgrep -v ' grep --color=auto ' | grep" +alias la='ls -lA' +alias lAtr='ls -lAtr' +alias ll='ls -l' +alias ls='ls -h --color=auto --group-directories-first' +alias vi='vim' +alias vim='vim -p' +alias view='vim -R' + +set -o notify + +if test -n "${BASH_VERSION-}" ; then + shopt -s checkhash + shopt -s histappend histreedit histverify + shopt -s no_empty_cmd_completion + complete -d cd + + function comp_sch() { + local cword="${COMP_WORDS[$COMP_CWORD]}" + COMPREPLY=( $(sch -l "$cword.*" ) ) + } + complete -F comp_sch sch +fi + +export HISTSIZE='65536' +export HISTFILESIZE="$HISTSIZE" +export HISTCONTROL='ignoredups' + +case "${TERM-dumb}" in + linux) PS1_COLOR=34 ;; + rxvt-unicode) PS1_COLOR=30 ;; + *) PS1_COLOR=39 ;; +esac +PS1='\[\033[${PS1_COLOR}m\]$(PS1)\[\033[32m\]\w\[\033[39m\]${PSx-} ' # green \w +PS1='\[\033[32m\]\w\[\033[m\] ' # green \w + +#if test -n "${SSH_CLIENT-}" ; then + PS1='\[\033[35m\]\h'" $PS1" # prefix with magenta hostname + #TERM=xterm-256color xtermcontrol --bg \#292d29 --fg \#d0d0d0 +#fi + +export PATH="/krebs/bin:$PATH" + +echo '--' >&2 +test -e ~/TODO && cat ~/TODO >&2 + +set +u + +cd /krebs diff --git a/infest/skel/etc/rc.local b/infest/skel/etc/rc.local new file mode 100755 index 00000000..f224f9e4 --- /dev/null +++ b/infest/skel/etc/rc.local @@ -0,0 +1,10 @@ +#! /bin/sh -e + +morse() { + /krebs/morse/morse.sh "$@" +} + +morse -l 42 -f 4000 `hostname` +morse -l 42 -f 2000 BEREIT + +exit 0 diff --git a/infest/skel/home/.ssh/authorized_keys b/infest/skel/home/.ssh/authorized_keys new file mode 100644 index 00000000..ab09bfe5 --- /dev/null +++ b/infest/skel/home/.ssh/authorized_keys @@ -0,0 +1,6 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCl3RTOHd5DLiVeUbUr/GSiKoRWknXQnbkIf+uNiFO+XxiqZVojPlumQUVhasY8UzDzj9tSDruUKXpjut50FhIO5UFAgsBeMJyoZbgY/+R+QKU00Q19+IiUtxeFol/9dCO+F4o937MC0OpAC10LbOXN/9SYIXueYk3pJxIycXwUqhYmyEqtDdVh9Rx32LBVqlBoXRHpNGPLiswV2qNe0b5p919IGcslzf1XoUzfE3a3yjk/XbWh/59xnl4V7Oe7+iQheFxOT6rFA30WYwEygs5As//ZYtxvnn0gA02gOnXJsNjOW9irlxOUeP7IOU6Ye3WRKFRR0+7PS+w8IJLag2xb makefu@servarch +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3SFNYGRiH0oz44G51MWx+o4cC3Fj+ez5DKO5jjtEFZ0ik8XQ5CrVj7a87WbwABA/XRdIt+3WHoInsRmuDfgcIMYgWC567v2GdOxXg2danEIAhhsOY7KiCBLCfZz7lrFO7F6eJH1RCkwrXY+59hkA+i3LNtLmZazJIb2AGwFF8Xf+b/eWmLhqjCYON+OpvqftbCm9CwhLYOUcVoR94gFAzlMYSCHR7RuBBdLV6zrkmEwFEsKghBI7fcdhwfQxuV5UGVCD58KkTQTgK/Mf2tmAg/muBM+P8s2O6wVbtixmIiiDxfc99C3QD1MYVNHqWgV1Rz9JKfmyuVvFqn7TRuuT1 tv@also +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtDhAxjiCH0SmTGNDqmlKPug9qTf+IFOVjdXfk01lAV2KMVW00CgNo2d5kl5+6pM99K7zZO7Uo7pmSFLSCAg8J6cMRI3v5OxFsnQfcJ9TeGLZt/ua7F8YsyIIr5wtqKtFbujqve31q9xJMypEpiX4np3nLiHfYwcWu7AFAUY8UHcCNl4JXm6hsmPe+9f6Mg2jICOdkfMMn0LtW+iq1KZpw1Nka2YUSiE2YuUtV+V+YaVMzdcjknkVkZNqcVk6tbJ1ZyZKM+bFEnE4VkHJYDABZfELpcgBAszfWrVG0QpEFjVCUq5atpIVHJcWWDx072r0zgdTPcBuzsHHC5PRfVBLEw== makefu@arch +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAp83zynhIueJJsWlSEykVSBrrgBFKq38+vT8bRfa+csqyjZBl2SQFuCPo+Qbh49mwchpZRshBa9jQEIGqmXxv/PYdfBFQuOFgyUq9ZcTZUXqeynicg/SyOYFW86iiqYralIAkuGPfQ4howLPVyjTZtWeEeeEttom6p6LMY5Aumjz2em0FG0n9rRFY2fBzrdYAgk9C0N6ojCs/Gzknk9SGntA96MDqHJ1HXWFMfmwOLCnxtE5TY30MqSmkrJb7Fsejwjoqoe9Y/mCaR0LpG2cStC1+37GbHJNH0caCMaQCX8qdfgMVbWTVeFWtV6aWOaRgwLrPDYn4cHWQJqTfhtPrNQ== death@Uriel +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvZvfMwszjeUcmrs5Tpd4XJDVNDNUu3Qn3ZxgJzwuoys5LXxPcMikTO++dyrXl2kyexxgSMk6SZtuh34Xg0f9JDb5pN+DJwoeYv96lqTZ5QY4dn+1F0CoP+cK692GH14Kh1wBQyiL50Wj/iWR5/QHpRzrOLsepcZim1nL9FjsW6S2l+uDnUwC4x1EhsRezqJESJlqEsiS+kbhtiPybs7KcY0U4SkpYjfNjlpFE9eLrvSouoyQOUcIVjplcGIma/SVOVYWng4wQA0d5TkCAWAU0OZb0377KynDa7F8K/wN0hRGLGZGFbs3kNDJHqR1lt+sals8M6JO7qk1VVJJj1OsUw== pfleidi@pfleidimobile +ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQB2G4SpJ/UYxmTidUl8ytT6bdNGTdYvv2nmhQyaFBroNit3xdDOVxKvaMEGDuR6ncRugw5BBvrv6iPMTCFluHJxjuh6lk3JrrsJ8CT22ZOGsA593hRoXZOCrs5SxcFkw9EBiCuaHHlWiS9+Dffr6/zpkhH3djTz05uGnDrvtKuV/Zmu5XHAurNn+X3C5S/zk/y0n8o62iSQHVKeNBGO2WYhVce9d65Ucek5dOvXZYVKSe1LeAOKyeHWv+VWP8QlObmfVrQ5l1Pou6WV6Wpo85KBa/mmBJIygC9rrG+gx/1LX7JxStbCu/WoUlUwkSaP2qxWaET9KaSO8+2Wrg5i34ax== samuel@localhost diff --git a/infest/skel/home/.vimrc b/infest/skel/home/.vimrc new file mode 100644 index 00000000..22bbf99d --- /dev/null +++ b/infest/skel/home/.vimrc @@ -0,0 +1,31 @@ +" do the right thing all the time +" +" Colors and stuff +syntax on +set background=dark + + + + +" searching +set hlsearch +set showmatch +set ignorecase +set incsearch +set wildignore=*.o,*.obj,*.bak,*.pyc + +" tabbing +set tabstop=2 +set et +set sw=2 +set smarttab +set autoindent + +" vim magic +filetype plugin indent on + + +" fuck you, help command +inoremap <F1> <ESC> +nnoremap <F1> <ESC> +vnoremap <F1> <ESC> |