Re: Are there good reasons for running radiusd as user 'root'?

Sergey Poznyakoff <[email protected]> Sun, 16 Nov 2003 16:16:37 +0200
Newsgroups gmane.comp.gnu.radius.bugs
Organization Farlep-Internet
Message-ID <[email protected]>
> 
> If have looked into it a bit further and it seems like a good idea to me
> to keep logging filehandles open. Now, every radlog call will open and
> close the neede channel files. If a filehandle is added to the channel 
> struct, the logfile can be opened once and the filehandle can be cached.
> In that case the logfile that was opened as user root can still be written
> by the run-user. Does this seem like a good idea to you? 

No, it doesn't. Radiusd intentionally does not keep log file descriptors
open. There is a set of good reasons for that, the most important ones
being: 1) to avoid keeping too many fds open so the system limit is
not exceeded, 2) to simplify operation when the logfile is rotated
and replaced by a fresh one (keeping file handle open would require
closing and reopening it, which in turn would require some kind of
notification procedure (probably a new signal) which would unnecesarly
complicate the code and is clumsy from user point of view).

The problem with logs in non-root startup mode is not a programming
problem, so it cannot and should not be solved by radiusd itself. The
right way to solve it is for the user to create a separate logging
subirectory, say /var/log/radiusd, make it owned by the uid that
radiusd runs under, and set right priviledges to it.

Regards,
Sergey