New Messages
To the Editor:
I found errors in the published version of the oldacct
code ("Checking
User Security," Sys Admin 3.5, Sept./Oct. 1994).
In the "On since"
test line, hyphens were published instead of equals
signs. In the
three lines that echo the users' names and dates, an
open quotation
mark preceded all three $u values. None of those should
have been
there. The corrected code is in Listing 1.(E-Media Production Manager's note: Listings referenced within the New Messages/Letters can be found by
scrolling to the bottom of the current page.)
Larry Reznick
Date: 10 Dec 94
From: Dale Panattoni <75667.1164@compuserve.com>
To: SysAdmin Readers
Subject: Printer Sharing with UNIX and Windows For Workgroups
Since the November/December issue of Sys Admin appeared,
I have been
receiving 1 - 3 calls a day with comments and questions
about the
article that I wrote pertaining to sharing printers
between UNIX and
Windows For Workgroups. The response has been overwhelmingly
great.
I thank all of you for reading the article, and I am
glad that I was
able to help you.
It wasn't until after the phone calls started pouring
in that I realized
that I had not identified which files on CompuServe
were needed to
download the WinSpool and QVT programs. Those files
can be found in
the Window's Shareware Forum by the following names:
winspo.zip
qvt394.zip
Several people called to ask if the WinSpool/QVT solution
would allow them to print from Windows to a printer
connected locally
to a UNIX box. Unfortunately, it does not. It only allows
printing
from UNIX to a shared printer on the network. However,
I hope that
those people that called are reading this letter, because
I now have
an answer as to how that task can be accomplished.
One of the calls I received was from a Douglas Smith
of Network Instruments.
Mr. Smith mentioned that his company had just come out
with a product
called NIPRINT, for $29.00, that would have saved me
a lot of time
had it been around when I first tried to do my printer
sharing. I
was a little reluctant to believe him since I had heard
this story
many times before, so he sent me a demonstration of
his product.
I installed NIPRINT when I received it and Mr. Smith
was right. It
works great. First, let me say that I am not in the
business of reviewing
products, and I certainly don't want to be telling you
which product
is better. But I felt that since I did write about printer
sharing,
I owed it to all of you who read the article to at least
inform you
of my latest experience.
NIPRINT has several advantages over the WinSpool/QVT
solution that
I wrote about earlier.
1. You only need to buy, setup, and maintain one package.
2. NIPRINT responds faster than the WinSpool/QVT solution.
3. NIPRINT is a bidirectional printer sharing package.
This means
that not only can UNIX print to any shared printer on
a Windows For
Workgroups network, but any Windows application can
also print to
a UNIX printer.
This last advantage is possible because NIPRINT uses
LPR/LPD. I have
only been using NIPRINT for a little over a week, but
so far it is
performing like a champ. I'm also sure that as time
goes by, many
other similar products will be released, since, judging
by the phone
calls I received, there are many, many WFW networks
being established.
Network Instruments can be contacted at:
Network Instruments, LLC.
P.O. Box 581156
Minneapolis, MN 55458-1156
Voice: (612) 822-2025
Fax: (612) 825-564
Once again, I have really enjoyed talking with everyone
who has called. It's fun to hear and learn about all
of the many projects
and situations being developed by other professionals.
If you want
to contact me by e-mail, you can reach me on Compuserve
at 75667,1164.
I usually check my mail there twice a week.
Thank you.
Dale A. Panattoni
V.P. Software Development
DataStar Corporation
Dear Editor:
I thought your readers would be interested in knowing
about the upcoming
USENIX conference for System Administrators, LISA '95.
Feedback on
the conference is excellent and it has grown tremendously
in the last
few years.
LISA '95, the 9th USENIX Systems Administration, co-sponsored
by USENIX,
the UNIX and Advanced Computing Systems Professional
and Technical
Association, and SAGE, the System Administrators Guild,
will take
place September 18-22, 1995, in Monterey, California.
Historically, LISA stood for "Large Installation
Systems Administration,"
back in the days when having a large installation meant
having over
100 users, over 100 systems, or over one gigabyte of
disk storage.
Today, the scope of the LISA conference includes topics
of interest
to system administrators from sites of all sizes and
kinds. What the
conference attendees have in common is an interest in
solving problems
that cannot be dealt with simply by scaling up well-understood
solutions
appropriate to a single machine or a small number of
workstations
on a LAN.
The theme for this year's conference is "New Challenges,"
which includes
such emerging issues as integration of non-UNIX and
proprietary systems
and networking technologies, distributed information
services, network
voice and video teleconferencing, and managing very
complex networks.
We are particularly interested in technical papers that
reflect hands-on
experience, describe fully implemented and freely distributable
solutions,
and advance the state of the art of system administration
as an engineering
discipline.
Features of this year's conference include a two-day
tutorial program
offering up to five tracks of full- and half-day tutorials;
three
days of technical sessions with two parallel tracks,
one consisting
of presentations of refereed technical papers, the other
comprising
invited talks, panels, and Works-in-Progress (WIP) sessions;
and the
popular Birds-of-a-Feather sessions (BoFs), which are
very informal
gatherings of attendees interested in a particular topic.
We are soliciting
submissions for the tutorial track, the refereed technical
papers
track, and the invited talks track.
Among topics of particular interest for technical papers
this year
are:
Deployment of new networking technologies
Coping with the commercialization of the internet
Dealing with differences in UNIX implementations --
migration and interoperability among BSD, SVR4, OSF
and others
Integration of UNIX-based with non-UNIX-based and proprietary
systems and networking technologies (Mac, NT and DOS
PCs)
Application of emerging technologies (Mbone, Mosaic)
to system administration
To discuss potential submissions, and for inquiries
regarding the
content of the conference program, contact the program
co-chairs at
lisa9chair@usenix.org. Extended (2 - 5 pages) abstracts
are due 1
May 1995; final papers will be due 1 August 1995.
For more detailed author instructions and a sample extended
abstract,
send email to lisa9authors@usenix.org or call USENIX
at +1 510 528
8649.
If you have a topic of general interest to system administrators,
but that is not suited for a traditional technical paper
submission,
please submit a proposal for a second track presentation
to the invited
talk (IT) coordinators at <itlisa@usenix.org>.
All details of the conference program, conference registration
fees
and forms, and hotel discount and reservation information
will be
available in July, 1995. If you wish to receive registration
materials,
please contact:
USENIX Conference Office
22672 Lambert Street, Suite 613
Lake Forest, CA USA 92630
+1 714 588 8649
FAX: +1 714 588 9706
E-mail: conference@usenix.org
Zanna Knight
USENIX
Listing 1: Corrected oldacct script
#!/bin/sh
#
# oldacct
#
# Identify accounts not used for over 90 days.
#
# Copyright 1994, Lawrence S Reznick
#
# 94Apr19 LSR
# Finger doesn't always show "On since" when the
# user is still logged in. If the user has been
# idle, finger shows the minutes & seconds idle.
# Added a test for "Idle" to catch that. Also
# found one acct that had a home phone field.
# Finger outputs that on a separate line, pushing
# the "Last logged in" line to the 5th line. The
# word "Directory:" appears on the 4th line when
# that happens. Added a test to handle that.
# Finally, changed the "Never logged in" code to
# collect the names. After the loop finishes, the
# names are output in a columnar list. Looks
# cleaner that way.
PW_FILE=/etc/passwd # Point to passwd file
LOWUID=200 # Lowest non-admin UID
monthnum ()
{
Jan=1 Feb=2 Mar=3 Apr=4 May=5 Jun=6
Jul=7 Aug=8 Sep=9 Oct=10 Nov=11 Dec=12
echo `eval echo $"$1"` # Show month's number
}
EXPMONTH=`date "+%m"` # Get current date
EXPDAY=`date "+%d"`
EXPYEAR=`date "+%Y"`
CURRMONTH=$EXPMONTH
CURRYEAR=$EXPYEAR
if [ $EXPMONTH -le 3 ]
then
EXPMONTH=`expr $EXPMONTH + 9` # Wrap around year
EXPMONTH=`expr $EXPYEAR - 1`
else
EXPMONTH=`expr $EXPMONTH - 3`
fi
if [ $EXPMONTH -eq 2 -a $EXPDAY > 28 ]
then
EXPDAY=28 # Force Feb 28
fi
#
# Turn month number into that month's name
#
#Months="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"
#set $MONTHS # Create associative array
#EXPMONTH=`eval echo $"$EXPMONTH"` # Select month's name
#
# Collect all non-administrative users' names
#
USERS=`
awk '
BEGIN { FS = ":" }
$3 >= LOWUID { print $1 }
' LOWUID=$LOWUID $PW_FILE |
sort`
#
# Find last login time for each user
#
for u in $USERS
do
# echo "$u\t\t\r\c"
LAST=`finger -m $u 2>/dev/null | sed -n '4p'`
set $LAST # Parse last login line
while [ $# -lt 5 ] # Handle special message
do
if [ "$LAST" = "Never logged in." ]
then
# echo $u"\t"$LAST
NOLOGIN="$NOLOGIN $u"
break
fi
# Special case when home phone is in GECOS field
if [ "$1" = "Directory:" ] # Phone pushed all 1 line down
then
LAST=`finger -m $u 2>/dev/null | sed -n '5p'`
set $LAST
continue
fi
# Special case when phone number isn't in GECOS field
LAST=`finger -m $u 2>/dev/null | sed -n '3p'`
set $LAST
done
if [ $# -lt 4 ] # Never logged in
then
continue
fi
if [ "$1" = "On" -a "$2" = "since" ] # Still logged in
then
continue # Don't tell anyone
fi
if [ "$5" = "Idle" ] # Still logged in
then
continue # Keep going
fi
OLDMONTH=$4
OLDDAY=$5
OLDYEAR=$6
# If last login was within 6 months,
# year will be an hh:mm time
if [ $OLDYEAR -gt 999 ] # It must be >= 6
# months old
then
echo $u"\t"$OLDMONTH $OLDDAY $OLDYEAR
continue
fi
if [ `monthnum $OLDMONTH` -lt $EXPMONTH -o \
`monthnum $OLDMONTH` -gt $CURRMONTH ]
then
echo $u"\t"$OLDMONTH $OLDDAY $OLDYEAR
continue
fi
if [ `monthnum $OLDMONTH` -eq $EXPMONTH -a \
$OLDDAY -lt $EXPDAY ]
then
echo $u"\t"$OLDMONTH $OLDDAY $OLDYEAR
continue
fi
done
if [ -n "$NOLOGIN" ]
then
echo "Never logged in:"
echo $NOLOGIN | tr ' ' '\012' | pr -t -6
fi
|