Blob Blame History Raw
# Copyright (C) 2005 Tresys Technology, LLC

attribute logfile;

type devlog_t;
files_make_file(devlog_t)

type klogd_t;
domain_make_domain(klogd_t)
role system_r types klogd_t;

type klogd_exec_t;
domain_make_entrypoint_file(klogd_t,klogd_exec_t)

type klogd_tmp_t;
files_make_file(klogd_tmp_t)

type klogd_var_run_t;
files_make_file(klogd_var_run_t)

type syslogd_t;
domain_make_domain(syslogd_t)
role system_r types syslogd_t;

type syslogd_exec_t;
domain_make_entrypoint_file(syslogd_t,syslogd_exec_t)

type syslogd_tmp_t;
files_make_file(syslogd_tmp_t)

type syslogd_var_run_t;
files_make_file(syslogd_var_run_t)

type var_log_t, logfile;
files_make_file(var_log_t)

########################################
#
# klogd local policy
#

allow klogd_t klogd_tmp_t:file { getattr create read write append setattr unlink };
allow klogd_t klogd_var_run_t:file { getattr create read write append setattr unlink };

allow klogd_t self:capability sys_admin;
dontaudit klogd_t self:capability sys_resource;

kernel_read_system_state(klogd_t)

libraries_use_dynamic_loader(klogd_t)
libraries_read_shared_libraries(klogd_t)

files_create_daemon_runtime_data(klogd_t,klogd_var_run_t)
files_create_private_tmp_data(klogd_t,klogd_tmp_t)

# read /etc/nsswitch.conf
files_read_general_system_config(klogd_t)

files_read_runtime_system_config(klogd_t)
miscfiles_read_localization(klogd_t)

logging_send_system_log_message(klogd_t)

# Read /proc/kmsg and /dev/mem.
kernel_read_kernel_messages(klogd_t)
devices_raw_read_memory(klogd_t)

# Control syslog and console logging
kernel_clear_ring_buffer(klogd_t)
kernel_change_ring_buffer_level(klogd_t)

bootloader_read_kernel_symbol_table(klogd_t)

########################################
#
# syslogd local policy
#
files_create_daemon_runtime_data(syslogd_t,syslogd_var_run_t)
files_create_private_tmp_data(syslogd_t,syslogd_tmp_t)
devices_create_dev_entry(syslogd_t,devlog_t,sock_file)

allow syslogd_t syslogd_tmp_t:file { getattr create read write append setattr unlink };
allow syslogd_t syslogd_var_run_t:file { getattr create read write append setattr unlink };