Cover V04, I01
Article

jan95.tar


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
    


     



  •