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]](http://www2.encompassus.org/hidedecus/graphics/i_ftp.gif)