z/OS UNIX System Services Planning
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Assigning account numbers for forked address spaces

z/OS UNIX System Services Planning
GA32-0884-00

Account numbers for forked or spawned address spaces are set as follows:
  • Forked or spawned address spaces inherit accounting data from the parent address space.
  • When daemon processes such as rlogind or cron create new work using setuid() and exec(), accounting data comes from the user's RACF® profile (the WAACCNT value in the WORKATTR segment). If this value is not defined in RACF, the address space will not have accounting data.

    Guideline: The user ID starting the cron daemon should be different than the user ID running the cron jobs in order to pick up the correct WAACCNT information in the WORKATTR segment for the cron jobs that are running.

    In addition, if you have multiple UID(0) users defined, and you want to track SMF accounting data for the cron daemon itself, there is no guarantee you will get the same user ID that started the cron daemon in your SMF type 30 records.

    If there are multiple user IDs in the OMVS segments that share UID(0), it will not be known which RACF profile will be used to create accounting data, so results will be unpredictable.

  • Accounting data can also be verified or changed using the IEFUAV or IEFUSI installation exits.

    Restriction: Your IEFUSI exit will not receive any step account information for forked address spaces.

  • With the _BPX_ACCT_DATA environment variable, users can change the account data for a process that is about to be exec()'d or spawned.
  • With the __spawn() service, the caller can define account information in the spawn inheritance structure.

The IEFUAV exit is only passed control when the IEFUAV exit is activated for subsystem OMVS (or all subsystems). This environment typically describes the environment in which a daemon determines the identity of a client, sets up the security environment, and passes the routine control.

In the case of a fork(), spawn(), or exec() where the accounting data is provided by a superuser, the IEFUAV exit is not passed control.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014