aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'policy/modules/admin/passenger.te')
-rw-r--r--policy/modules/admin/passenger.te107
1 files changed, 107 insertions, 0 deletions
diff --git a/policy/modules/admin/passenger.te b/policy/modules/admin/passenger.te
new file mode 100644
index 00000000..b6181456
--- /dev/null
+++ b/policy/modules/admin/passenger.te
@@ -0,0 +1,107 @@
+policy_module(passenger, 1.3.0)
+
+########################################
+#
+# Declarations
+#
+
+type passenger_t;
+type passenger_exec_t;
+domain_type(passenger_t)
+domain_entry_file(passenger_t, passenger_exec_t)
+role system_r types passenger_t;
+
+type passenger_log_t;
+logging_log_file(passenger_log_t)
+
+type passenger_var_lib_t;
+files_type(passenger_var_lib_t)
+
+type passenger_var_run_t;
+files_pid_file(passenger_var_run_t)
+
+########################################
+#
+# Local policy
+#
+
+allow passenger_t self:capability { chown dac_override fowner fsetid kill setgid setuid sys_nice sys_ptrace sys_resource };
+allow passenger_t self:process { setpgid setsched sigkill signal };
+allow passenger_t self:fifo_file rw_fifo_file_perms;
+allow passenger_t self:unix_stream_socket { accept connectto listen };
+
+manage_dirs_pattern(passenger_t, passenger_log_t, passenger_log_t)
+append_files_pattern(passenger_t, passenger_log_t, passenger_log_t)
+create_files_pattern(passenger_t, passenger_log_t, passenger_log_t)
+setattr_files_pattern(passenger_t, passenger_log_t, passenger_log_t)
+logging_log_filetrans(passenger_t, passenger_log_t, file)
+
+manage_dirs_pattern(passenger_t, passenger_var_lib_t, passenger_var_lib_t)
+manage_files_pattern(passenger_t, passenger_var_lib_t, passenger_var_lib_t)
+
+manage_dirs_pattern(passenger_t, passenger_var_run_t, passenger_var_run_t)
+manage_files_pattern(passenger_t, passenger_var_run_t, passenger_var_run_t)
+manage_fifo_files_pattern(passenger_t, passenger_var_run_t, passenger_var_run_t)
+manage_sock_files_pattern(passenger_t, passenger_var_run_t, passenger_var_run_t)
+files_pid_filetrans(passenger_t, passenger_var_run_t, { file dir sock_file })
+
+can_exec(passenger_t, passenger_exec_t)
+
+kernel_read_system_state(passenger_t)
+kernel_read_kernel_sysctls(passenger_t)
+kernel_read_network_state(passenger_t)
+kernel_read_net_sysctls(passenger_t)
+
+corenet_all_recvfrom_netlabel(passenger_t)
+corenet_all_recvfrom_unlabeled(passenger_t)
+corenet_tcp_sendrecv_generic_if(passenger_t)
+corenet_tcp_sendrecv_generic_node(passenger_t)
+
+corenet_sendrecv_http_client_packets(passenger_t)
+corenet_tcp_connect_http_port(passenger_t)
+corenet_tcp_sendrecv_http_port(passenger_t)
+
+corecmd_exec_bin(passenger_t)
+corecmd_exec_shell(passenger_t)
+
+dev_read_urand(passenger_t)
+
+domain_read_all_domains_state(passenger_t)
+
+files_read_etc_files(passenger_t)
+
+auth_use_nsswitch(passenger_t)
+
+logging_send_syslog_msg(passenger_t)
+
+miscfiles_read_localization(passenger_t)
+
+sysnet_exec_ifconfig(passenger_t)
+
+userdom_dontaudit_use_user_terminals(passenger_t)
+
+optional_policy(`
+ apache_append_log(passenger_t)
+ apache_read_sys_content(passenger_t)
+')
+
+optional_policy(`
+ hostname_exec(passenger_t)
+')
+
+optional_policy(`
+ mta_send_mail(passenger_t)
+')
+
+optional_policy(`
+ puppet_manage_lib_files(passenger_t)
+ puppet_read_config(passenger_t)
+ puppet_append_log_files(passenger_t)
+ puppet_create_log_files(passenger_t)
+ puppet_read_log_files(passenger_t)
+')
+
+optional_policy(`
+ rpm_exec(passenger_t)
+ rpm_read_db(passenger_t)
+')