autolog - interesting package?
I know we have our own scripts for this, but perhaps this is better?
«Autolog terminates connections considered to be idle based on a large
variety of parameters.»
The script can both log out users and terminate «lost» processes. Can be
run at any time of day as a cron-script (storing data between runs), or
as a daemon.
Can configure limits, groups of users etcetera.
>From the README:
Autolog 0.40
Autolog is a new version of autolog by Kyle Bateman (kyle@actarg.com),
modified by me (Carsten Juerges, juerges@cip-bau.uni-hannover.de) to
get the logout-warning on that terminal I worked in, last time.
Before the warning was written on the login-screen, where I
started X (startx), so it was difficult to get or to react on
this warning.
Now it is checked, which is the terminal with the shortest idle-time
and the message is displayed there. So I can react on it, there.
I put the old readme-text below the (=====)-line and added my changes
(of details) into that text. They can be found by searching for "##".
Here I just want to report about a few changes, I added to the program.
- first of all:
This program can run in daemon-mode or as "ordinary program".
As ordinary program it writes "/tmp/autolog.data" when starting.
So it is not necessary to keep the program in memory to
chase sleeping users. As this file is read, when the
program starts. If this file doesn't exist, no problem.
It will be generated next time.
See the options.
If running as daemon, make sure, you don't start it
several times e.g. by crontab.
If running as ordinary program, it will stay at least
as long in memory until all necessary kickouts are done.
And some more time to make sure, user doesn't return
2 minutes later. (Until als bans are over.)
- if a user logs out, before his session-limit is reached, his limit
will be reset. It was also possible to log in again, after being
kicked out.
-> fixed this. added a ban-time. (##-1)
the session-limit will be reset when the banning
has passed or a bit later, depends on when the
daemon wakes up from sleeping.
-> added little feature that kills forgotten processes.
they do appear (e.g. netscape) when a user does not
terminate netscape correctly.
-> daemon tries to wake up a sleeping user by beeping.
the user also gets an email, his beeping might not work.
Email might not work on a network, don't know, could
only test this on one network, there it worked.
-> being idle for too long is punished with 2 Mins ban.
Users should not be punished for being idle they
might be thinking about the current problem. They
deserve a little break.
These two minutes should only stop those user who
log in again and again to block the computer.
-> if the user tries to login before his ban-time ends,
he will be kicked out without any warning. He will
be banned for the originial ban-period, again :)
-> changed the "exempt-code" to idle=-1, so idle=0
will be usefull for demonstration-purpose.
-> the information about crontab (down in the text)
has expired, if running this program as daemon.
left it, because i find the hints about crontabs
quite usefull.
Maybe it is usefull to restart the program from time
to time as it might have halted due to any errors.
(via cron)
The program should only run once on a machine. Otherwise
the resulting user-information about being kicked out
it might be confusing.
-> Make sure to reduce the size of the log-file from time
to time, as it is always growing when adding messages.
The logile or at least a part of it might be usefull
to find misconfiguration or even bugs in the program.
Deb package is 29.5k and requires no extra dependencies. To be found in
Sarge and later.
Harald
Reply to: