Blob Blame History Raw

policy_module(consolekit,1.1.0)

########################################
#
# Declarations
#

type consolekit_t;
type consolekit_exec_t;
init_daemon_domain(consolekit_t, consolekit_exec_t)

# pid files
type consolekit_var_run_t;
files_pid_file(consolekit_var_run_t)

########################################
#
# consolekit local policy
#

allow consolekit_t self:capability { sys_tty_config dac_override sys_nice sys_ptrace };
allow consolekit_t self:process { getsched signal };
allow consolekit_t self:fifo_file rw_fifo_file_perms;
allow consolekit_t self:unix_stream_socket create_stream_socket_perms;

# pid file
manage_files_pattern(consolekit_t,consolekit_var_run_t,consolekit_var_run_t)
files_pid_filetrans(consolekit_t,consolekit_var_run_t, file)

dev_read_urand(consolekit_t)
dev_read_sysfs(consolekit_t)

domain_read_all_domains_state(consolekit_t)
domain_use_interactive_fds(consolekit_t)

files_read_etc_files(consolekit_t)
# needs to read /var/lib/dbus/machine-id
files_read_var_lib_files(consolekit_t)

term_use_console(consolekit_t)

libs_use_ld_so(consolekit_t)
libs_use_shared_libs(consolekit_t)

miscfiles_read_localization(consolekit_t)

ifdef(`targeted_policy',`
	term_dontaudit_use_unallocated_ttys(consolekit_t)
	term_dontaudit_use_generic_ptys(consolekit_t)
')

optional_policy(`
	dbus_system_bus_client_template(consolekit, consolekit_t)
	dbus_send_system_bus(consolekit_t)
	dbus_connect_system_bus(consolekit_t)

	hal_dbus_chat(consolekit_t)

	optional_policy(`
		unconfined_dbus_chat(consolekit_t)
	')
')