Software Distributor Administration Guide (March 2009)

Table Of Contents
9.7.1.1 Controllers Run with the User’s Credentials and Privileges
SD-UX controller programs such as swinstall or swremove operate with the
privileges of the user who invokes them. The agent ensures that the user has the required
permissions on the object by looking at the object’s ACL. If permissions are not granted,
the operation fails.
A controller may be run by anyone on the system, but its actions are restricted (based
on permissions granted in various object ACLs). SD-UX agents always verify that
user-requested operations are authorized before performing them.
9.7.1.2 Agents Run with the System’s Identity
The SD-UX agents and daemons run with the privileges of a superuser; but they also
have the special identity of the host system on which they are executing. When a target
agent makes an RPC call to a source agent, two sets of credentials are passed with the
call:
those of the agent’s system
those of the user running the controller on whose behalf the target agent runs
While local superuser privilege is necessary for the agent to do required local file system
operations such as file creation and deletion, ACL management, etc., this level of
permission is neither required nor desired for DCE RPC operations with other SD-UX
processes.
When SD-UX agents perform RPCs, they assume the identity of the system on which
they run, rather than that of a particular user.
9.7.2 Security Between Hosts: The Shared Secrets File
In addition to the callers credentials, other evidence of trustworthiness is also sent in
the RPC. The SD-UX agent checks this evidence before accepting the caller credentials.
This evidence consists of passing the encryption of a secret password. The password
is read from the shared secrets file. This file is located on systems in /var/adm/sw/
security/secrets.
NOTE: The SD-UX Secret must be the same on both the target system and the
controller.
The agent compares this encrypted secret to the encryption of a local secret it shares
with the controllers host. If the secrets do not match, the call is not authenticated and
it fails.
Secrets are stored by host name in the secrets file and are used to establish trust between
two systems. The controller selects a secret in the file that corresponds with the host
name of the system on which it is running. The agent, upon receipt of an RPC from the
controller, looks up a secret associated with the controllers host.
9.7 SD-UX Internal Authentication 207