Managing object authority requires control of a number of object attributes: object ownership, object private authorities, object primary group, and object authorization list, just to mention the most common properties involved. In addition, database file objects support field-level authority, and program objects define how the program interacts with adopted authority. As for the latter, programs are capable of both inheriting adopted authority from previous call levels as well as adopting their own owners’ authority, depending on the program’s USEADPAUT and USRPRF attribute settings, respectively.