Access to IPC objects
IPC objects are created, deleted, and accessed via several system calls that are discussed in the Trusted AIX® Programming topic. Typical users do not perform these operations. This topic presents a general overview of the rules for the creation, deletion, and access of IPC objects.
To access an IPC object, a process must pass DAC, MIC, and MAC access checks.
DAC access checks are based on the mode (owner, group, or world) of the object and the user and group IDs of the process. A process has DAC owner access to an IPC object if the process effective UID is the same as either the object owner UID or object creator UID. This also applies to DAC group access.
MAC access is based on the SLs of the process and object. MIC access is based on the TLs of the process and object.
Access rules for IPC object contents are the same as for IPC object
attributes. To read either the contents or attributes of an IPC object, DAC READ, MIC READ, and MAC READ access are required. To write to an IPC object, DAC WRITE, MIC WRITE, and MAC WRITE access
is required.
DAC OWNER and MAC WRITE access to the object. To change the
SL of an IPC object, the process must have all of the following:PV_SL_PROCprivilegeDAC OWNER(downgrade only)DAC WRITEMAC WRITEPV_SL_UGprivilege to upgrade SL, orPV_SL_DGprivilege to downgrade SLPV_MAC_CLif existing or new SL outside clearance of processMIC WRITE
PV_TLprivilegeDAC OWNERMAC WRITEMIC WRITE
Additionally, in order to lock or unlock a shared memory segment
in memory, a process must have the PV_KER_IPC_O privilege.
A process also requires the PV_KER_IPC privilege
to change msg qbytes of a message queue in the msgctl subroutine.