2005-09-28 18:22:58 +00:00
|
|
|
## <summary>
|
|
|
|
## SMB and CIFS client/server programs for UNIX and
|
|
|
|
## name Service Switch daemon for resolving names
|
|
|
|
## from Windows NT servers.
|
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute samba net in the samba_net domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## The type of the process performing this action.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_domtrans_net',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_net_t, samba_net_exec_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
corecmd_search_bin($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
domtrans_pattern($1, samba_net_exec_t, samba_net_t)
|
2005-09-14 18:33:53 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute samba net in the samba_net domain, and
|
|
|
|
## allow the specified role the samba_net domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## The type of the process performing this action.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
|
|
|
## <param name="role">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## The role to be allowed the samba_net domain.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
2006-09-06 22:07:25 +00:00
|
|
|
## <rolecap/>
|
2005-09-14 18:33:53 +00:00
|
|
|
#
|
|
|
|
interface(`samba_run_net',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_net_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
samba_domtrans_net($1)
|
|
|
|
role $2 types samba_net_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute smbmount in the smbmount domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## The type of the process performing this action.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_domtrans_smbmount',`
|
|
|
|
gen_require(`
|
|
|
|
type smbmount_t, smbmount_exec_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
corecmd_search_bin($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
domtrans_pattern($1, smbmount_exec_t, smbmount_t)
|
2005-09-14 18:33:53 +00:00
|
|
|
')
|
|
|
|
|
2007-10-02 16:04:50 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute smbmount interactively and do
|
|
|
|
## a domain transition to the smbmount domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed acces.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
## <param name="role">
|
|
|
|
## <summary>
|
|
|
|
## The role to be allowed the smbmount domain.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
## <rolecap/>
|
|
|
|
#
|
|
|
|
interface(`samba_run_smbmount',`
|
|
|
|
gen_require(`
|
|
|
|
type smbmount_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
samba_domtrans_smbmount($1)
|
|
|
|
role $2 types smbmount_t;
|
|
|
|
')
|
|
|
|
|
2005-09-14 18:33:53 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to read
|
|
|
|
## samba configuration files.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
2006-09-06 22:07:25 +00:00
|
|
|
## <rolecap/>
|
2005-09-14 18:33:53 +00:00
|
|
|
#
|
|
|
|
interface(`samba_read_config',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_etc_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_etc($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
read_files_pattern($1, samba_etc_t, samba_etc_t)
|
2005-09-14 18:33:53 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to read
|
|
|
|
## and write samba configuration files.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
2006-09-06 22:07:25 +00:00
|
|
|
## <rolecap/>
|
2005-09-14 18:33:53 +00:00
|
|
|
#
|
|
|
|
interface(`samba_rw_config',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_etc_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_etc($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
rw_files_pattern($1, samba_etc_t, samba_etc_t)
|
2005-09-14 18:33:53 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to read samba's log files.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
2006-09-06 22:07:25 +00:00
|
|
|
## <rolecap/>
|
2005-09-14 18:33:53 +00:00
|
|
|
#
|
|
|
|
interface(`samba_read_log',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_log_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
logging_search_logs($1)
|
2006-12-12 20:08:08 +00:00
|
|
|
allow $1 samba_log_t:dir list_dir_perms;
|
2008-07-23 21:38:39 +00:00
|
|
|
read_files_pattern($1, samba_log_t, samba_log_t)
|
2005-09-14 18:33:53 +00:00
|
|
|
')
|
|
|
|
|
2007-06-19 19:11:35 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to append to samba's log files.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
## <rolecap/>
|
|
|
|
#
|
|
|
|
interface(`samba_append_log',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_log_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
logging_search_logs($1)
|
|
|
|
allow $1 samba_log_t:dir list_dir_perms;
|
|
|
|
allow $1 samba_log_t:file append_file_perms;
|
|
|
|
')
|
|
|
|
|
2005-09-14 18:33:53 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute samba log in the caller domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## The type of the process performing this action.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_exec_log',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_log_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
logging_search_logs($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
can_exec($1, samba_log_t)
|
2005-09-14 18:33:53 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to read samba's secrets.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_read_secrets',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_secrets_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_etc($1)
|
2008-10-20 16:10:42 +00:00
|
|
|
allow $1 samba_secrets_t:file read_file_perms;
|
2005-09-14 18:33:53 +00:00
|
|
|
')
|
|
|
|
|
2005-11-08 22:00:30 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to search
|
|
|
|
## samba /var directories.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-11-08 22:00:30 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-11-08 22:00:30 +00:00
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_search_var',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_var_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_var($1)
|
2007-06-19 19:11:35 +00:00
|
|
|
files_search_var_lib($1)
|
2005-11-08 22:00:30 +00:00
|
|
|
allow $1 samba_var_t:dir search_dir_perms;
|
|
|
|
')
|
|
|
|
|
2007-06-19 19:11:35 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to
|
|
|
|
## read samba /var files.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_read_var_files',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_var_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_var($1)
|
|
|
|
files_search_var_lib($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
read_files_pattern($1, samba_var_t, samba_var_t)
|
2007-06-19 19:11:35 +00:00
|
|
|
')
|
|
|
|
|
2005-11-29 21:27:15 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to
|
|
|
|
## read and write samba /var files.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-11-29 21:27:15 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-11-29 21:27:15 +00:00
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_rw_var_files',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_var_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_var($1)
|
2007-06-19 19:11:35 +00:00
|
|
|
files_search_var_lib($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
rw_files_pattern($1, samba_var_t, samba_var_t)
|
2005-11-29 21:27:15 +00:00
|
|
|
')
|
|
|
|
|
2007-06-19 19:11:35 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to
|
|
|
|
## read and write samba /var files.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain allowed access.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_manage_var_files',`
|
|
|
|
gen_require(`
|
|
|
|
type samba_var_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_var($1)
|
|
|
|
files_search_var_lib($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
manage_files_pattern($1, samba_var_t, samba_var_t)
|
2007-06-19 19:11:35 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Do not audit attempts to use file descriptors from samba.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
|
|
|
## <summary>
|
|
|
|
## Domain to not audit.
|
|
|
|
## </summary>
|
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_dontaudit_use_fds',`
|
|
|
|
gen_require(`
|
|
|
|
type smbd_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
dontaudit $1 smbd_t:fd use;
|
|
|
|
')
|
|
|
|
|
2005-09-14 18:33:53 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to write to smbmount tcp sockets.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
|
|
|
#
|
2006-02-02 21:08:12 +00:00
|
|
|
interface(`samba_write_smbmount_tcp_sockets',`
|
2005-09-14 18:33:53 +00:00
|
|
|
gen_require(`
|
|
|
|
type smbmount_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
allow $1 smbmount_t:tcp_socket write;
|
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to read and write to smbmount tcp sockets.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-14 18:33:53 +00:00
|
|
|
## </param>
|
|
|
|
#
|
2006-02-02 21:08:12 +00:00
|
|
|
interface(`samba_rw_smbmount_tcp_sockets',`
|
2005-09-14 18:33:53 +00:00
|
|
|
gen_require(`
|
|
|
|
type smbmount_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
allow $1 smbmount_t:tcp_socket { read write };
|
|
|
|
')
|
2005-09-28 18:22:58 +00:00
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute winbind_helper in the winbind_helper domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-28 18:22:58 +00:00
|
|
|
## The type of the process performing this action.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-28 18:22:58 +00:00
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_domtrans_winbind_helper',`
|
|
|
|
gen_require(`
|
|
|
|
type winbind_helper_t, winbind_helper_exec_t;
|
|
|
|
')
|
|
|
|
|
2008-07-23 21:38:39 +00:00
|
|
|
domtrans_pattern($1, winbind_helper_exec_t, winbind_helper_t)
|
2005-09-28 18:22:58 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Execute winbind_helper in the winbind_helper domain, and
|
|
|
|
## allow the specified role the winbind_helper domain.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-28 18:22:58 +00:00
|
|
|
## The type of the process performing this action.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-28 18:22:58 +00:00
|
|
|
## </param>
|
|
|
|
## <param name="role">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-28 18:22:58 +00:00
|
|
|
## The role to be allowed the winbind_helper domain.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-28 18:22:58 +00:00
|
|
|
## </param>
|
2006-09-06 22:07:25 +00:00
|
|
|
## <rolecap/>
|
2005-09-28 18:22:58 +00:00
|
|
|
#
|
|
|
|
interface(`samba_run_winbind_helper',`
|
|
|
|
gen_require(`
|
|
|
|
type winbind_helper_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
samba_domtrans_winbind_helper($1)
|
|
|
|
role $2 types winbind_helper_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Allow the specified domain to read the winbind pid files.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-09-28 18:22:58 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-09-28 18:22:58 +00:00
|
|
|
## </param>
|
|
|
|
#
|
|
|
|
interface(`samba_read_winbind_pid',`
|
|
|
|
gen_require(`
|
|
|
|
type winbind_var_run_t;
|
|
|
|
')
|
|
|
|
|
|
|
|
files_search_pids($1)
|
2006-12-12 20:08:08 +00:00
|
|
|
allow $1 winbind_var_run_t:file read_file_perms;
|
2005-09-28 18:22:58 +00:00
|
|
|
')
|
|
|
|
|
2005-10-24 19:50:21 +00:00
|
|
|
########################################
|
|
|
|
## <summary>
|
|
|
|
## Connect to winbind.
|
|
|
|
## </summary>
|
|
|
|
## <param name="domain">
|
2006-02-10 18:41:53 +00:00
|
|
|
## <summary>
|
2005-10-24 19:50:21 +00:00
|
|
|
## Domain allowed access.
|
2006-02-10 18:41:53 +00:00
|
|
|
## </summary>
|
2005-10-24 19:50:21 +00:00
|
|
|
## </param>
|
|
|
|
#
|
2006-02-02 21:08:12 +00:00
|
|
|
interface(`samba_stream_connect_winbind',`
|
2008-08-05 12:54:11 +00:00
|
|
|
gen_require(`
|
|
|
|
type samba_var_t, winbind_t, winbind_var_run_t;
|
|
|
|
')
|
2008-03-21 14:18:13 +00:00
|
|
|
|
2008-08-05 12:54:11 +00:00
|
|
|
files_search_pids($1)
|
|
|
|
allow $1 samba_var_t:dir search_dir_perms;
|
|
|
|
stream_connect_pattern($1, winbind_var_run_t, winbind_var_run_t, winbind_t)
|
2008-10-17 15:52:39 +00:00
|
|
|
|
2008-08-05 12:54:11 +00:00
|
|
|
ifndef(`distro_redhat',`
|
2008-03-21 14:18:13 +00:00
|
|
|
gen_require(`
|
2008-12-03 18:33:19 +00:00
|
|
|
type winbind_tmp_t;
|
2008-03-21 14:18:13 +00:00
|
|
|
')
|
|
|
|
|
|
|
|
# the default for the socket is (poorly named):
|
|
|
|
# /tmp/.winbindd/pipe
|
|
|
|
files_search_tmp($1)
|
2008-07-23 21:38:39 +00:00
|
|
|
stream_connect_pattern($1, winbind_tmp_t, winbind_tmp_t, winbind_t)
|
2005-10-24 19:50:21 +00:00
|
|
|
')
|
|
|
|
')
|