Adding missing documenation (sorry about that). type=AVC msg=audit(1553013917.359:9935): avc: denied { read } for pid=16326 comm="systemd-timedat" name="50-chronyd.list" dev="dm-1" ino=4870675 scontext=system_u:system_r:ntpd_t:s0 tcontext=system_u:object_r:ntpd_unit_t:s0 tclass=file permissive=1 type=AVC msg=audit(1553013917.359:9935): avc: denied { open } for pid=16326 comm="systemd-timedat" path="/usr/lib/systemd/ntp-units.d/50-chronyd.list" dev="dm-1" ino=4870675 scontext=system_u:system_r:ntpd_t:s0 tcontext=system_u:object_r:ntpd_unit_t:s0 tclass=file permissive=1 type=AVC msg=audit(1553013917.359:9936): avc: denied { getattr } for pid=16326 comm="systemd-timedat" path="/usr/lib/systemd/ntp-units.d/50-chronyd.list" dev="dm-1" ino=4870675 scontext=system_u:system_r:ntpd_t:s0 tcontext=system_u:object_r:ntpd_unit_t:s0 tclass=file permissive=1 type=AVC msg=audit(1553013821.622:9902): avc: denied { getattr } for pid=16281 comm="systemd-timedat" path="/usr/lib/systemd/ntp-units.d" dev="dm-1" ino=4700094 scontext=system_u:system_r:ntpd_t:s0 tcontext=system_u:object_r:systemd_unit_t:s0 tclass=dir permissive=1 type=AVC msg=audit(1553013821.622:9903): avc: denied { read } for pid=16281 comm="systemd-timedat" name="ntp-units.d" dev="dm-1" ino=4700094 scontext=system_u:system_r:ntpd_t:s0 tcontext=system_u:object_r:systemd_unit_t:s0 tclass=dir permissive=1 type=AVC msg=audit(1553013821.622:9903): avc: denied { open } for pid=16281 comm="systemd-timedat" path="/usr/lib/systemd/ntp-units.d" dev="dm-1" ino=4700094 scontext=system_u:system_r:ntpd_t:s0 tcontext=system_u:object_r:systemd_unit_t:s0 tclass=dir permissive=1 Signed-off-by: Dave Sugar <dsugar@xxxxxxxxxx> --- policy/modules/services/ntp.te | 3 +++ policy/modules/system/init.if | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/policy/modules/services/ntp.te b/policy/modules/services/ntp.te index a95bf21d..982d6a4c 100644 --- a/policy/modules/services/ntp.te +++ b/policy/modules/services/ntp.te @@ -138,10 +138,13 @@ userdom_dontaudit_use_unpriv_user_fds(ntpd_t) userdom_list_user_home_dirs(ntpd_t) ifdef(`init_systemd',` + allow ntpd_t ntpd_unit_t:file read_file_perms; + dbus_system_bus_client(ntpd_t) dbus_connect_system_bus(ntpd_t) init_dbus_chat(ntpd_t) init_get_system_status(ntpd_t) + init_list_unit_dirs(ntpd_t) # for /var/lib/systemd/timesync init_read_var_lib_links(ntpd_t) allow ntpd_t self:capability { fowner setpcap }; diff --git a/policy/modules/system/init.if b/policy/modules/system/init.if index 2a17910e..be2c0a70 100644 --- a/policy/modules/system/init.if +++ b/policy/modules/system/init.if @@ -2960,6 +2960,26 @@ interface(`init_search_units',` fs_search_tmpfs($1) ') +###################################### +## <summary> +## List systemd unit dirs. +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +# +interface(`init_list_unit_dirs',` + gen_require(` + type systemd_unit_t; + ') + + allow $1 systemd_unit_t:dir list_dir_perms; + + init_search_units($1) +') + ######################################## ## <summary> ## Read systemd unit links -- 2.20.1