Major differences from Athena 9
Debathena has made some different design decisions from those
Athena has made. Below are some of the more important ones:
- While Athena requires that one either have a non-Athena RHEL
machine or install the entire Athena environment for things to work
correctly, Debathena allows a user to select any desired level
of Athena compatibility. Debathena has been carefully
designed so that each package follows Debian policy as closely as
possible and can be uninstalled cleanly; thus you can change the level
of Athena compatibility that you want on a machine.
- On Debathena, /usr/athena and
/bin/athena paths are used only for compatibility
(these are in fact just symlinks); they are not in the user’s
PATH or LD_LIBRARY_PATH. This means that software
designed to run on a Debathena machine but not depending on
Debathena-specific software will work on other Linux machines.
- Debathena uses an automounter for /mit,
rather than having the attach program manage symlinks there.
This means that you can access lockers by simply using paths of the
form /mit/locker, without needing to remember to
attach the locker.
- Our attach program runs setgid
attach rather than setuid root, and is
primarily useful for using the add shell function and Zephyr
subscription functionality.
- While Athena workstations manage user information by adding users
to the /etc/passwd file when they log in, on Debathena,
user information is retrieved directly from Hesiod
via the nsswitch library. This has the advantage that
information like the user’s shell updates immediately upon a change in
Hesiod, rather than waiting for the user to logout. We wrote nss_nonlocal in order to avoid any
security problems related to namespace conflicts between local and
Athena-wide users. This results in problems with some legacy programs
that do not deal with nsswitch correctly.