Controlling access to data is a key concern of computer security.
In SD-UX, file owners and superusers allow or deny access to files
on a need-to-know basis by setting or manipulating the file's
permission bits to grant or restrict access by owner, group and
others. For example, the following file listing:
-rwxr-xr 1 doug admin 738 Mar 26 12:25 datafile
shows that:
Name of the file is datafile.
Owner permissions are read, write and execute (rwx).
Group permissions are read and execute (r-x).
Other permissions are read only (r-).
SD-UX commands are essentially object managers that use the
SD-UX file system in which to store their objects. There is no need
to obtain access to any objects via the file system, so the file
system protection scheme is based on blocking access to the file
system directories that store these objects.
In addition to SD-UX objects, there are several administrative
files (log, configuration, and session files) that are used or managed
by SD-UX. These files are not actually SD-UX objects and are accessible
via conventional commands such as editors and printing utilities.
These files are protected by conventional file system protection
modes.
Many of the functions that the SD-UX agents do are privileged.
Some operations, such as installing files in system directories
(e.g., in the /etc and /dev directories) and customization of system files
via control scripts, require superuser privileges. For this reason,
SD-UX agents must always run as the superuser.
Any system user may run the SD-UX controller; it is not restricted
to use only by superuser. In general, the controller does its work
by making Remote Procedure Calls (RPC) to target hosts, but it also
requires special privileges occasionally to access critical log,
configuration, and session security files. Controllers are set-uid root programs that run with the superuser privilege
in effect only briefly to do critical privileged operations, then
they switch to the real uid of the user.
Here is a summary of the SD-UX file system protection scheme:
SD-UX files are protected from access
by anyone other than the superuser by having the group and other
permissions of crucial directory modes set to 0.
Only agents and daemons running on the local host
access SD-UX files directly. All other facilities (controllers,
utilities, etc.) go through the agents using RPC to indirectly access
files. The agent or daemons perform authentication and authorization
checks on all such operations.
No hard links may exist that circumvent the directory
protection hierarchy of the SD-UX directories nor may symlinks exist
that compromise the secrecy of the contents of those directories containing
objects that might have list restrictions in effect. Use of only
a single (canonical) path to SD-UX objects avoids any such aliasing
problems.
Thus, the SD-UX files are totally protected and hidden from non-superuser
access.