• Nagios logfile wrong permissions

    From Andrea Venturoli@ml@netfence.it to muc.lists.freebsd.ports on Tue Feb 17 18:39:40 2026
    From Newsgroup: muc.lists.freebsd.ports

    Hello.

    I've been using nagios4 for a long time and for a long time I've been
    having a problem: when I try to watch alert history for a service I get:
    Error: Cannot open log file '/var/spool/nagios/nagios.log' for reading!

    In fact:
    # ls -l /var/spool/nagios/nagios.log
    -rw-r----- 1 nagios nagios 925763 Feb 17 18:17 /var/spool/nagios/nagios.log

    Apache won't be able to open it unless it's permission is 644.
    I can manually change it and the problem will temporarily go away; alas,
    the next day, after Nagios rotates the file, it will come back again
    with 640.

    There's a discussion about this at
    https://github.com/NagiosEnterprises/nagioscore/issues/303

    As you can see the problem is deemed as solved.
    The source looks like it's been corrected:
    # cd /usr/ports/net-mgmt/nagios4/
    # make patch
    # less work/nagios-4.5.11/base/logging.c
    ...
    static FILE *open_log_file(void)
    {
    int fh;
    struct stat st;

    if(log_fp) /* keep it open unless we rotate */
    return log_fp;

    if ((fh = open(log_file, O_RDWR|O_APPEND|O_CREAT|O_NOFOLLOW, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)) == -1) {
    if (daemon_mode == FALSE)
    printf("Warning: Cannot open log file '%s' for writing\n", log_file);
    return NULL;
    ...

    "S_IROTH" is there, so the file should be created with "r+o" permission.
    Still this doesn't happen.



    Any hint on where to look?

    bye & Thanks
    av.


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21b-Linux NewsLink 1.2