Process manager abilities
Within the kernel and process manager, control over a process's ability to perform many actions is governed not by the user ID (UID) of the process, but by a set of approximately 70 permissions called process manager (procmgr) abilities.
Because a process's abilities may also be tested by a server process that receives a message from it, abilities can control things outside the domain of the kernel and process manager. To make this capability more useful, the set of 70 or so static abilities may be augmented by additional custom abilities, allowing processes to use abilities to control access to whatever they see fit.
Use of abilities allows the privileges assigned to a process to be tailored to its needs rather
than being all or nothing. QNX recommends that you configure abilities using security
policies. For a full discussion of the advantages of this feature, go to the Security Policies
chapter.
The pre-security-policies way to configure abilities is to start up a process as root with the full set of abilities. After completing initialization, the process reconfigures its non-root set of abilities, granting privileged abilities it will require and dropping others. It then calls setuid() to switch permanently to non-root and continues with just what it needs for its operation. For more information, go to the procmgr_ability() entry in the C Library Reference.
Go to Abilities
for a list of abilities.
The pidin utility allows you to display abilities information about a process. See the pidin entry in the Utilities Reference.