commit: a973b8969f85d4148a3a2adad6bd2bfd06c0a4ec
Author: Chris PeBenito <pebenito <AT> ieee <DOT> org>
AuthorDate: Thu Apr 6 21:37:31 2017 +0000
Commit: Sven Vermeulen <swift <AT> gentoo <DOT> org>
CommitDate: Mon Apr 10 16:42:40 2017 +0000
URL:
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=a973b896
Systemd-related changes from Russell Coker.
policy/modules/contrib/apache.te | 6 +++++-
policy/modules/contrib/cron.te | 17 ++++++++++++++++-
policy/modules/contrib/dbus.if | 4 ++++
policy/modules/contrib/dbus.te | 9 ++++++++-
policy/modules/contrib/devicekit.te | 3 ++-
policy/modules/contrib/dpkg.te | 11 ++---------
policy/modules/contrib/logrotate.te | 14 ++++++++++++--
policy/modules/contrib/mta.te | 3 ++-
policy/modules/contrib/networkmanager.te | 6 +++++-
policy/modules/contrib/ntp.fc | 3 +++
policy/modules/contrib/ntp.if | 9 +++++++++
policy/modules/contrib/ntp.te | 25 ++++++++++++++++++++++++-
policy/modules/contrib/policykit.te | 13 ++++++++++++-
13 files changed, 104 insertions(+), 19 deletions(-)
diff --git a/policy/modules/contrib/apache.te b/policy/modules/contrib/apache.te
index 628b4156..b418338c 100644
--- a/policy/modules/contrib/apache.te
+++ b/policy/modules/contrib/apache.te
@@ -1,4 +1,4 @@
-policy_module(apache, 2.12.3)
+policy_module(apache, 2.12.4)
########################################
#
@@ -544,6 +544,10 @@ ifdef(`hide_broken_symptoms',`
libs_exec_lib_files(httpd_t)
')
+ifdef(`init_systemd', `
+ systemd_use_passwd_agent(httpd_t)
+')
+
tunable_policy(`allow_httpd_anon_write',`
miscfiles_manage_public_files(httpd_t)
')
diff --git a/policy/modules/contrib/cron.te b/policy/modules/contrib/cron.te
index b51524a4..5cb7dac1 100644
--- a/policy/modules/contrib/cron.te
+++ b/policy/modules/contrib/cron.te
@@ -1,4 +1,4 @@
-policy_module(cron, 2.11.2)
+policy_module(cron, 2.11.3)
gen_require(`
class passwd rootok;
@@ -304,6 +304,10 @@ selinux_compute_user_contexts(crond_t)
init_read_state(crond_t)
init_rw_utmp(crond_t)
init_spec_domtrans_script(crond_t)
+init_stop_all_units(system_cronjob_t)
+init_start_all_units(system_cronjob_t)
+init_get_generic_units_status(system_cronjob_t)
+init_get_system_status(system_cronjob_t)
auth_domtrans_chk_passwd(crond_t)
auth_manage_var_auth(crond_t)
@@ -417,6 +421,17 @@ optional_policy(`
')
optional_policy(`
+ systemd_write_inherited_logind_sessions_pipes(crond_t)
+')
+
+optional_policy(`
+ systemd_dbus_chat_logind(system_cronjob_t)
+ systemd_write_inherited_logind_sessions_pipes(system_cronjob_t)
+ # so cron jobs can restart daemons
+ init_stream_connect(system_cronjob_t)
+')
+
+optional_policy(`
udev_read_db(crond_t)
')
diff --git a/policy/modules/contrib/dbus.if b/policy/modules/contrib/dbus.if
index e06f20d6..3893df7c 100644
--- a/policy/modules/contrib/dbus.if
+++ b/policy/modules/contrib/dbus.if
@@ -94,6 +94,10 @@ template(`dbus_role_template',`
xdg_read_data_home_files($1_dbusd_t)
')
')
+
+ optional_policy(`
+ systemd_read_logind_pids($1_dbusd_t)
+ ')
')
#######################################
diff --git a/policy/modules/contrib/dbus.te b/policy/modules/contrib/dbus.te
index 941d2f47..579b2230 100644
--- a/policy/modules/contrib/dbus.te
+++ b/policy/modules/contrib/dbus.te
@@ -1,4 +1,4 @@
-policy_module(dbus, 1.22.4)
+policy_module(dbus, 1.22.5)
gen_require(`
class dbus all_dbus_perms;
@@ -150,6 +150,13 @@ ifdef(`distro_gentoo',`
')
optional_policy(`
+ # for /run/systemd/users/*
+ systemd_read_logind_pids(system_dbusd_t)
+ systemd_write_inherited_logind_sessions_pipes(system_dbusd_t)
+ systemd_write_logind_pid_pipes(system_dbusd_t)
+')
+
+optional_policy(`
bluetooth_stream_connect(system_dbusd_t)
')
diff --git a/policy/modules/contrib/devicekit.te
b/policy/modules/contrib/devicekit.te
index 458afb08..83e0fabd 100644
--- a/policy/modules/contrib/devicekit.te
+++ b/policy/modules/contrib/devicekit.te
@@ -1,4 +1,4 @@
-policy_module(devicekit, 1.6.2)
+policy_module(devicekit, 1.6.3)
########################################
#
@@ -261,6 +261,7 @@ auth_use_nsswitch(devicekit_power_t)
init_all_labeled_script_domtrans(devicekit_power_t)
init_read_utmp(devicekit_power_t)
+init_search_run(devicekit_power_t)
miscfiles_read_localization(devicekit_power_t)
diff --git a/policy/modules/contrib/dpkg.te b/policy/modules/contrib/dpkg.te
index 51ae8c36..3ea9e3e0 100644
--- a/policy/modules/contrib/dpkg.te
+++ b/policy/modules/contrib/dpkg.te
@@ -1,4 +1,4 @@
-policy_module(dpkg, 1.11.3)
+policy_module(dpkg, 1.11.4)
########################################
#
@@ -229,7 +229,6 @@ kernel_read_system_state(dpkg_script_t)
corecmd_exec_all_executables(dpkg_script_t)
-dev_manage_null_service(dpkg_script_t)
dev_list_sysfs(dpkg_script_t)
# Use named file transition to fix this
# dev_manage_generic_blk_files(dpkg_script_t)
@@ -276,16 +275,10 @@ files_manage_non_auth_files(dpkg_script_t)
auth_manage_shadow(dpkg_script_t)
init_all_labeled_script_domtrans(dpkg_script_t)
-init_get_generic_units_status(dpkg_script_t)
init_use_script_fds(dpkg_script_t)
-init_get_system_status(dpkg_script_t)
-init_start_generic_units(dpkg_script_t)
-init_stop_generic_units(dpkg_script_t)
-init_reload(dpkg_script_t)
-init_stop_system(dpkg_script_t)
-init_telinit(dpkg_script_t)
init_manage_script_service(dpkg_script_t)
init_startstop_all_script_services(dpkg_script_t)
+init_admin(dpkg_script_t)
libs_exec_ld_so(dpkg_script_t)
libs_exec_lib_files(dpkg_script_t)
diff --git a/policy/modules/contrib/logrotate.te
b/policy/modules/contrib/logrotate.te
index c43440ee..ec338fb6 100644
--- a/policy/modules/contrib/logrotate.te
+++ b/policy/modules/contrib/logrotate.te
@@ -1,4 +1,4 @@
-policy_module(logrotate, 1.18.1)
+policy_module(logrotate, 1.18.2)
########################################
#
@@ -37,7 +37,7 @@ role system_r types logrotate_mail_t;
#
allow logrotate_t self:capability { chown dac_override dac_read_search fowner
fsetid kill setgid setuid sys_nice sys_resource };
-allow logrotate_t self:process ~{ ptrace setcurrent setexec setrlimit execmem
execstack execheap };
+allow logrotate_t self:process ~{ ptrace setcurrent setexec execmem execstack
execheap };
allow logrotate_t self:fd use;
allow logrotate_t self:key manage_key_perms;
allow logrotate_t self:fifo_file rw_fifo_file_perms;
@@ -102,6 +102,11 @@ auth_manage_login_records(logrotate_t)
auth_use_nsswitch(logrotate_t)
init_all_labeled_script_domtrans(logrotate_t)
+init_get_generic_units_status(logrotate_t)
+init_get_all_units_status(logrotate_t)
+init_dbus_chat(logrotate_t)
+init_stream_connect(logrotate_t)
+init_manage_all_units(logrotate_t)
logging_manage_all_logs(logrotate_t)
logging_send_syslog_msg(logrotate_t)
@@ -173,6 +178,11 @@ optional_policy(`
')
optional_policy(`
+ dbus_system_bus_client(logrotate_t)
+ init_write_pid_socket(logrotate_t)
+')
+
+optional_policy(`
fail2ban_stream_connect(logrotate_t)
')
diff --git a/policy/modules/contrib/mta.te b/policy/modules/contrib/mta.te
index 22308885..68f3e91f 100644
--- a/policy/modules/contrib/mta.te
+++ b/policy/modules/contrib/mta.te
@@ -1,4 +1,4 @@
-policy_module(mta, 2.8.3)
+policy_module(mta, 2.8.4)
########################################
#
@@ -200,6 +200,7 @@ term_dontaudit_use_unallocated_ttys(system_mail_t)
init_use_script_ptys(system_mail_t)
init_use_fds(system_mail_t)
+init_rw_stream_sockets(system_mail_t)
userdom_use_user_terminals(system_mail_t)
diff --git a/policy/modules/contrib/networkmanager.te
b/policy/modules/contrib/networkmanager.te
index e7bc8487..99002c12 100644
--- a/policy/modules/contrib/networkmanager.te
+++ b/policy/modules/contrib/networkmanager.te
@@ -1,4 +1,4 @@
-policy_module(networkmanager, 1.20.3)
+policy_module(networkmanager, 1.20.4)
########################################
#
@@ -345,6 +345,10 @@ optional_policy(`
')
optional_policy(`
+ systemd_read_logind_sessions_files(NetworkManager_t)
+')
+
+optional_policy(`
udev_exec(NetworkManager_t)
udev_read_db(NetworkManager_t)
udev_read_pid_files(NetworkManager_t)
diff --git a/policy/modules/contrib/ntp.fc b/policy/modules/contrib/ntp.fc
index 756241da..67c2b883 100644
--- a/policy/modules/contrib/ntp.fc
+++ b/policy/modules/contrib/ntp.fc
@@ -15,6 +15,8 @@
/usr/lib/systemd/ntp-units\.d/.* --
gen_context(system_u:object_r:ntpd_unit_t,s0)
/usr/lib/systemd/system/ntpd.*\.service --
gen_context(system_u:object_r:ntpd_unit_t,s0)
+/usr/lib/systemd/systemd-timedated --
gen_context(system_u:object_r:ntpd_exec_t,s0)
+/usr/lib/systemd/systemd-timesyncd --
gen_context(system_u:object_r:ntpd_exec_t,s0)
/usr/sbin/ntpd --
gen_context(system_u:object_r:ntpd_exec_t,s0)
/usr/sbin/ntpdate --
gen_context(system_u:object_r:ntpdate_exec_t,s0)
@@ -23,6 +25,7 @@
/var/db/ntp-kod --
gen_context(system_u:object_r:ntp_drift_t,s0)
/var/lib/ntp(/.*)?
gen_context(system_u:object_r:ntp_drift_t,s0)
/var/lib/sntp-kod(/.*)?
gen_context(system_u:object_r:ntp_drift_t,s0)
+/var/lib/systemd/clock --
gen_context(system_u:object_r:ntp_drift_t,s0)
/var/lock/ntpdate --
gen_context(system_u:object_r:ntpd_lock_t,s0)
diff --git a/policy/modules/contrib/ntp.if b/policy/modules/contrib/ntp.if
index 8bbb2aa3..31f71108 100644
--- a/policy/modules/contrib/ntp.if
+++ b/policy/modules/contrib/ntp.if
@@ -223,6 +223,15 @@ interface(`ntp_admin',`
admin_pattern($1, ntpd_pid_t)
ntp_run($1, $2)
+
+ ifdef(`init_systemd',`
+ gen_require(`
+ class dbus send_msg;
+ ')
+
+ allow $1 ntpd_t:dbus send_msg;
+ allow ntpd_t $1:dbus send_msg;
+ ')
')
# This should be in an ifdef distro_gentoo but that is not allowed in if files
diff --git a/policy/modules/contrib/ntp.te b/policy/modules/contrib/ntp.te
index 9af1ad5f..aae4f194 100644
--- a/policy/modules/contrib/ntp.te
+++ b/policy/modules/contrib/ntp.te
@@ -1,4 +1,4 @@
-policy_module(ntp, 1.16.2)
+policy_module(ntp, 1.16.3)
########################################
#
@@ -144,6 +144,29 @@ miscfiles_read_localization(ntpd_t)
userdom_dontaudit_use_unpriv_user_fds(ntpd_t)
userdom_list_user_home_dirs(ntpd_t)
+ifdef(`init_systemd',`
+ dbus_system_bus_client(ntpd_t)
+ dbus_connect_system_bus(ntpd_t)
+ init_dbus_chat(ntpd_t)
+ init_get_system_status(ntpd_t)
+ allow ntpd_t self:capability { fowner setpcap };
+ init_reload(ntpd_t)
+
+ # for /var/lib/systemd/clock
+ init_list_var_lib_dirs(ntpd_t)
+
+ # for /run/systemd/netif/links
+ init_list_pids(ntpd_t)
+
+ optional_policy(`
+ unconfined_dbus_send(ntpd_t)
+ ')
+')
+
+optional_policy(`
+ clock_read_adjtime(ntpd_t)
+')
+
optional_policy(`
cron_system_entry(ntpd_t, ntpdate_exec_t)
')
diff --git a/policy/modules/contrib/policykit.te
b/policy/modules/contrib/policykit.te
index 21ab30e7..d7686081 100644
--- a/policy/modules/contrib/policykit.te
+++ b/policy/modules/contrib/policykit.te
@@ -1,4 +1,4 @@
-policy_module(policykit, 1.6.0)
+policy_module(policykit, 1.6.1)
########################################
#
@@ -131,6 +131,17 @@ optional_policy(`
kerberos_tmp_filetrans_host_rcache(policykit_t, file, "host_0")
')
+optional_policy(`
+ # for /run/systemd/machines
+ systemd_read_machines(policykit_t)
+
+ # for /run/systemd/seats/seat*
+ systemd_read_logind_sessions_files(policykit_t)
+
+ # for /run/systemd/users/*
+ systemd_read_logind_pids(policykit_t)
+')
+
########################################
#
# Auth local policy