Bug 2231257 - MLS: logrotate.service fails to start because it cannot map its configuration file in memory
Summary: MLS: logrotate.service fails to start because it cannot map its configuration...
Keywords:
Status: MODIFIED
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: selinux-policy
Version: 9.2
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Nikola Knazekova
QA Contact: Milos Malik
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-08-11 06:32 UTC by Renaud Métrich
Modified: 2023-08-17 15:20 UTC (History)
3 users (show)

Fixed In Version: selinux-policy-38.1.21-1.el9
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github fedora-selinux selinux-policy pull 1781 0 None Merged Allow logrotate_t to map generic files in /etc 2023-08-15 08:33:33 UTC
Red Hat Issue Tracker RHELPLAN-165591 0 None None None 2023-08-11 06:33:55 UTC

Description Renaud Métrich 2023-08-11 06:32:13 UTC
Description of problem:

On a freshly installed MLS system, we can see logrotate.service unit failing:
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------
[root@vm-mls9 ~]# journalctl -b -u logrotate.service 
Aug 11 08:12:14 vm-mls9 systemd[1]: Starting Rotate log files...
Aug 11 08:12:14 vm-mls9 logrotate[707]: error: Error mapping config file /etc/logrotate.conf: Permission denied
Aug 11 08:12:14 vm-mls9 systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE
Aug 11 08:12:14 vm-mls9 systemd[1]: logrotate.service: Failed with result 'exit-code'.
Aug 11 08:12:14 vm-mls9 systemd[1]: Failed to start Rotate log files.
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------

This happens because it's not able to map its configuration file:
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------
type=PROCTITLE msg=audit(08/11/2023 08:12:14.244:13990) : proctitle=/usr/sbin/logrotate /etc/logrotate.conf 
type=SYSCALL msg=audit(08/11/2023 08:12:14.244:13990) : arch=x86_64 syscall=mmap success=no exit=EACCES(Permission denied) a0=0x0 a1=0x1f0 a2=PROT_READ a3=MAP_PRIVATE|MAP_POPULATE items=0 ppid=1 pid=707 auid=unset uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=(none) ses=unset comm=logrotate exe=/usr/sbin/logrotate subj=system_u:system_r:logrotate_t:s0-s15:c0.c1023 key=(null) 
type=AVC msg=audit(08/11/2023 08:12:14.244:13990) : avc:  denied  { map } for  pid=707 comm=logrotate path=/etc/logrotate.conf dev="dm-0" ino=33858546 scontext=system_u:system_r:logrotate_t:s0-s15:c0.c1023 tcontext=system_u:object_r:etc_t:s0 tclass=file permissive=0 
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------


Version-Release number of selected component (if applicable):

selinux-policy-mls-38.1.11-2.el9_2.3.noarch

How reproducible:

Always

Steps to Reproduce:
1. Start logrotate.service unit

Actual results:

Failure

Expected results:

No failure

Comment 1 Zdenek Pytela 2023-08-15 08:33:33 UTC
Commit to backport:
ec1ac0ac4 Allow logrotate_t to map generic files in /etc


Note You need to log in before you can comment on or make changes to this bug.