Dear Alan, I just cloned the https://github.com/FreeRADIUS/freeradius-server.git and cd freeradius-server git checkout -b v3.0.x origin/v3.0.x cd redhat [smason@betty redhat]$ grep RuntimeDirectory radiusd.service RuntimeDirectory=/var/run/radiusd RuntimeDirectoryMode=0775 [smason@betty redhat]$ Please substitute RuntimeDirectory=/var/run/radiusd with RuntimeDirectory=radiusd because, this parameter RuntimeDirectory should be filled with relative path, as from "man" reported (man systemd.exec): RuntimeDirectory= Takes a list of directory names. If set, one or more directories by the specified names will be created below /run (for system services) or below $XDG_RUNTIME_DIR (for user services) when the unit is started, and removed when the unit is stopped. The directories will have the access mode specified in RuntimeDirectoryMode=, and will be owned by the user and group specified in User= and Group=. Use this to manage one or more runtime directories of the unit and bind their lifetime to the daemon runtime. The specified directory names must be relative, and may not include a "/", i.e. must refer to simple directories to create or remove. This is particularly useful for unprivileged daemons that cannot create runtime directories in /run due to lack of privileges, and to make sure the runtime directory is cleaned up automatically after use. For runtime directories that require more complex or different configuration or lifetime guarantees, please consider using tmpfiles.d(5). To replicate the bug is necessary to reboot the system, because the /var/run will be empty during the first phases of a booting system. The /var/run/radiusd will be created only in case the content of RuntimeDirectory variable will be radiusd. Best regards. Stefano