Chris PeBenito c22038
# Copyright (C) 2005 Tresys Technology, LLC
Chris PeBenito c22038
Chris PeBenito c22038
policy_module(dmesg, 1.0)
Chris PeBenito c22038
Chris PeBenito c22038
########################################
Chris PeBenito c22038
#
Chris PeBenito c22038
# Declarations
Chris PeBenito c22038
#
Chris PeBenito c22038
Chris PeBenito c22038
type dmesg_t;
Chris PeBenito c22038
type dmesg_exec_t;
Chris PeBenito c22038
init_make_daemon_domain(dmesg_t,dmesg_exec_t)
Chris PeBenito c22038
role system_r types dmesg_t;
Chris PeBenito c22038
Chris PeBenito c22038
########################################
Chris PeBenito c22038
#
Chris PeBenito c22038
# Local policy
Chris PeBenito c22038
#
Chris PeBenito c22038
Chris PeBenito c22038
allow dmesg_t self:capability sys_admin;
Chris PeBenito c22038
dontaudit dmesg_t self:capability sys_tty_config;
Chris PeBenito c22038
Chris PeBenito c22038
allow dmesg_t self:process { sigchld sigkill sigstop signull signal };
Chris PeBenito c22038
Chris PeBenito c22038
kernel_read_kernel_sysctl(dmesg_t)
Chris PeBenito c22038
kernel_read_hardware_state(dmesg_t)
Chris PeBenito c22038
kernel_read_ring_buffer(dmesg_t)
Chris PeBenito c22038
kernel_clear_ring_buffer(dmesg_t)
Chris PeBenito c22038
kernel_change_ring_buffer_level(dmesg_t)
Chris PeBenito c22038
Chris PeBenito c22038
terminal_ignore_use_console(dmesg_t)
Chris PeBenito c22038
Chris PeBenito c22038
domain_use_widely_inheritable_file_descriptors(dmesg_t)
Chris PeBenito c22038
Chris PeBenito c22038
init_use_file_descriptors(dmesg_t)
Chris PeBenito c22038
init_script_use_pseudoterminal(dmesg_t)
Chris PeBenito c22038
Chris PeBenito c22038
libraries_use_dynamic_loader(dmesg_t)
Chris PeBenito c22038
libraries_use_shared_libraries(dmesg_t)
Chris PeBenito c22038
Chris PeBenito c22038
logging_send_system_log_message(dmesg_t)
Chris PeBenito c22038
logging_write_system_logs(dmesg_t)
Chris PeBenito c22038
Chris PeBenito c22038
miscfiles_read_localization(dmesg_t)
Chris PeBenito c22038
Chris PeBenito c22038
userdomain_use_admin_terminals(dmesg_t)
Chris PeBenito c22038
userdomain_ignore_use_all_unprivileged_users_file_descriptors(dmesg_t)
Chris PeBenito c22038
Chris PeBenito c22038
tunable_policy(`targeted_policy', `
Chris PeBenito c22038
terminal_ignore_use_general_physical_terminal(dmesg_t)
Chris PeBenito c22038
terminal_ignore_use_general_pseudoterminal(dmesg_t)
Chris PeBenito c22038
files_ignore_read_rootfs_file(dmesg_t)
Chris PeBenito c22038
')
Chris PeBenito c22038
Chris PeBenito c22038
optional_policy(`selinux.te',`
Chris PeBenito c22038
selinux_newrole_sigchld(dmesg_t)
Chris PeBenito c22038
')
Chris PeBenito c22038
Chris PeBenito c22038
optional_policy(`udev.te', `
Chris PeBenito c22038
udev_read_database(dmesg_t)
Chris PeBenito c22038
')
Chris PeBenito c22038
Chris PeBenito c22038
ifdef(`TODO',`
Chris PeBenito c22038
allow dmesg_t proc_t:dir r_dir_perms;
Chris PeBenito c22038
allow dmesg_t proc_t:lnk_file read;
Chris PeBenito c22038
Chris PeBenito c22038
optional_policy(`rhgb.te', `
Chris PeBenito c22038
allow dmesg_t rhgb_t:process sigchld;
Chris PeBenito c22038
allow dmesg_t rhgb_t:fd use;
Chris PeBenito c22038
allow dmesg_t rhgb_t:fifo_file { read write };
Chris PeBenito c22038
')
Chris PeBenito c22038
Chris PeBenito c22038
allow dmesg_t autofs_t:dir { search getattr };
Chris PeBenito c22038
Chris PeBenito c22038
# for when /usr is not mounted
Chris PeBenito c22038
dontaudit dmesg_t file_t:dir search;
Chris PeBenito c22038
') dnl endif TODO