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