Chris PeBenito 17de1b
## <summary>Policy for logical volume management programs.</summary>
Chris PeBenito 17de1b
Chris PeBenito 17de1b
########################################
Chris PeBenito 17de1b
## <summary>
Chris PeBenito 17de1b
##	Execute lvm programs in the lvm domain.
Chris PeBenito 17de1b
## </summary>
Chris PeBenito 17de1b
## <param name="domain">
Chris PeBenito 17de1b
##	<summary>
Dominick Grift a0546c
##	Domain allowed to transition.
Chris PeBenito 17de1b
##	</summary>
Chris PeBenito 17de1b
## </param>
Chris PeBenito 17de1b
#
Chris PeBenito 17de1b
interface(`lvm_domtrans',`
Chris PeBenito 17de1b
	gen_require(`
Chris PeBenito 17de1b
		type lvm_t, lvm_exec_t;
Chris PeBenito 17de1b
	')
Chris PeBenito 17de1b
Chris PeBenito 8021cb
	corecmd_search_bin($1)
Chris PeBenito c0868a
	domtrans_pattern($1, lvm_exec_t, lvm_t)
Chris PeBenito 17de1b
')
Chris PeBenito 17de1b
Chris PeBenito 17de1b
########################################
Chris PeBenito 17de1b
## <summary>
Chris PeBenito dccbb8
##	Execute lvm programs in the caller domain.
Chris PeBenito bd34ef
## </summary>
Chris PeBenito bd34ef
## <param name="domain">
Chris PeBenito dccbb8
##	<summary>
Dominick Grift a0546c
##	Domain allowed access.
Chris PeBenito dccbb8
##	</summary>
Chris PeBenito bd34ef
## </param>
Chris PeBenito bd34ef
#
Chris PeBenito bd34ef
interface(`lvm_exec',`
Chris PeBenito dccbb8
	gen_require(`
Chris PeBenito dccbb8
		type lvm_exec_t;
Chris PeBenito dccbb8
	')
Chris PeBenito bd34ef
Chris PeBenito fe74f7
	corecmd_search_bin($1)
Chris PeBenito dccbb8
	can_exec($1, lvm_exec_t)
Chris PeBenito bd34ef
')
Chris PeBenito dccbb8
Chris PeBenito bd34ef
########################################
Chris PeBenito bd34ef
## <summary>
Chris PeBenito 17de1b
##	Execute lvm programs in the lvm domain.
Chris PeBenito 17de1b
## </summary>
Chris PeBenito 17de1b
## <param name="domain">
Chris PeBenito 17de1b
##	<summary>
Dominick Grift a0546c
##	Domain allowed to transition.
Chris PeBenito 17de1b
##	</summary>
Chris PeBenito 17de1b
## </param>
Chris PeBenito 17de1b
## <param name="role">
Chris PeBenito 17de1b
##	<summary>
Chris PeBenito 17de1b
##	The role to allow the LVM domain.
Chris PeBenito 17de1b
##	</summary>
Chris PeBenito 17de1b
## </param>
Chris PeBenito bbcd3c
## <rolecap/>
Chris PeBenito 17de1b
#
Chris PeBenito 17de1b
interface(`lvm_run',`
Chris PeBenito 17de1b
	gen_require(`
Chris PeBenito 17de1b
		type lvm_t;
Chris PeBenito 17de1b
	')
Chris PeBenito 17de1b
Chris PeBenito 17de1b
	lvm_domtrans($1)
Chris PeBenito 17de1b
	role $2 types lvm_t;
Chris PeBenito 17de1b
')
Chris PeBenito 17de1b
Chris PeBenito 17de1b
########################################
Chris PeBenito 17de1b
## <summary>
Chris PeBenito 17de1b
##	Read LVM configuration files.
Chris PeBenito 17de1b
## </summary>
Chris PeBenito 17de1b
## <param name="domain">
Chris PeBenito 17de1b
##	<summary>
Dominick Grift a0546c
##	Domain allowed access.
Chris PeBenito 17de1b
##	</summary>
Chris PeBenito 17de1b
## </param>
Chris PeBenito bbcd3c
## <rolecap/>
Chris PeBenito 17de1b
#
Chris PeBenito 17de1b
interface(`lvm_read_config',`
Chris PeBenito 17de1b
	gen_require(`
Chris PeBenito c5561c
		type lvm_etc_t;
Chris PeBenito 17de1b
	')
Chris PeBenito 17de1b
Chris PeBenito 17de1b
	files_search_etc($1)
Chris PeBenito c0868a
	allow $1 lvm_etc_t:dir list_dir_perms;
Chris PeBenito c0f5fa
	read_files_pattern($1, lvm_etc_t, lvm_etc_t)
Chris PeBenito 17de1b
')
Chris PeBenito c5561c
Chris PeBenito c5561c
########################################
Chris PeBenito c5561c
## <summary>
Chris PeBenito c5561c
##	Manage LVM configuration files.
Chris PeBenito c5561c
## </summary>
Chris PeBenito c5561c
## <param name="domain">
Chris PeBenito c5561c
##	<summary>
Chris PeBenito c5561c
##	Domain allowed access.
Chris PeBenito c5561c
##	</summary>
Chris PeBenito c5561c
## </param>
Chris PeBenito c5561c
## <rolecap/>
Chris PeBenito c5561c
#
Chris PeBenito c5561c
interface(`lvm_manage_config',`
Chris PeBenito c5561c
	gen_require(`
Chris PeBenito c5561c
		type lvm_etc_t;
Chris PeBenito c5561c
	')
Chris PeBenito c5561c
Chris PeBenito c5561c
	files_search_etc($1)
Chris PeBenito c0f5fa
	manage_dirs_pattern($1, lvm_etc_t, lvm_etc_t)
Chris PeBenito c0f5fa
	manage_files_pattern($1, lvm_etc_t, lvm_etc_t)
Chris PeBenito c5561c
')
Chris PeBenito bd34ef
Chris PeBenito bd34ef
######################################
Chris PeBenito bd34ef
## <summary>
Chris PeBenito dccbb8
##	Execute a domain transition to run clvmd.
Chris PeBenito bd34ef
## </summary>
Chris PeBenito bd34ef
## <param name="domain">
Chris PeBenito bd34ef
## <summary>
Chris PeBenito dccbb8
##	Domain allowed to transition.
Chris PeBenito bd34ef
## </summary>
Chris PeBenito bd34ef
## </param>
Chris PeBenito bd34ef
#
Chris PeBenito bd34ef
interface(`lvm_domtrans_clvmd',`
Chris PeBenito dccbb8
	gen_require(`
Chris PeBenito dccbb8
		type clvmd_t, clvmd_exec_t;
Chris PeBenito dccbb8
	')
Chris PeBenito bd34ef
Chris PeBenito dccbb8
	corecmd_search_bin($1)
Chris PeBenito dccbb8
	domtrans_pattern($1, clvmd_exec_t, clvmd_t)
Chris PeBenito bd34ef
')
Dan Walsh a66812
Dan Walsh a66812
########################################
Dan Walsh a66812
## <summary>
Dan Walsh a66812
##	Read and write to lvm temporary file system.
Dan Walsh a66812
## </summary>
Dan Walsh a66812
## <param name="domain">
Dan Walsh a66812
##	<summary>
Dan Walsh a66812
##	Domain allowed access.
Dan Walsh a66812
##	</summary>
Dan Walsh a66812
## </param>
Dan Walsh a66812
#
Dan Walsh a66812
interface(`lvm_rw_clvmd_tmpfs_files',`
Dan Walsh a66812
	gen_require(`
Dan Walsh a66812
		type clvmd_tmpfs_t;
Dan Walsh a66812
	')
Dan Walsh a66812
Dan Walsh a66812
	allow $1 clvmd_tmpfs_t:file rw_file_perms;
Dan Walsh a66812
')