| jan95.tar |
New Messages
To the Editor: Larry Reznick
Date: 10 Dec 94 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. 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.
Dear Editor: 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:
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
Zanna Knight
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
|