SAC(8)               Maintenance Commands and Procedures              SAC(8)
NAME
       sac - service access controller
SYNOPSIS
       sac -t sanity_interval       /usr/lib/saf/sacDESCRIPTION
       The Service Access Controller (SAC) is the overseer of the server
       machine. It is started when the server machine enters multiuser mode.
       The 
SAC performs several important functions as explained below.
   Customizing the SAC Environment
       When 
sac is invoked, it first looks for the per-system configuration
       script 
/etc/saf/_sysconfig. 
sac interprets 
_sysconfig to customize
       its own environment. The modifications made to the 
SAC environment by       
_sysconfig are inherited by all the children of the 
SAC. This
       inherited environment may be modified by the children.
   Starting Port Monitors
       After it has interpreted the 
_sysconfig file, the 
sac reads its
       administrative file 
/etc/saf/_sactab. 
_sactab specifies which port
       monitors are to be started. For each port monitor to be started, 
sac       forks a child (see 
fork(2)) and creates a 
utmpx entry with the 
type       field set to 
LOGIN_PROCESS. Each child then interprets its per-port
       monitor configuration script 
/etc/saf/pmtag/_config , if the file
       exists. These modifications to the environment  affect the port
       monitor and will be inherited by all its children. Finally, the child
       process 
execs the port monitor, using the command found in the       
_sactab entry.  (See 
sacadm; this is the command given with the 
-c       option when the port monitor is added to the system.)
   Polling Port Monitors to Detect Failure
       The 
-t option sets the frequency with which 
sac polls the port
       monitors on the system. This time may also be thought of as half of
       the maximum latency required to detect that a port monitor has failed
       and that recovery action is necessary.
   Administrative functions
       The Service Access Controller represents the administrative point of
       control for port monitors. Its administrative tasks are explained
       below.
       When queried (
sacadm with either 
-l or 
-L), the Service Access
       Controller returns the status  of the port monitors specified, which       
sacadm prints on the standard output. A port monitor may be in one of
       six states:       
ENABLED                     The port monitor is currently running and is accepting
                     connections. See 
sacadm(8) with the 
-e option.       
DISABLED                     The port monitor is currently running and is not
                     accepting connections. See 
sacadm with the 
-d option,
                     and see 
NOTRUNNING, below.       
STARTING                     The port monitor is in the process of starting up.                     
STARTING is an intermediate state  on the way to                     
ENABLED or 
DISABLED.       
FAILED                     The port monitor was unable to start and remain
                     running.       
STOPPING                     The port monitor has been manually terminated but has
                     not completed its shutdown procedure. 
STOPPING is an
                     intermediate state on the way to 
NOTRUNNING.       
NOTRUNNING                     The port monitor is not currently running. (See 
sacadm                     with 
-k.)  This is the normal "not running" state. When
                     a port monitor is killed, all ports it was monitoring
                     are inaccessible.  It is not possible for an external
                     user to tell whether a port is not being monitored or
                     the system is down. If the port monitor is not killed
                     but is in the 
DISABLED state, it may be possible
                     (depending on the port monitor being used) to write a
                     message on the inaccessible port telling the user who
                     is trying to access the port that it is disabled. This
                     is the advantage of having a 
DISABLED state as well as
                     the 
NOTRUNNING state.
       When a port monitor terminates, the 
SAC removes the 
utmpx entry for
       that port monitor.
       The 
SAC receives all requests to enable, disable, start, or stop port
       monitors and  takes the appropriate action.
       The 
SAC is responsible for restarting port monitors that terminate.
       Whether or not the 
SAC will restart a given port monitor depends on
       two things:
           o      The restart count specified for the port monitor when the
                  port monitor was added by 
sacadm; this information is
                  included in 
/etc/saf/pmtag/_sactab.           o      The number of times the port monitor has already been
                  restarted.
SECURITY
       sac uses 
pam(3PAM) for session management.  The 
PAM configuration
       policy, listed through 
/etc/pam.conf, specifies the session
       management module to be used for 
sac. Here is a partial 
pam.conf file
       with entries for 
sac using the UNIX session management module.
         sac  session   required   pam_unix_session.so.1
       If there are no entries for the 
sac service, then the entries for the
       "other" service will be used.
OPTIONS
       -t sanity_interval                             Sets the frequency (
sanity_interval) with which                             
sac polls the port monitors on the system.
FILES
           o      
/etc/saf/_sactab           o      
/etc/saf/_sysconfig           o      
/var/adm/utmpx           o      
/var/saf/_logSEE ALSO
       pmadm(8), 
sacadm(8), 
fork(2) pam(3PAM), 
pam.conf(5), 
attributes(7),       
pam_authtok_check(7), 
pam_authtok_get(7), 
pam_authtok_store(7),       
pam_dhkeys(7), 
pam_passwd_auth(7), 
pam_unix_account(7),       
pam_unix_auth(7), 
pam_unix_session(7)NOTES
       The 
pam_unix(7) module is no longer supported. Similar functionality
       is provided by 
pam_authtok_check(7), 
pam_authtok_get(7),       
pam_authtok_store(7), 
pam_dhkeys(7), 
pam_passwd_auth(7),       
pam_unix_account(7), 
pam_unix_auth(7), and 
pam_unix_session(7).
       The service access controller service is managed by the service
       management facility, 
smf(7), under the service identifier:
         svc:/system/sac:default
       Administrative actions on this service, such as enabling, disabling,
       or requesting restart, can be performed using 
svcadm(8). The
       service's status can be queried using the 
svcs(1) command.
                               April 21, 2009                         SAC(8)