Chris PeBenito ab58ad
#DESC INN - InterNetNews server
Chris PeBenito ab58ad
#
Chris PeBenito ab58ad
# Author:  Faye Coker <faye@lurking-grue.org>
Chris PeBenito ab58ad
# X-Debian-Packages: inn
Chris PeBenito ab58ad
#
Chris PeBenito ab58ad
################################
Chris PeBenito ab58ad
Chris PeBenito ab58ad
# Types for the server port and news spool.
Chris PeBenito ab58ad
#
Chris PeBenito ab58ad
type news_spool_t, file_type, sysadmfile;
Chris PeBenito ab58ad
Chris PeBenito ab58ad
Chris PeBenito ab58ad
# need privmail attribute so innd can access system_mail_t
Chris PeBenito ab58ad
daemon_domain(innd, `, privmail')
Chris PeBenito ab58ad
Chris PeBenito ab58ad
# allow innd to create files and directories of type news_spool_t
Chris PeBenito ab58ad
create_dir_file(innd_t, news_spool_t)
Chris PeBenito ab58ad
Chris PeBenito ab58ad
# allow user domains to read files and directories these types
Chris PeBenito ab58ad
r_dir_file(userdomain, { news_spool_t innd_var_lib_t innd_etc_t })
Chris PeBenito ab58ad
Chris PeBenito ab58ad
can_exec(initrc_t, innd_etc_t)
Chris PeBenito ab58ad
can_exec(innd_t, { innd_exec_t bin_t shell_exec_t })
Chris PeBenito ab58ad
ifdef(`hostname.te', `
Chris PeBenito ab58ad
can_exec(innd_t, hostname_exec_t)
Chris PeBenito ab58ad
')
Chris PeBenito ab58ad
Chris PeBenito ab58ad
allow innd_t var_spool_t:dir { getattr search };
Chris PeBenito ab58ad
Chris PeBenito ab58ad
can_network(innd_t)
Chris PeBenito ab58ad
allow innd_t port_type:tcp_socket name_connect;
Chris PeBenito ab58ad
can_ypbind(innd_t)
Chris PeBenito ab58ad
Chris PeBenito ab58ad
can_unix_send( { innd_t sysadm_t }, { innd_t sysadm_t } )
Chris PeBenito ab58ad
allow innd_t self:unix_dgram_socket create_socket_perms;
Chris PeBenito ab58ad
allow innd_t self:unix_stream_socket create_stream_socket_perms;
Chris PeBenito ab58ad
can_unix_connect(innd_t, self)
Chris PeBenito ab58ad
Chris PeBenito ab58ad
allow innd_t self:fifo_file rw_file_perms;
Chris PeBenito ab58ad
allow innd_t innd_port_t:tcp_socket name_bind;
Chris PeBenito ab58ad
Chris PeBenito ab58ad
allow innd_t self:capability { dac_override kill setgid setuid net_bind_service };
Chris PeBenito ab58ad
allow innd_t self:process setsched;
Chris PeBenito ab58ad
Chris PeBenito ab58ad
allow innd_t { bin_t sbin_t }:dir search;
Chris PeBenito ab58ad
allow innd_t usr_t:lnk_file read;
Chris PeBenito ab58ad
allow innd_t usr_t:file { getattr read ioctl };
Chris PeBenito ab58ad
allow innd_t lib_t:file ioctl;
Chris PeBenito ab58ad
allow innd_t etc_t:file { getattr read };
Chris PeBenito ab58ad
allow innd_t { proc_t etc_runtime_t }:file { getattr read };
Chris PeBenito ab58ad
allow innd_t urandom_device_t:chr_file read;
Chris PeBenito ab58ad
Chris PeBenito ab58ad
allow innd_t innd_var_run_t:sock_file create_file_perms;
Chris PeBenito ab58ad
Chris PeBenito ab58ad
# allow innd to read directories of type innd_etc_t (/etc/news/(/.*)? and symbolic links with that type
Chris PeBenito ab58ad
etcdir_domain(innd)
Chris PeBenito ab58ad
Chris PeBenito ab58ad
# allow innd to create files under /var/log of type innd_log_t and have a directory for its own files that
Chris PeBenito ab58ad
# it can write to
Chris PeBenito ab58ad
logdir_domain(innd)
Chris PeBenito ab58ad
Chris PeBenito ab58ad
# allow innd read-write directory permissions to /var/lib/news.
Chris PeBenito ab58ad
var_lib_domain(innd)
Chris PeBenito ab58ad
Chris PeBenito ab58ad
ifdef(`crond.te', `
Chris PeBenito ab58ad
system_crond_entry(innd_exec_t, innd_t)
Chris PeBenito ab58ad
allow system_crond_t innd_etc_t:file { getattr read };
Chris PeBenito ab58ad
rw_dir_create_file(system_crond_t, innd_log_t)
Chris PeBenito ab58ad
rw_dir_create_file(system_crond_t, innd_var_run_t)
Chris PeBenito ab58ad
')
Chris PeBenito ab58ad
Chris PeBenito ab58ad
ifdef(`syslogd.te', `
Chris PeBenito ab58ad
allow syslogd_t innd_log_t:dir search;
Chris PeBenito ab58ad
allow syslogd_t innd_log_t:file create_file_perms;
Chris PeBenito ab58ad
')
Chris PeBenito ab58ad
Chris PeBenito ab58ad
allow innd_t self:file { getattr read };
Chris PeBenito ab58ad
dontaudit innd_t selinux_config_t:dir { search };
Chris PeBenito ab58ad
allow system_crond_t innd_etc_t:file { getattr read };
Chris PeBenito ab58ad
allow innd_t bin_t:lnk_file { read };
Chris PeBenito ab58ad
allow innd_t sbin_t:lnk_file { read };