Unauthorized services used by the SAF registry

The System Authorization Facility (SAF) registry uses a number of unauthorized services from the C environment provided by LE (Language Environment). Presented here is a table that lists the unauthorized services from LE C that the SAF registry uses, and provides links to additional information in the z/OS V2R1 documentation. These services are subject to BPX.DAEMON restrictions. These restrictions detailed in the documentation that are linked to from the service calls associated with each method that is listed in the table.

Method Link to further information

    checkPassword(String, String) 
           __passwd_applid()

Verify/Change User Password

    getGroups(String, int) 
           setgrent() 

Reset Group Database to First Entry

    getgrent() 

Get Group Database Entry

    endgrent()

Get Group Database Entry Functions

    getGroupsForUser(String) 

NOTE: This method only works for users with defined OMVS segments.

Get Supplementary Group IDs by User Name

    getgroupsbyname()

Get Supplementary Group IDs by User Name

    getgrgid()

Access the Group Database by ID

    getUsers(String, int) 
           setpwent() 

Reset User Database Search

    getpwent()

Get User Database Entry

    endpwent() 

User Database Functions

    isValidGroup(String)
           getgrnam_r() 

Search Group Database for a Name

    isValidUser(String) 
            getpwnam_r() 

Search User Database for a Name

    mapCertificate(X509Certificate) 
           __certificate() 

Register/Deregister/Authenticate a Digital Certificate

Note: If the Liberty server is configured to use SAF authorized services (see Activating and configuring the SAF registry on z/OS), then the following unauthorized services are not used:

  • checkPassword: __passwd_applid
  • isValidGroup: getgrnam_r
  • isValidUser: getpwnam_r
  • mapCertificate: __certificate

Instead, the Liberty server uses the initACEE authorized SAF service .

For the isValidGroup method, the Liberty server uses the RACROUTE EXTRACT macro.

Unless the server is configured to use an Angel for security authentication operations, UserRegistry, isValidUser, and isValidGroup methods return false for user or group names created without an OMVS segment.