Wednesday, March 12, 2014

Unix: Pranks that sysadmins play

Unix systems administrators tend to be
very serious about their responsibilities -- except when they're not.
And, when they're not, the pranks that they play on each other and some
of their more annoying users might surprise you.

Unix systems administrators don't always have the nicest reputations.
They are often thought to be arrogant, poor communicators with a healthy
disdain for anyone who can't find his way around the command line. And,
while they manage to keep their flocks of users productive, they are
known to sometimes play tricks on their users and on each other.

What does it takes to be a good Unix prankster? Knowing the
subtleties of many commands and options that others may not be aware of
and, sometimes, just doing things that other Unix users would not
expect.
One of the pranks that has been around for a long time and people
still fall for (not restricted to Unix, by the way) is to create a
wallpaper that looks like a normal desktop, hide all of the actual
icons, and leave the system's user to click himself into frustration,
wondering why his GUI has suddenly become unresponsive.
Another is to remotely log into another person's desktop and play sound files. Years ago, just typing echo ^G
(hold the control key and press "g") on someone's system would cause a
bell to ring on the system. An unwary user might spend quite some time
wondering why her system was going "Ding!". In fact, I remember doing
something like this to a boss of mine more than twenty years ago. I
don't think he ever figured out why this was happening and was too
proud, or something, to ask.
For the particularly naive Unix users, you can log into their systems
or select their login session on one of your servers and send messages
to their terminal sessions containing discrete or not-so-discrete
messages.

Another prank a friend told me about involved ejecting more than a dozen
CDs in quick succession when a coworker was doing some work in the
server room. This individual hadn't realized anyone was still working
nearby and freaked out for a while wondering what was causing this super
odd problem.
For those of us who take issue with people who walk away from their
desks without running a lockscreen (a serious security issue for most of
us), we might enter ^S (hold the control key and press "s") in their
terminal window. When the user returns, he no longer gets a response in
the terminal window. In fact, nothing will happen no matter what he
types. It's not until you come around and type a ^S that the terminal
will come back to life and, if you do this just right, he might miss
seeing your key press and maybe you can scrunch up your face and tell
him with as much seriousness as you can muster that you can't find
anything wrong. That might leave him wondering for days what happened
and why it only happened to him.
Want to scare someone into thinking his system is really in trouble?
Add an alias like this in her .bashrc file (assuming bash is her
shell). Oops! An unsuspecting user might think her system is
completely hosed. Even another admin might call you over to ask "Hey,
Joe, have you ever seen something like this?". You then try to keep a
straight face while you run through all the possible but thoroughly
unlikely theories that you can devise.

alias ls='echo "Segmentation fault"'

Add this command and the one shown below to your victim's .bashrc file
and everything she types will cause a "segmentation fault" message to
appear. Why? Because the contents of the PROMPT_COMMAND variable are
executed as a regular bash command just before bash displays the user's
prompt.

export PROMPT_COMMAND="ls"

You can use commands like these to add these lines to John Doe's .bashrc file:

While not exactly a prank, the extent to which Unix geeks will go to
entertain themselves and others is demonstrated by a Star Wars
production -- all done in "ASCII art" and available at the URL shown
below -- quite well done and wonderfully funny.

telnet towel.blinkenlights.nl

Speaking of ASCII art, one Unix geek got so fed up with users typing
"sl" when they meant "ls" that he put a program together that displays a
train that moves across the screen. The "sl" is meant to stand for
"steam locomotive" and you can find out more about this at http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/index_e.html.

Another option for harassing those annoying users who can't properly
type two letters in a row -- just "ls"! -- and get it right is to alias
their "sl" command to something more appropriate like this.

alias sl="ls | rev"

Do that and they'll get their file listing, but all of their file names
will be displayed backwards! Serves them right, don't you think?
Other prankster sysadmins go as far as to make unexpected changes to
the /etc/hosts file on their users' systems. Imagine what happens when
you tell a system that www.google.com refers to the loopback!

You can also cause a lot of trauma by aliasing the command to invoke
someone's favorite editor to one that they never use and likely don't
know. When someone with this alias in their .bashrc file tries to use
vi and ends up using ed, they will likely be completely at a loss for
how to set things right.

alias vi='ed'

You can also alias other commands to each other. Alias pwd to cd or who to logout.
The command below will change a user's prompt to look like a DOS
prompt, complete with the C: preface. If your users spend time on both
Unix and Windows systems, they might not notice right away! But expect
that "Hey, wait a minute!" response once this sinks in.

export PS1='C:${PWD////\\\\}> '

I don't live in a cubicle jungle anymore, but I've heard this trick has
thrown a few people off balance. Carefully swap the mice in two
adjacent cubicles and watch the people trying to figure out was is
happening and then maybe notice that they're both having some very
unusual problems navigating around their screens.
Confusing your fellow admins or your more troublesome users can be a
lot of fun -- if they don't break anything important while they're
trying to figure out what happened! And, please, don't tell them that I
suggested it! But, if you've played tricks like these on your Unix
cohorts or been tricked yourself, please share some of your stories!