## shared storage lock manager. ######################################## ## ## Execute a domain transition to run sanlock. ## ## ## ## Domain allowed access. ## ## # interface(`sanlock_domtrans',` gen_require(` type sanlock_t, sanlock_exec_t; ') corecmd_search_bin($1) domtrans_pattern($1, sanlock_exec_t, sanlock_t) ') ######################################## ## ## Execute sanlock init scripts in ## the initrc domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`sanlock_initrc_domtrans',` gen_require(` type sanlock_initrc_exec_t; ') init_labeled_script_domtrans($1, sanlock_initrc_exec_t) ') ###################################### ## ## Create, read, write, and delete ## sanlock pid files. ## ## ## ## Domain allowed access. ## ## # interface(`sanlock_manage_pid_files',` gen_require(` type sanlock_runtime_t; ') files_search_pids($1) manage_files_pattern($1, sanlock_runtime_t, sanlock_runtime_t) ') ######################################## ## ## Connect to sanlock with a unix ## domain stream socket. ## ## ## ## Domain allowed access. ## ## # interface(`sanlock_stream_connect',` gen_require(` type sanlock_t, sanlock_runtime_t; ') files_search_pids($1) stream_connect_pattern($1, sanlock_runtime_t, sanlock_runtime_t, sanlock_t) ') ######################################## ## ## All of the rules required to ## administrate an sanlock environment. ## ## ## ## Domain allowed access. ## ## ## ## ## Role allowed access. ## ## ## # interface(`sanlock_admin',` gen_require(` type sanlock_t, sanlock_initrc_exec_t, sanlock_runtime_t; type sanlock_log_t; ') allow $1 sanlock_t:process { ptrace signal_perms }; ps_process_pattern($1, sanlock_t) init_startstop_service($1, $2, sanlock_t, sanlock_initrc_exec_t) files_search_pids($1) admin_pattern($1, sanlock_runtime_t) logging_search_logs($1) admin_pattern($1, sanlock_log_t) ')