dip provides an interpreter for a simple scripting language that can handle the modem for you, convert the line to SLIP mode, and configure the interfaces. This is rather primitive and restrictive, but sufficient for most cases. A new release of dip may feature a more versatile language one day.
To be able to configure the SLIP interface, dip requires root
privilege. It would now be tempting to make dip setuid to
root, so that all users can dial up some SLIP server without
having to give them root access. This is very dangerous, because setting
up bogus interfaces and default routes with dip may disrupt
routing on your network badly. Even worse, this will give your users
the power to connect to any SLIP server, and launch dangerous
attacks on your network. So if you want to allow your users to fire up a
SLIP connection, write small wrapper programs for each prospective SLIP
server, and have these wrappers invoke dip with the specific
script that establishes the connection. These programs can then safely
be made setuid root.