There are many ways to determine usage from users on a system. Your main
system logs are the easiest. The other way is to setup accounting system on box
where it creates more specialized logs of users actions, time on, time off, even
down to more detailed "things" that users would not like you to really know.
the linux system also makes available the /proc system that can be read on
timed basis or even every time the file is written too. I refer to such files
as "utmp" "wtmp" both with good documentation on usage and may be what
your after. The "who" command is one of these tools that reads the utmp file.
So I would probably look in that direction. You might find more info on it also
via the Documentation included in the kernel source.
Also each shell type available keeps a log of activity such as bash's .bash_history
file in home directories of uses if telneted in... the ftp transfer log for their ftps'
so keeping track of what a users does or more is a matter of figuring out..
what parts of users interaction you wish to log.
Maxit