]> git.ipfire.org Git - people/stevee/selinux-policy.git/blob - policy/modules/apps/thunderbird.te
9ba6da84eb086ff5d2b09cf194f5a096769a2e8b
[people/stevee/selinux-policy.git] / policy / modules / apps / thunderbird.te
1 policy_module(thunderbird, 2.2.0)
2
3 ########################################
4 #
5 # Declarations
6 #
7
8 type thunderbird_t;
9 type thunderbird_exec_t;
10 typealias thunderbird_t alias { user_thunderbird_t staff_thunderbird_t sysadm_thunderbird_t };
11 typealias thunderbird_t alias { auditadm_thunderbird_t secadm_thunderbird_t };
12 application_domain(thunderbird_t, thunderbird_exec_t)
13 ubac_constrained(thunderbird_t)
14
15 type thunderbird_home_t;
16 typealias thunderbird_home_t alias { user_thunderbird_home_t staff_thunderbird_home_t sysadm_thunderbird_home_t };
17 typealias thunderbird_home_t alias { auditadm_thunderbird_home_t secadm_thunderbird_home_t };
18 userdom_user_home_content(thunderbird_home_t)
19
20 type thunderbird_tmpfs_t;
21 typealias thunderbird_tmpfs_t alias { user_thunderbird_tmpfs_t staff_thunderbird_tmpfs_t sysadm_thunderbird_tmpfs_t };
22 typealias thunderbird_tmpfs_t alias { auditadm_thunderbird_tmpfs_t secadm_thunderbird_tmpfs_t };
23 files_tmpfs_file(thunderbird_tmpfs_t)
24 ubac_constrained(thunderbird_tmpfs_t)
25
26 ########################################
27 #
28 # Local policy
29 #
30
31 allow thunderbird_t self:capability sys_nice;
32 allow thunderbird_t self:process { signal_perms setsched getsched execheap execmem execstack };
33 allow thunderbird_t self:fifo_file { ioctl read write getattr };
34 allow thunderbird_t self:unix_dgram_socket { create connect };
35 allow thunderbird_t self:unix_stream_socket { create accept connect write getattr read listen bind };
36 allow thunderbird_t self:tcp_socket create_socket_perms;
37 allow thunderbird_t self:shm { read write create destroy unix_read unix_write };
38
39 # Access ~/.thunderbird
40 manage_dirs_pattern(thunderbird_t, thunderbird_home_t, thunderbird_home_t)
41 manage_files_pattern(thunderbird_t, thunderbird_home_t, thunderbird_home_t)
42 manage_lnk_files_pattern(thunderbird_t, thunderbird_home_t, thunderbird_home_t)
43 userdom_search_user_home_dirs(thunderbird_t)
44
45 manage_files_pattern(thunderbird_t, thunderbird_tmpfs_t, thunderbird_tmpfs_t)
46 manage_lnk_files_pattern(thunderbird_t, thunderbird_tmpfs_t, thunderbird_tmpfs_t)
47 manage_fifo_files_pattern(thunderbird_t, thunderbird_tmpfs_t, thunderbird_tmpfs_t)
48 manage_sock_files_pattern(thunderbird_t, thunderbird_tmpfs_t, thunderbird_tmpfs_t)
49 fs_tmpfs_filetrans(thunderbird_t, thunderbird_tmpfs_t,{ dir file lnk_file sock_file fifo_file })
50
51 # Allow netstat
52 kernel_read_network_state(thunderbird_t)
53 kernel_read_net_sysctls(thunderbird_t)
54 kernel_read_system_state(thunderbird_t)
55
56 # Startup shellscript
57 corecmd_exec_shell(thunderbird_t)
58
59 corenet_all_recvfrom_unlabeled(thunderbird_t)
60 corenet_all_recvfrom_netlabel(thunderbird_t)
61 corenet_tcp_sendrecv_generic_if(thunderbird_t)
62 corenet_tcp_sendrecv_generic_node(thunderbird_t)
63 corenet_tcp_sendrecv_ipp_port(thunderbird_t)
64 corenet_tcp_sendrecv_ldap_port(thunderbird_t)
65 corenet_tcp_sendrecv_innd_port(thunderbird_t)
66 corenet_tcp_sendrecv_smtp_port(thunderbird_t)
67 corenet_tcp_sendrecv_pop_port(thunderbird_t)
68 corenet_tcp_sendrecv_http_port(thunderbird_t)
69 corenet_tcp_connect_ipp_port(thunderbird_t)
70 corenet_tcp_connect_ldap_port(thunderbird_t)
71 corenet_tcp_connect_innd_port(thunderbird_t)
72 corenet_tcp_connect_smtp_port(thunderbird_t)
73 corenet_tcp_connect_pop_port(thunderbird_t)
74 corenet_tcp_connect_http_port(thunderbird_t)
75 corenet_sendrecv_ipp_client_packets(thunderbird_t)
76 corenet_sendrecv_ldap_client_packets(thunderbird_t)
77 corenet_sendrecv_innd_client_packets(thunderbird_t)
78 corenet_sendrecv_smtp_client_packets(thunderbird_t)
79 corenet_sendrecv_pop_client_packets(thunderbird_t)
80 corenet_sendrecv_http_client_packets(thunderbird_t)
81
82 dev_read_urand(thunderbird_t)
83 dev_dontaudit_search_sysfs(thunderbird_t)
84
85 files_list_tmp(thunderbird_t)
86 files_read_usr_files(thunderbird_t)
87 files_read_etc_files(thunderbird_t)
88 files_read_etc_runtime_files(thunderbird_t)
89 files_read_var_files(thunderbird_t)
90 files_read_var_symlinks(thunderbird_t)
91 files_dontaudit_getattr_all_tmp_files(thunderbird_t)
92 files_dontaudit_getattr_boot_dirs(thunderbird_t)
93 files_dontaudit_getattr_lost_found_dirs(thunderbird_t)
94 files_dontaudit_search_mnt(thunderbird_t)
95
96 fs_getattr_xattr_fs(thunderbird_t)
97 fs_list_inotifyfs(thunderbird_t)
98 # Access ~/.thunderbird
99 fs_search_auto_mountpoints(thunderbird_t)
100
101 auth_use_nsswitch(thunderbird_t)
102
103 miscfiles_read_fonts(thunderbird_t)
104 miscfiles_read_localization(thunderbird_t)
105
106 userdom_manage_user_tmp_dirs(thunderbird_t)
107 userdom_read_user_tmp_files(thunderbird_t)
108 userdom_manage_user_tmp_sockets(thunderbird_t)
109 # .kde/....gtkrc
110 userdom_read_user_home_content_files(thunderbird_t)
111
112 xserver_user_x_domain_template(thunderbird, thunderbird_t, thunderbird_tmpfs_t)
113 xserver_read_xdm_tmp_files(thunderbird_t)
114 xserver_dontaudit_getattr_xdm_tmp_sockets(thunderbird_t)
115
116 # Access ~/.thunderbird
117 userdom_home_manager(thunderbird_t)
118
119 tunable_policy(`mail_read_content && use_nfs_home_dirs',`
120 files_list_home(thunderbird_t)
121
122 fs_list_auto_mountpoints(thunderbird_t)
123 fs_read_nfs_files(thunderbird_t)
124 fs_read_nfs_symlinks(thunderbird_t)
125 ',`
126 files_dontaudit_list_home(thunderbird_t)
127
128 fs_dontaudit_list_auto_mountpoints(thunderbird_t)
129 fs_dontaudit_list_nfs(thunderbird_t)
130 fs_dontaudit_read_nfs_files(thunderbird_t)
131 ')
132
133 tunable_policy(`mail_read_content && use_samba_home_dirs',`
134 files_list_home(thunderbird_t)
135
136 fs_list_auto_mountpoints(thunderbird_t)
137 fs_read_cifs_files(thunderbird_t)
138 fs_read_cifs_symlinks(thunderbird_t)
139 ',`
140 files_dontaudit_list_home(thunderbird_t)
141
142 fs_dontaudit_list_auto_mountpoints(thunderbird_t)
143 fs_dontaudit_read_cifs_files(thunderbird_t)
144 fs_dontaudit_list_cifs(thunderbird_t)
145 ')
146
147 tunable_policy(`mail_read_content',`
148 userdom_list_user_tmp(thunderbird_t)
149 userdom_read_user_tmp_files(thunderbird_t)
150 userdom_read_user_tmp_symlinks(thunderbird_t)
151 userdom_search_user_home_dirs(thunderbird_t)
152 userdom_read_user_home_content_files(thunderbird_t)
153
154 ifndef(`enable_mls',`
155 fs_search_removable(thunderbird_t)
156 fs_read_removable_files(thunderbird_t)
157 fs_read_removable_symlinks(thunderbird_t)
158 ')
159 ',`
160 files_dontaudit_list_tmp(thunderbird_t)
161 files_dontaudit_list_home(thunderbird_t)
162
163 fs_dontaudit_list_removable(thunderbird_t)
164 fs_dontaudit_read_removable_files(thunderbird_t)
165
166 userdom_dontaudit_list_user_tmp(thunderbird_t)
167 userdom_dontaudit_read_user_tmp_files(thunderbird_t)
168 userdom_dontaudit_list_user_home_dirs(thunderbird_t)
169 userdom_dontaudit_read_user_home_content_files(thunderbird_t)
170 ')
171
172 optional_policy(`
173 dbus_system_bus_client(thunderbird_t)
174 dbus_session_bus_client(thunderbird_t)
175 ')
176
177 optional_policy(`
178 cups_read_rw_config(thunderbird_t)
179 cups_dbus_chat(thunderbird_t)
180 ')
181
182 optional_policy(`
183 gnome_stream_connect_gconf(thunderbird_t)
184 gnome_domtrans_gconfd(thunderbird_t)
185 gnome_manage_config(thunderbird_t)
186 ')
187
188 optional_policy(`
189 gpg_domtrans(thunderbird_t)
190 ')
191
192 optional_policy(`
193 lpd_domtrans_lpr(thunderbird_t)
194 ')
195
196 optional_policy(`
197 mozilla_read_user_home_files(thunderbird_t)
198 mozilla_domtrans(thunderbird_t)
199 mozilla_dbus_chat(thunderbird_t)
200 ')