Multidialnet is a curses-based tool that runs on a machine that hosts a shared dial-up Internet connection. This program will not only allow users to make the connection, but also log the usage and work out how much the phone call cost. It should work equally well with any sort of non-permanent connection - not just analogue modems.
This is an example script showing how to make Netware or KixTart like login scripts with Samba. It demonstrates how to make drive mappings based upon username and/or group membership, and how to insert a user-/machinename in a BIND8 DNS server, so you can have a dynamic DNS server with which you can resolve a username/machinename to an IP address.
Normally, only one process at a time can use the QUEUE target provided by netfilter, the Linux 2.4 firewalling subsystem. ipqmpd solves this problem by acting as a multiplexer between the QUEUE target and multiple processes. The package includes a compatibility library (libipqmpd) which makes porting from the netfilter-provided libipq easy.