selinux-policy/policy/modules/services/mpd.if

268 lines
4.9 KiB
Plaintext
Raw Normal View History

2010-08-26 13:41:21 +00:00
## <summary>policy for daemon for playing music</summary>
########################################
## <summary>
## Execute a domain transition to run mpd.
## </summary>
## <param name="domain">
## <summary>
2010-08-26 13:41:21 +00:00
## Domain allowed to transition.
## </summary>
2010-08-26 13:41:21 +00:00
## </param>
#
interface(`mpd_domtrans',`
gen_require(`
type mpd_t, mpd_exec_t;
')
domtrans_pattern($1, mpd_exec_t, mpd_t)
')
########################################
## <summary>
## Execute mpd server in the mpd domain.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`mpd_initrc_domtrans',`
gen_require(`
type mpd_initrc_exec_t;
')
init_labeled_script_domtrans($1, mpd_initrc_exec_t)
')
#######################################
## <summary>
## Read mpd data files.
2010-08-26 13:41:21 +00:00
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
2010-08-26 13:41:21 +00:00
## </param>
#
interface(`mpd_read_data_files',`
gen_require(`
type mpd_data_t;
')
2010-08-26 13:41:21 +00:00
mpd_search_lib($1)
read_files_pattern($1, mpd_data_t, mpd_data_t)
2010-08-26 13:41:21 +00:00
')
#######################################
## <summary>
## Read mpd tmpfs files.
2010-08-26 13:41:21 +00:00
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
2010-08-26 13:41:21 +00:00
## </param>
#
interface(`mpd_read_tmpfs_files',`
gen_require(`
type mpd_tmpfs_t;
')
2010-08-26 13:41:21 +00:00
fs_search_tmpfs($1)
read_files_pattern($1, mpd_tmpfs_t, mpd_tmpfs_t)
2010-08-26 13:41:21 +00:00
')
###################################
## <summary>
## Manage mpd tmpfs files.
2010-08-26 13:41:21 +00:00
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
2010-08-26 13:41:21 +00:00
## </param>
#
interface(`mpd_manage_tmpfs_files',`
gen_require(`
type mpd_tmpfs_t;
')
2010-08-26 13:41:21 +00:00
fs_search_tmpfs($1)
manage_files_pattern($1, mpd_tmpfs_t, mpd_tmpfs_t)
manage_lnk_files_pattern($1, mpd_tmpfs_t, mpd_tmpfs_t)
2010-08-26 13:41:21 +00:00
')
######################################
## <summary>
## Manage mpd data files.
2010-08-26 13:41:21 +00:00
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
2010-08-26 13:41:21 +00:00
## </param>
#
interface(`mpd_manage_data_files',`
gen_require(`
type mpd_data_t;
')
2010-08-26 13:41:21 +00:00
mpd_search_lib($1)
manage_files_pattern($1, mpd_data_t, mpd_data_t)
2010-08-26 13:41:21 +00:00
')
########################################
## <summary>
## Search mpd lib directories.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`mpd_search_lib',`
gen_require(`
type mpd_var_lib_t;
')
allow $1 mpd_var_lib_t:dir search_dir_perms;
files_search_var_lib($1)
')
########################################
## <summary>
## Read mpd lib files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`mpd_read_lib_files',`
gen_require(`
type mpd_var_lib_t;
')
files_search_var_lib($1)
read_files_pattern($1, mpd_var_lib_t, mpd_var_lib_t)
2010-08-26 13:41:21 +00:00
')
########################################
## <summary>
## Create, read, write, and delete
## mpd lib files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`mpd_manage_lib_files',`
gen_require(`
type mpd_var_lib_t;
')
files_search_var_lib($1)
manage_files_pattern($1, mpd_var_lib_t, mpd_var_lib_t)
2010-08-26 13:41:21 +00:00
')
#######################################
## <summary>
## Create an object in the root directory, with a private
## type using a type transition.
2010-08-26 13:41:21 +00:00
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
2010-08-26 13:41:21 +00:00
## </param>
## <param name="private type">
## <summary>
## The type of the object to be created.
## </summary>
2010-08-26 13:41:21 +00:00
## </param>
## <param name="object">
## <summary>
## The object class of the object being created.
## </summary>
2010-08-26 13:41:21 +00:00
## </param>
#
interface(`mpd_var_lib_filetrans',`
gen_require(`
type mpd_var_lib_t;
')
2010-08-26 13:41:21 +00:00
files_search_var_lib($1)
filetrans_pattern($1, mpd_var_lib_t, $2, $3)
2010-08-26 13:41:21 +00:00
')
########################################
## <summary>
## Manage mpd lib dirs files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`mpd_manage_lib_dirs',`
gen_require(`
type mpd_var_lib_t;
')
files_search_var_lib($1)
manage_dirs_pattern($1, mpd_var_lib_t, mpd_var_lib_t)
2010-08-26 13:41:21 +00:00
')
########################################
## <summary>
## All of the rules required to administrate
## an mpd environment
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
## <param name="role">
## <summary>
## Role allowed access.
## </summary>
## </param>
## <rolecap/>
#
interface(`mpd_admin',`
gen_require(`
Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Replace type and attributes statements by comma delimiters where possible. Syntax error. Squash me with 959aa527a5394d23b994ecf75347d2445106d0c4 Replace type and attributes statements by comma delimiters where possible. Syntax error. Squach me with 779a708452142d6e4ac2ba2a158f724782a03291 Replace type and attributes statements by comma delimiters where possible. Syntax error. Squash me with 89180ea115794aadddaa9b356ab1dfcdc9ff102
2010-09-20 10:09:09 +00:00
type mpd_t, mpd_initrc_exec_t, mpd_etc_t;
type mpd_data_t, mpd_log_t, mpd_var_lib_t;
type mpd_tmpfs_t;
2010-08-26 13:41:21 +00:00
')
allow $1 mpd_t:process { ptrace signal_perms };
ps_process_pattern($1, mpd_t)
mpd_initrc_domtrans($1)
domain_system_change_exemption($1)
role_transition $2 mpd_initrc_exec_t system_r;
allow $2 system_r;
admin_pattern($1, mpd_etc_t)
files_list_etc($1)
2010-08-26 13:41:21 +00:00
files_list_var_lib($1)
2010-08-26 13:41:21 +00:00
admin_pattern($1, mpd_var_lib_t)
2010-08-26 13:41:21 +00:00
admin_pattern($1, mpd_data_t)
admin_pattern($1, mpd_log_t)
fs_list_tmpfs($1)
admin_pattern($1, mpd_tmpfs_t)
2010-08-26 13:41:21 +00:00
')