https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291025

            Bug ID: 291025
           Summary: periodic weekly/security runs scripts twice inside
                    jails (duplicate Security/daily security output)
           Product: Base System
           Version: 14.3-STABLE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: bin
          Assignee: [email protected]
          Reporter: [email protected]

Environment:

/etc/rc.conf inside the jail:
cron_flags="-J 60"
hostname="qbittorrent.example.org"
# sendmail disabled, no custom periodic-related entries

/etc/periodic.conf inside the jail:
daily_status_network_enable="NO"
security_status_ipfwlimit_enable="NO"
security_status_ipfwdenied_enable="NO"
weekly_whatis_enable="NO"
weekly_locate_enable="NO"
security_status_neggrpperm_enable="NO"
daily_status_disks_enable="NO"
daily_status_uptime_enable="NO"
daily_ntpd_leapfile_enable="NO"
security_status_chksetuid_enable="NO"
security_status_chkuid0_enable="NO"
security_status_ipfdenied_enable="NO"
security_status_ipf6denied_enable="NO"
security_status_tcpwrap_enable="NO"]​



Description:

The effect is that the weekly and daily security outputs from the jail contain
the same blocks printed twice in the same message/run.

On the host system (outside jails), periodic daily/weekly behave normally; each
script is executed once and there are no duplicated blocks in the output.]​



How to reproduce (weekly in the jail):

1 3 * * * root periodic daily
15 4 * * 6 root periodic weekly
30 5 1 * * root periodic monthly

Inside the jail, temporarily set:

weekly_output=/tmp/weekly.debug

in /etc/periodic.conf.

Run periodic weekly manually inside the jail.

Inspect the file /tmp/weekly.debug.]​

Actual result (weekly in the jail):

For example (simplified):

Security check:
(output mailed separately)

[...]

Security check:
(output mailed separately)

-- End of weekly output --

In other words, the Security check: (output mailed separately) block from the
weekly status-security script appears twice in a single periodic weekly run
inside the jail.]​



How to reproduce (daily security in the jail):

1. Use the same qbittorrent jail with /etc/periodic.conf as described in the
Environment section.
2. Let cron run normally inside the jail with the default periodic daily line
in /etc/crontab.
3. Observe the daily security run output mail from that jail (or redirect
daily_output to a file and run periodic security manually).​

Actual result (daily security in the jail):

Checking for passwordless accounts:
root::0:0::0:0:Charlie &:/root:/bin/sh

Checking login.conf permissions:

qbittorrent.example.org login failures:

Checking for passwordless accounts:
root::0:0::0:0:Charlie &:/root:/bin/sh

Checking login.conf permissions:

qbittorrent.example.org login failures:

-- End of security output --

This is from a single daily security run, not from two separate mails.]​



Expected result:


One Security check: (output mailed separately) block per weekly run.

One set of daily security checks (passwordless accounts, login.conf
permissions, login failures, etc.) per daily security run.]​



Additional information:

/etc/crontab contains only the standard periodic lines.

crontab -l -u root is empty (no additional cron jobs for periodic).

/var/log/cron inside the jail shows exactly one (root) CMD (periodic daily) per
day and one (root) CMD (periodic weekly) per week.

ps aux inside the jail shows exactly one /usr/sbin/cron process.

The duplication happens even when periodic weekly or periodic security is run
manually inside the jail with weekly_output / daily_output pointed to a file,
confirming that it is not caused by cron running the jobs twice.

Jails are created and managed with BastilleBSD. The generated jail.conf for the
qbittorrent jail looks like:

qbittorrent {
exec.start = '/bin/sh /etc/rc';
exec.stop = '/bin/sh /etc/rc.shutdown';
[...]
}

There are no extra exec.start lines and no jexec ... periodic jobs on the host.

The basejail release directory /usr/local/bastille/releases/14.3-RELEASE
contains only the standard /etc/periodic/{daily,weekly,monthly,security}
directories and no custom periodic scripts; /usr/local/etc/periodic in the
release is empty.



Given that:

The host behaves normally.

All jails show duplicated weekly and daily security output for a single
periodic run.

Cron is not running these jobs twice.

this seems to indicate an issue with how periodic runs weekly/security classes
inside jails in this environment.]​

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to