Definition: RADIUS server is often used to manage access to various services such as internet access. It grants or denies access based on user credentials stored in data backend. SSSD currently cannot use RADIUS server as provider to authenticate users. Users should be able to log in to system via sssd using RADIUS credentials. Overview: This work will create new provider - rad. This provider will be able to convert PAM_AUTH requests to RADIUS Access-request packets and will return PAM_SUCCESS or PAM_PERM_DENIED based on RADIUS response. Provider will use libradiusclient-ng library, which is synchronous so provider have to be split into two: SSSD async part - communicate with SSSD backend sync child - use libradiusclient-ng, communicate with RADIUS Testing: Set up working LDAP, RADIUS with LDAP as data backend. Set up SSSD with rad provider. Try to log in to system with RADIUS credentials. Sample config: [domain/RAD] id_provider = ldap ldap_uri = ldap://ldap.example.com ldap_search_base = dc=example,dc=com auth_provider = rad rad_server = radius.example.com rad_secret = secret