!!Enterprise Licenses Only

The Radius plugin lets you validate authentication against a Radius server.  This plugin is only enabled for Enterprise users.  You can set the authentication type to use, the host information, and port information for the authentication process.\\
The RADIUS protocol itself and related terms __[are well documented|https://en.wikipedia.org/wiki/RADIUS]__ (external link), outside the purpose of this wiki.\\
\\
With the RADIUS plugin enabled the CrushFTP Server acts as the __Network Access Server(NAS)__ in a RADIUS infrastructure, with HTTPS, SFTP, FTP, etc. endpoints on the front, passing authentication through to a RADIUS server backend by means of the plugin.\\
In the upper part of the config panel the __Connection Parameters__ are set:\\
\\
[{Image src='rad11.jpg' width='1440' height='..' align='left' style='..' class='..' }]
\\
;Authenticator Type: dropdown selector to choose the RADIUS authentication type (PAP, CHAP, etc.)
;Server Item: dropdown list selector allows binding the plugin to specific server items (FTP, SFTP, etc)
;Server Host and Port: the RADIUS server IP and Authentication port (IANA default 1812)
;NAS IP: sets the __NAS-IP-Address__ RADIUS attribute. If left empty, the local private address of the server is used.
;NAS Port: sets the __NAS-Port__ RADIUS attribute\
;Retries: sets the number of retries in case of failing to connect to the specified RADIUS server.
;Timeout (s): sets the connection timeout for the connection to the RADIUS server. 
;Shared Secret: the RADIUS shared secret. The term is usually same for all RADIUS implementations.\\
!IMPORTANT: The __NAS-Port-Type__ attribute is hard coded to "__Ethernet__".\\
\\
The mid section of the plugin panel allows setting the user directory (home directory) access options. Some form of directory access must be configured, otherwise the plugin will deny access even if the credentials validate successfully.\\
\\
[{Image src='rad24.jpg' width='1440' height='..' align='left' style='..' class='..' }]
\\
;Username to use as template (except directory access): the plugin-wide inheritance template user name. Usually "__default__". Various user customizations can be inherited from. In the chain of user inheritance, it has lowest prevalence.
;Radius only used for Authentication (User manager then defines user's access.): per user template mode or local home directory mode. When the checkbox is __set__, will need to create for each RADIUS user a matching user name un User Manager (local per user template account). VFS directory access arious user customizations can be inherited from.In the chain of inheritance, the local template has highest prevalence.
;:When the checkbox is __un-set__, the various home directory settings are revealed. The plugin will grant individual home directories automatically at login time.
;Home folder location: the common root directory path for all automatic RADIUS user directories.
;Directory Permissions: set of virtual permission flags.
;Use local folder if HomeDirectory not found?: long standing GUI bug, ignored
;Append username to path?: toggles the use of the user name as the user directory name. When off, all users will access the common root path under __Home folder location__
;Create folder with username: toggles creation of the per user home directory automatically. When off, it needs to be created manually or the plugin denies login to all users who don't have a home directory already.
;Create additional subfolders in home directory: allows creation of a set of subdirectories, with various permissions, under each user's own working(home) directory. 
;Advanced: can set up PGP file cryptography and CrushSync here.
\\
The end section allows mapping of RADIUS user groups as Roles, based on the __Filter-Id__ attribute value returned by the RADIUS server for each user object.\\
[{Image src='rad31.jpg' width='1440' height='..' align='left' style='..' class='..' }]\\
The management buttons allow to add, remove and move around role filters.\\
[{Image src='rad32.jpg' width='1440' height='..' align='left' style='..' class='..' }]\\
\\
Roles have two components, the role name in the __Enter Role__ field and an optional __Role Template__ account name.