Chris PeBenito 17de1b
## <summary>device locking policy for lockdev</summary>
Chris PeBenito 17de1b
Chris PeBenito 296273
########################################
Chris PeBenito 17de1b
## <summary>
Chris PeBenito 296273
##	Role access for lockdev
Chris PeBenito 17de1b
## </summary>
Chris PeBenito 296273
## <param name="role">
Chris PeBenito 17de1b
##	<summary>
Chris PeBenito 296273
##	Role allowed access
Chris PeBenito 17de1b
##	</summary>
Chris PeBenito 17de1b
## </param>
Chris PeBenito 296273
## <param name="domain">
Chris PeBenito 17de1b
##	<summary>
Chris PeBenito 296273
##	User domain for the role
Chris PeBenito 17de1b
##	</summary>
Chris PeBenito 17de1b
## </param>
Chris PeBenito 17de1b
#
Chris PeBenito 296273
interface(`lockdev_role',`
Chris PeBenito 17de1b
	gen_require(`
Chris PeBenito 296273
		type lockdev_t, lockdev_exec_t;
Chris PeBenito 296273
		type lockdev_lock_t;
Chris PeBenito 17de1b
	')
Chris PeBenito 17de1b
Chris PeBenito 296273
	role $1 types lockdev_t;
Chris PeBenito 17de1b
Chris PeBenito 17de1b
	# Transition from the user domain to the derived domain.
Chris PeBenito 296273
	domtrans_pattern($2, lockdev_exec_t, lockdev_t)
Chris PeBenito 296273
	allow lockdev_t $2:process signull;
Chris PeBenito 17de1b
Chris PeBenito 296273
	# allow ps to show lockdev
Chris PeBenito 296273
	ps_process_pattern($2, lockdev_t)
Chris PeBenito 296273
	allow $2 lockdev_t:process signal;
Chris PeBenito 17de1b
')