ugh.book

(singke) #1
Subject: Returned Mail: User Unknown 73

Date: Tue, 30 Apr 91 02:11:58 EDT
From: Steve Strassmann [email protected]
To: UNIX-HATERS
Subject: Unix and parsing


You know, some of you might be saying, hell, why does this straz
guy send so much mail to UNIX-HATERS? How does he come up
with new stuff every day, sometimes twice a day? Why is he so filled
with bile? To all these questions there’s a simple answer: I use Unix.


Like today, for example. A poor, innocent user asked me why she
suddenly stopped getting e-mail in the last 48 hours. Unlike most
users, with accounts on the main Media Lab machine, she gets and
reads her mail on my workstation.


Sure enough, when I sent her a message, it disappeared. No barf, no
error, just gone. I round up the usual suspects, but after an hour
between the man pages for sendmail and other lossage, I just give up.


Hours later, solving another unrelated Unix problem, I try
“ps -ef” to look at some processes. But mine aren’t owned by “straz,”
the owner is this guy named “000000058.” Time to look in /etc/
passwd.


Right there, on line 3 of the password file, is this new user, followed
by (horrors!) a blank line. I said it. A blank line. Followed by all the
other entries, in their proper order, plain to you or me, but not to
Unix. Oh no, whoever was fetching my name on behalf of ps can’t
read past a blank line, so it decided “straz” simply wasn’t there. You
see Unix knows parsing like Dan Quayle knows quantum mechanics.


But that means—you guessed it. Mailer looks in /etc/passwd before
queuing up the mail. Her name was in /etc/passwd, all right, so
there’s no need to bounce incoming mail with “unknown user” barf.
But when it actually came down to putting the message someplace on
the computer like /usr/mail/, it couldn’t read past the blank line to
identify the owner, never mind that it already knew the owner
because it accepted the damn mail in the first place. So what did it
do? Handle it the Unix way: Throw the message away without telling
anyone and hope it wasn’t important!


So how did the extra blank line get there in the first place? I’m so
glad you asked. This new user, who preceded the blank line, was
added by a well-meaning colleague using ed^3 from a terminal with

Free download pdf