The library and the exit programs should have *PUBLIC *USE authority.
Be VERY careful when assigning exit programs, especially any exit programs that return Accept/Reject flags. If you return Reject, the server will not allow the transaction. If you return Accept, be SURE that you understand how the server will act upon the value — some exit programs can cause servers to Accept a transaction even if this contradicts normally expected i5/OS object security, in some cases even if the user requesting the service does not exist.
Server exit programs can restrict or widen access capabilities. Test, and test, and test again. If PTFs are applied, or you do an upgrade, go through the entire test cycle again (ideally, <i>before</i> upgrading your production system).
<i>What is the proper authority for an exit program and its log file? </i>
As the joblog error directly implies, the program and library must have *PUBLIC *USE authority in order for the exit program even to be called. The program may be compiled as USRPRF(*OWNER) to allow the program to access any objects that it needs to do its work. Those objects may then be *PUBLIC *EXCLUDE as long as the program owner has sufficient authority to use the objects as needed.