ACUA HOWTO




It has occurred to me that the package has become a tad complicated as it has become more powerful. I think it will be very useful to provide concrete examples of how to accomplish specific objectives using the package. One thing to note is that the answers given here do not tell you everything you need to do -- only information specific to answering the question at hand is given. In other words, don't think of this HOWTO as a substitute for the documentation -- it is intended to supplement the documentation.



Q.

Our school has a 16-modem dial-up. Access is provided free of charge to faculty and students. The only restrictions we want to impose are as follows:

A.

In acua.config, enable (uncomment):
In user_add, set
then create users with
If you are creating a faculty user, you will need to modify their priority to make it higher than the default (students'). You can do this with:
Get cron to run user_renew nightly.



Q.

I want to sell a certain type of account where access during "prime-time" is restricted. I.e. the affected users will only be guaranteed a total of 30 minutes between 7pm and 10pm Mon-Fri. However, I don't want any users to be kicked off solely because of this restriction unless all lines are busy.

A.

In the default acua.config, time class 2 is defined as 7-10pm Mon-Fri. To modify an account to have a 30-minute time limit during this time class, you can do:
To avoid kicking users off solely because of this time class limit unless the system is busy you should ensure the following are enabled (uncommented) in acua.config:
Every night get cron to refresh time class limits with:


Q.

[ from Allen Bolderoff ]

How do I accomplish the following subscription plan?

"A user begins the month with 0 minutes in their time bank. Each day, 60 minutes are added to their time bank, and they are permitted to use the minimum of 4 hours and the amount of time remaining in their time bank."

A.

In the default acua.config, time class 0 is "all day, every day". We will make use of this time class in implementing this subscription plan.

Subscribe a user to this plan with something like:

Now the fun part - every day we want to add an hour to their time bank, and refresh their daily limit of 4 hours. We will get cron to do the following every night:

Refresh time class limits (refresh 4 hour limit).
Add 1 hour to the appropriate users' time bank.


Q.

I have multiple dial-up servers. How well can ACUA cope with this?"

A.

Very well. The current method is to have "/usr/lib/acua" NFS mounted on each dial-up server. NFS-compatible file locking is used when accessing the acua_users file. If you don't want each machine to use the same acua.config, you can just make a symlink like:
Then the dial-up servers can NFS-share /usr/lib/acua without sharing acua.config.



Q.

How well does ACUA work with mgetty's AutoPPP feature?

A.

Very well. Insert the following line in your ip-up script:
user_login will determine the calling user's UID based on the terminal device.



Adam McKee
Last modified: Mon Apr 7 19:49:27 CST 1997