DECUS Essential Tools Collection, 1996 for OpenVMS Alpha and OpenVMS VAX (VS0174)




  The LAST program provides information on when the last time a user logged in,
what group they are from and how many days it has been.  This is done using
system routines.  If the user has never logged in, then a USEROPEN routine
starts up RMS services to extract the creation date of the user's default
loggin area.  This was done under the assumption that the user's directory
was created when the account was created.  DIGITAL otherwise keeps no record
of when an account was added.

  This version was compiled under FORTRAN 6.2.  You may need to have the
FORTRAN run-time libraries of 6.0 or greater for this to work.  Or VMS 6.1
and higher.

**************************************************************************

Modifications for 2.5-A:

1)  (fix) Error messaging corrected.

2)  (fix) Hole created in LAST 2.5 that allowed all users to view any
    other username login information if installed with SYSPRV.

3)  (mod) Open program to display all accounts.  Previously did not display
    DEFAULT account or accounts with directory specification [NOWHERE] which
    are usually group default accounts.  This was done for security type 
    people.

4)  (new) Enable those with GROUP priviledge to view users within their
    own group.  Useful for group managers.  (must be installed with SYSPRV
    for this option to work).

5)  (new) /NONINTERACTIVE qualifier which will take the noninteractive
    login value into account.  This is good for accounts that use only
    batch or network logins.  Was also used when we found that some PC
    products bypased normal LOGINOUT as a 'true' interactive login.

6)  (fix) Program will no longer display a day of week and time during
    /FULL display if 1) a user has not logged in AND 2) the account's
    UAF listed directory does not exist.  This was a minor error, but
    annoying none-the-less.


**************************************************************************

Testing info:

   Tested to VMS VAX 6.0, VMS AXP 6.1 and DEC FORTRAN 6.2


**************************************************************************

The following files are included with this utility:

     AAAREADME.1ST    - Obviously that's this file.
     LAST.BUILD       - Command file for building parts of utility.
     LAST.CLD         - Obviously the command definition file.
     LAST.EXE         - Obviously the executable.
     LAST.EXE_ALPHA   - AXP ready executable.
     LAST.FOR         - Obviously the source file.
     LAST.HLB         - Obviously the help module.
     LAST.HLP         - Obviously the help source.
     LAST.OBJ         - Obviously the object file.
     LAST.OBJ_ALPHA   - AXP ready object file.
     LAST.OPT         - Holds version of LAST utility.
     LINK.COM         - Link for particular machine. (VAX / AXP)
     UAFDEF.INC       - An include file for the defining of a structure.


**************************************************************************

  This version was compiled under FORTRAN 6.2.  You may need to have the
FORTRAN run-time libraries of 6.0 or greater for this to work.  Or VMS 6.1
and higher.

To make this work:
------------------

1)  @LINK  to link to specific hardware and software specs.  

2)  The .CLD file must be changed accordingly for the correct directory 
    structure of the executable image and location of LAST.HLB.  (The
    /HELP qualifier can be commented out if you wish to add the help file to 
    the normal system help files.)  The affected areas within the .CLD
    file are IMAGE and HELP.  To activate this command you may:

      $ SET COMMAND LAST.CLD

    or add it to your DCLTABLES.EXE file:

      $ SET COMMAND LAST.CLD /TABLE=SYS$COMMON:[SYSLIB]DCLTABLES.EXE -
        /OUTPUT=SYS$COMMON:[SYSLIB]DCLTABLES.EXE

      $ INSTAL REPLACE SYS$COMMON:[SYSLIB]DCLTABLES.EXE

    If using the later, log out and back in for the command to take
    effect.  Or type the following:

      $ SET COMMAND/TABLE=SYS$COMMON:[SYSLIB]DCLTABLES.EXE

3)  If your SYSUAF.DAT file is not in SYS$SYSTEM: directory, make sure
    the logical SYSUAF is defined in the SYSTEM logical table pointing
    to this file.

      $ DEFINE/SYSTEM/EXEC  SYSUAF   SYS$COMMON:[SYSEXE]SYSUAF.DAT

    If you are consistently getting a message that users do not exist
    when they actually do, check this logical.

4)  At present, the program will only take at most 15000 users.  To up this,
    Change the value MAX_USERS in UAFDEF.INC and recompile with LAST.BUILD.
    I will mod this to work better with FORTRAN 9X (when/if it comes out).

5)  If using LIST hook, make sure you are using version 2.0 or higher of LIST.
    Change LAST.CLD to note the default list file.  May also set /LIST
    qualifier as a default qualifier by adding a line after the qualifier
    specification:

       QUALIFIER     LIST
                     NEGATABLE
                     DEFAULT           ! add this line to make it a default
                     VALUE (TYPE=$FILE, DEFAULT=some.file) !some file is default
                                                           !LIST file

6)  If you want the /FULL qualifier as the default, perform the same operation
    as described in step 4.

       QUALIFIER     FULL
                     NEGATABLE
                     DEFAULT           ! add this line to make it a default

7) *If you want the display to use the ACCOUNT field instead of the OWNER
    field in the SYSUAF.DAT file, then remove the comment symbol from
    the DEFAULT option of the ACCOUNT_FIELD qualifier.

8)  If you need to recompile for any reason, use LAST.BUILD so that the
    options file is sure to be loaded.

9)  Install LAST with SYSPRV if you wish to enable those with GROUP
    privilege to see users in their own group.  If you do not want this,
    then do not install with SYSPRV.  If a user has GROUP and the program
    is not installed, it will inform them of this.


**************************************************************************


  If there are any questions, comments, or suggestions:

                    Jonathan C. Baker
                    Naval Surface Warfare Center
                    Code N86
                    Dahlgren, VA 22448
                    (703)663-8705

                    jbaker@relay.nswc.navy.mil

Click on FTP to download from the FTP archives.
[FTP]