]> git.ipfire.org Git - people/stevee/selinux-policy.git/blame - policy/modules/apps/yam.te
trunk: Enable open permission checks policy capability.
[people/stevee/selinux-policy.git] / policy / modules / apps / yam.te
CommitLineData
f30e6ea8 1
0bfccda4 2policy_module(yam, 1.2.0)
f30e6ea8
CP
3
4########################################
5#
6# Declarations
7#
8
9type yam_t alias yam_crond_t;
10type yam_exec_t;
0bfccda4 11application_domain(yam_t, yam_exec_t)
f30e6ea8
CP
12
13type yam_content_t;
14files_mountpoint(yam_content_t)
15
16type yam_etc_t;
17files_config_file(yam_etc_t)
18
19type yam_tmp_t;
20files_tmp_file(yam_tmp_t)
21
22########################################
23#
24# Local policy
25#
26
27allow yam_t self:capability { chown fowner fsetid dac_override };
28allow yam_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
29allow yam_t self:process execmem;
30allow yam_t self:fd use;
c0868a7a 31allow yam_t self:fifo_file rw_fifo_file_perms;
f30e6ea8
CP
32allow yam_t self:unix_stream_socket { create_stream_socket_perms connectto };
33allow yam_t self:unix_dgram_socket { create_socket_perms sendto };
34allow yam_t self:shm create_shm_perms;
35allow yam_t self:sem create_sem_perms;
36allow yam_t self:msgq create_msgq_perms;
37allow yam_t self:msg { send receive };
38allow yam_t self:tcp_socket create_socket_perms;
f30e6ea8
CP
39
40# Update the content being managed by yam.
0bfccda4
CP
41manage_dirs_pattern(yam_t, yam_content_t, yam_content_t)
42manage_files_pattern(yam_t, yam_content_t, yam_content_t)
43manage_lnk_files_pattern(yam_t, yam_content_t, yam_content_t)
f30e6ea8 44
0b36a214 45allow yam_t yam_etc_t:file read_file_perms;
f30e6ea8
CP
46files_search_etc(yam_t)
47
0bfccda4
CP
48manage_files_pattern(yam_t, yam_tmp_t, yam_tmp_t)
49manage_dirs_pattern(yam_t, yam_tmp_t, yam_tmp_t)
f30e6ea8
CP
50files_tmp_filetrans(yam_t, yam_tmp_t, { file dir })
51
52kernel_read_kernel_sysctls(yam_t)
53kernel_read_proc_symlinks(yam_t)
54# Python works fine without reading /proc/meminfo
55kernel_dontaudit_read_system_state(yam_t)
56
57corecmd_exec_shell(yam_t)
58corecmd_exec_bin(yam_t)
59
60# Rsync and lftp need to network. They also set files attributes to
61# match whats on the remote server.
19006686
CP
62corenet_all_recvfrom_unlabeled(yam_t)
63corenet_all_recvfrom_netlabel(yam_t)
f30e6ea8 64corenet_tcp_sendrecv_generic_if(yam_t)
f30e6ea8 65corenet_tcp_sendrecv_all_nodes(yam_t)
f30e6ea8 66corenet_tcp_sendrecv_all_ports(yam_t)
f30e6ea8
CP
67corenet_tcp_connect_http_port(yam_t)
68corenet_tcp_connect_rsync_port(yam_t)
c0d8c41e
CP
69corenet_sendrecv_http_client_packets(yam_t)
70corenet_sendrecv_rsync_client_packets(yam_t)
f30e6ea8
CP
71
72# mktemp
73dev_read_urand(yam_t)
74
75files_read_etc_files(yam_t)
76files_read_etc_runtime_files(yam_t)
77# /usr/share/createrepo/genpkgmetadata.py:
78files_exec_usr_files(yam_t)
79# Programs invoked to build package lists need various permissions.
80# genpkglist creates tmp files in /var/cache/apt/genpkglist
81files_rw_var_files(yam_t)
82
83fs_search_auto_mountpoints(yam_t)
84# Content can also be on ISO image files.
85fs_read_iso9660_files(yam_t)
86
87term_search_ptys(yam_t)
88
89libs_use_ld_so(yam_t)
90libs_use_shared_libs(yam_t)
91
92logging_send_syslog_msg(yam_t)
93
94miscfiles_read_localization(yam_t)
95
96seutil_read_config(yam_t)
97
c0d8c41e 98sysnet_dns_name_resolve(yam_t)
f30e6ea8
CP
99sysnet_read_config(yam_t)
100
101userdom_use_unpriv_users_fds(yam_t)
102# Reading dotfiles...
103# cjp: ?
104userdom_search_all_users_home_dirs(yam_t)
105
106# The whole point of this program is to make updates available on a
107# local web server. Need to go through /var to get to /var/yam
108# Go through /var/www to get to /var/www/yam
109apache_search_sys_content(yam_t)
110
111optional_policy(`
0bfccda4 112 cron_system_entry(yam_t, yam_exec_t)
f30e6ea8
CP
113')
114
115optional_policy(`
116 mount_domtrans(yam_t)
117')
118
119optional_policy(`
120 nis_use_ypbind(yam_t)
121')
122
123optional_policy(`
124 nscd_socket_use(yam_t)
125')
126
127optional_policy(`
128 rsync_exec(yam_t)
129')