NAME
     nnacct - news accounting and access authorization (nn)

SYNOPSIS
     nnacct -r [ -f file ] [ -a ] [ user ]...
     nnacct [ -ppolicy ] [ -qquota ] user...
     nnacct -ZERO

DESCRIPTION
     The nnacct  command  provides  an  optional  accounting  and
     access  authorization  for  news  reading  via  the  nn news
     reader.

     The first form (-r) is used to print accounting reports.  If
     a  file is specified data from a saved accounting file; oth-
     erwise the data is read from the current accounting file.

     If -a is specified, the report will contain accounting  data
     for  all  users.  Otherwise, if one or more users are speci-
     fied, the data for these users will be printed.   If  neiter
     is  specified, only the accounting data for the current user
     is printed.
       Only the super-user can generate reports for  other  users
     than the caller.

     The second form (-p and/or -q) assigns the specified  access
     policy and/or quota to the specified users.  If a given user
     is not already known in the accounting  file,  a  new  entry
     with  the  specified  policy  and  quota is created (default
     values are used if both are not specified).

     The third form (-ZERO) will clear the usage counts  for  all
     users.  Individual usage counts cannot be cleared.  The ori-
     ginal accounting file is saved with a .old suffix.

     The following policies are currently implemented:

     0    No access.  The user is not allowed  to  read  news  at
          all.

     1    Privileged user.  The user can read news at  all  times
          and  no accounting information is saved.  This is obvi-
          ously the policy for system administrators :-)

     2    Full time access.  The user  can  access  news  at  all
          times.

     3    Off-hours access.  The user can only access news at off
          hours,  i.e.  in  the morning, in the evening, on week-
          ends, and on holidays (not complete - check the  source
          :-)

     The quota specifies a number of  hours  which  the  user  is
     allowed  to  read  news.  When this quota is used up, access
     will be blocked.  A quota of zero gives unlimited access.

     New users will get the default policy and quota  defined  in
     account.c.   If  this  allows new users to read news at only
     specific times, this form can be used to  permit  individual
     users  to  read  news  at  all  times,  or it can be used to
     prevent them from reading news at all.  If the default  pol-
     icy does not allow new users to read news, this form must be
     used to authorize them to read news.

HOW IT WORKS
     If authorization is enabled, the nn news  reader  will  call
     nnacct  on  start-up  to  check whether the policy and quota
     defined for the current user allows him to read news at this
     time (or at all).

     If accounting is enabled,  the  nn  news  reader  will  call
     nnacct  on  exit to register the time spent on news reading.
     If account logging is also defined (see account.c), an  line
     is also added to the accounting log file.

     When accounting is defined, the user can use the :cost  com-
     mand to get the current accounting data, and if the variable
     report-cost is set, nn will print accounting information  on
     exit.

CONTIGURATION AND NEW POLICIES
     The use of nnacct is enabled via the ACCOUNTING and  AUTHOR-
     IZE  symbols in nn's configuration file.  Further configura-
     tion of cost calculations, logging, default policy,  default
     quotas,  etc. is done directly in the source file account.c.
     New access policies can also be defined in this file.   This
     allows  you  to change the policies or prices without having
     to recompile the whole package since only  nnacct  is  modi-
     fied.

PRIVILEGED USERS
     Normally, only root is allowed  to  change  user  policy  or
     quota,  list all user's accounting data etc.  This privilege
     can be shared with other users by listing their  login  name
     in  the  file  $CLIENT/admins.   There should be exactly one
     login name per line, and no blanks are allowed.

FILES
     $db/acct      accounting data (accumulated per user)
     $db/acctlog   accounting log (grows indefinitely)
     $lib/admins   login names of privileged nnacct users.

SEE ALSO
     nn(1), nnusage(1)

BUGS
     There should be some tools to mess around with the  account-
     ing  files,  e.g.  to  make summaries, clear usage counters,
     etc.

AUTHOR
     Kim F. Storm, Texas Instruments A/S, Denmark
     E-mail: storm@texas.dk