]> git.ipfire.org Git - people/stevee/selinux-policy.git/blame - policy/modules/system/locallogin.te
trunk: whitespace fixes
[people/stevee/selinux-policy.git] / policy / modules / system / locallogin.te
CommitLineData
df431c87 1
17ec8c1f 2policy_module(locallogin, 1.9.0)
df431c87 3
07efe969
CP
4########################################
5#
6# Declarations
7#
8
f0574fa9 9type local_login_t;
15722ec9 10domain_interactive_fd(local_login_t)
4b3b46d7
CP
11auth_login_pgm_domain(local_login_t)
12auth_login_entry_type(local_login_t)
07efe969 13
98a8ead4
CP
14type local_login_lock_t;
15files_lock_file(local_login_lock_t)
16
07efe969 17type local_login_tmp_t;
c3cf6693 18files_tmp_file(local_login_tmp_t)
a3cf80d8 19files_poly_parent(local_login_tmp_t)
07efe969 20
5d7e8ba6
CP
21type sulogin_t;
22type sulogin_exec_t;
1815bad1
CP
23domain_obj_id_change_exemption(sulogin_t)
24domain_subj_id_change_exemption(sulogin_t)
25domain_role_change_exemption(sulogin_t)
15722ec9 26domain_interactive_fd(sulogin_t)
3f67f722
CP
27init_domain(sulogin_t, sulogin_exec_t)
28init_system_domain(sulogin_t, sulogin_exec_t)
5d7e8ba6
CP
29role system_r types sulogin_t;
30
07efe969
CP
31########################################
32#
5d7e8ba6 33# Local login local policy
07efe969
CP
34#
35
9d3bdc25
CP
36allow local_login_t self:capability { dac_override chown fowner fsetid kill setgid setuid sys_nice sys_resource sys_tty_config };
37allow local_login_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
07efe969 38allow local_login_t self:process { setrlimit setexec };
f1470e5e 39allow local_login_t self:fd use;
ef659a47
CP
40allow local_login_t self:fifo_file rw_fifo_file_perms;
41allow local_login_t self:sock_file read_sock_file_perms;
80048ca5
CP
42allow local_login_t self:unix_dgram_socket create_socket_perms;
43allow local_login_t self:unix_stream_socket create_stream_socket_perms;
f1470e5e
CP
44allow local_login_t self:unix_dgram_socket sendto;
45allow local_login_t self:unix_stream_socket connectto;
80048ca5
CP
46allow local_login_t self:shm create_shm_perms;
47allow local_login_t self:sem create_sem_perms;
48allow local_login_t self:msgq create_msgq_perms;
f1470e5e 49allow local_login_t self:msg { send receive };
d9845ae9 50allow local_login_t self:key { search write link };
07efe969 51
c0868a7a 52allow local_login_t local_login_lock_t:file manage_file_perms;
3f67f722 53files_lock_filetrans(local_login_t, local_login_lock_t, file)
98a8ead4 54
c0868a7a
CP
55allow local_login_t local_login_tmp_t:dir manage_dir_perms;
56allow local_login_t local_login_tmp_t:file manage_file_perms;
103fe280 57files_tmp_filetrans(local_login_t, local_login_tmp_t, { file dir })
07efe969
CP
58
59kernel_read_system_state(local_login_t)
445522dc 60kernel_read_kernel_sysctls(local_login_t)
a5e2133b
CP
61kernel_search_key(local_login_t)
62kernel_link_key(local_login_t)
d35c621e 63
207c4763
CP
64dev_setattr_mouse_dev(local_login_t)
65dev_getattr_mouse_dev(local_login_t)
66dev_getattr_power_mgmt_dev(local_login_t)
67dev_setattr_power_mgmt_dev(local_login_t)
68dev_getattr_sound_dev(local_login_t)
69dev_setattr_sound_dev(local_login_t)
70dev_dontaudit_getattr_apm_bios_dev(local_login_t)
71dev_dontaudit_setattr_apm_bios_dev(local_login_t)
fd89e19f 72dev_dontaudit_read_framebuffer(local_login_t)
207c4763
CP
73dev_dontaudit_setattr_framebuffer_dev(local_login_t)
74dev_dontaudit_getattr_generic_blk_files(local_login_t)
75dev_dontaudit_setattr_generic_blk_files(local_login_t)
76dev_dontaudit_getattr_generic_chr_files(local_login_t)
77dev_dontaudit_setattr_generic_chr_files(local_login_t)
78dev_dontaudit_setattr_generic_symlinks(local_login_t)
79dev_dontaudit_getattr_misc_dev(local_login_t)
80dev_dontaudit_setattr_misc_dev(local_login_t)
81dev_dontaudit_getattr_scanner_dev(local_login_t)
82dev_dontaudit_setattr_scanner_dev(local_login_t)
ebdc3b79 83dev_dontaudit_search_sysfs(local_login_t)
fd89e19f
CP
84dev_dontaudit_getattr_video_dev(local_login_t)
85dev_dontaudit_setattr_video_dev(local_login_t)
d35c621e 86
ab940a4c
CP
87fs_search_auto_mountpoints(local_login_t)
88
1815bad1
CP
89storage_dontaudit_getattr_fixed_disk_dev(local_login_t)
90storage_dontaudit_setattr_fixed_disk_dev(local_login_t)
91storage_dontaudit_getattr_removable_dev(local_login_t)
92storage_dontaudit_setattr_removable_dev(local_login_t)
07efe969 93
0fd9dc55 94term_use_all_user_ttys(local_login_t)
1815bad1 95term_use_unallocated_ttys(local_login_t)
0fd9dc55
CP
96term_relabel_unallocated_ttys(local_login_t)
97term_relabel_all_user_ttys(local_login_t)
98term_setattr_all_user_ttys(local_login_t)
99term_setattr_unallocated_ttys(local_login_t)
1e5c2a41 100
c9428d33 101auth_rw_login_records(local_login_t)
c9428d33 102auth_rw_faillog(local_login_t)
2b592aa4 103auth_manage_pam_pid(local_login_t)
c9428d33 104auth_manage_pam_console_data(local_login_t)
d8636fc9 105auth_domtrans_pam_console(local_login_t)
07efe969 106
ae9e2716 107corecmd_list_bin(local_login_t)
1815bad1 108corecmd_read_bin_symlinks(local_login_t)
ae9e2716 109# cjp: these are probably not needed:
1815bad1
CP
110corecmd_read_bin_files(local_login_t)
111corecmd_read_bin_pipes(local_login_t)
112corecmd_read_bin_sockets(local_login_t)
ae9e2716 113
c9428d33 114domain_read_all_entry_files(local_login_t)
f1470e5e 115
8fd36732 116files_read_etc_files(local_login_t)
c9428d33
CP
117files_read_etc_runtime_files(local_login_t)
118files_read_usr_files(local_login_t)
ebdc3b79 119files_list_mnt(local_login_t)
ae9e2716
CP
120files_list_world_readable(local_login_t)
121files_read_world_readable_files(local_login_t)
122files_read_world_readable_symlinks(local_login_t)
123files_read_world_readable_pipes(local_login_t)
124files_read_world_readable_sockets(local_login_t)
125# for when /var/mail is a symlink
9e04f5c5 126files_read_var_symlinks(local_login_t)
07efe969 127
1c1ac67f 128init_dontaudit_use_fds(local_login_t)
daa0e0b0 129
daa0e0b0
CP
130miscfiles_read_localization(local_login_t)
131
c9428d33
CP
132userdom_spec_domtrans_all_users(local_login_t)
133userdom_signal_all_users(local_login_t)
296273a7 134userdom_search_user_home_content(local_login_t)
103fe280 135userdom_use_unpriv_users_fds(local_login_t)
a77e6524 136userdom_sigchld_all_users(local_login_t)
fe3a1eb8 137userdom_create_all_users_keys(local_login_t)
07efe969 138
12cf805e
CP
139ifdef(`distro_ubuntu',`
140 optional_policy(`
141 unconfined_domain(local_login_t)
142 ')
143')
144
a42ca7eb
CP
145tunable_policy(`read_default_t',`
146 files_list_default(local_login_t)
147 files_read_default_files(local_login_t)
148 files_read_default_symlinks(local_login_t)
149 files_read_default_sockets(local_login_t)
150 files_read_default_pipes(local_login_t)
151')
152
d35c621e
CP
153tunable_policy(`use_nfs_home_dirs',`
154 fs_read_nfs_files(local_login_t)
155 fs_read_nfs_symlinks(local_login_t)
156')
157
158tunable_policy(`use_samba_home_dirs',`
159 fs_read_cifs_files(local_login_t)
160 fs_read_cifs_symlinks(local_login_t)
161')
162
134a799c 163optional_policy(`
350b6ab7
CP
164 alsa_domtrans(local_login_t)
165')
166
167optional_policy(`
296273a7 168 dbus_system_bus_client(local_login_t)
134a799c
CP
169
170 consolekit_dbus_chat(local_login_t)
171')
172
bb7170f6 173optional_policy(`
f862c35c
CP
174 gpm_getattr_gpmctl(local_login_t)
175 gpm_setattr_gpmctl(local_login_t)
176')
177
2cc4072c
CP
178optional_policy(`
179 # Search for mail spool file.
180 mta_getattr_spool(local_login_t)
181')
182
bb7170f6 183optional_policy(`
ab940a4c 184 nis_use_ypbind(local_login_t)
d115b247
CP
185')
186
bb7170f6 187optional_policy(`
1815bad1 188 nscd_socket_use(local_login_t)
493d6c4a
CP
189')
190
bb7170f6 191optional_policy(`
350b6ab7 192 unconfined_domain(local_login_t)
ebdc3b79
CP
193')
194
bb7170f6 195optional_policy(`
350b6ab7 196 usermanage_read_crack_db(local_login_t)
a524921a
CP
197')
198
134a799c
CP
199optional_policy(`
200 xserver_read_xdm_tmp_files(local_login_t)
201 xserver_rw_xdm_tmp_files(local_login_t)
202')
203
5d7e8ba6
CP
204#################################
205#
206# Sulogin local policy
207#
208
9d3bdc25 209allow sulogin_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
5d7e8ba6 210allow sulogin_t self:fd use;
80048ca5
CP
211allow sulogin_t self:fifo_file rw_file_perms;
212allow sulogin_t self:unix_dgram_socket create_socket_perms;
213allow sulogin_t self:unix_stream_socket create_stream_socket_perms;
5d7e8ba6
CP
214allow sulogin_t self:unix_dgram_socket sendto;
215allow sulogin_t self:unix_stream_socket connectto;
80048ca5
CP
216allow sulogin_t self:shm create_shm_perms;
217allow sulogin_t self:sem create_sem_perms;
0fd9dc55 218allow sulogin_t self:msgq create_msgq_perms;
5d7e8ba6
CP
219allow sulogin_t self:msg { send receive };
220
221kernel_read_system_state(sulogin_t)
222
ab940a4c 223fs_search_auto_mountpoints(sulogin_t)
4d851fe9 224fs_rw_tmpfs_chr_files(sulogin_t)
5d7e8ba6 225
8fd36732 226files_read_etc_files(sulogin_t)
3b857eae 227# because file systems are not mounted:
9e04f5c5 228files_dontaudit_search_isid_type_dirs(sulogin_t)
5d7e8ba6 229
1815bad1 230init_getpgid_script(sulogin_t)
ab940a4c 231
c9428d33 232logging_send_syslog_msg(sulogin_t)
5d7e8ba6 233
5e0da6a0
CP
234seutil_read_config(sulogin_t)
235seutil_read_default_contexts(sulogin_t)
5d7e8ba6 236
c9428d33 237auth_read_shadow(sulogin_t)
5d7e8ba6 238
103fe280 239userdom_use_unpriv_users_fds(sulogin_t)
e9c6cda7 240
296273a7
CP
241userdom_search_user_home_dirs(sulogin_t)
242userdom_use_user_ptys(sulogin_t)
e9c6cda7
CP
243
244sysadm_shell_domtrans(sulogin_t)
dc771ff4 245
5d7e8ba6 246# suse and debian do not use pam with sulogin...
0e15cdfb
CP
247ifdef(`distro_suse', `define(`sulogin_no_pam')')
248ifdef(`distro_debian', `define(`sulogin_no_pam')')
5d7e8ba6 249
254bbc7b 250ifdef(`sulogin_no_pam', `
0c73cd25 251 allow sulogin_t self:capability sys_tty_config;
1815bad1 252 init_getpgid(sulogin_t)
5d7e8ba6 253', `
0c73cd25 254 allow sulogin_t self:process setexec;
5e0da6a0
CP
255 selinux_get_fs_mount(sulogin_t)
256 selinux_validate_context(sulogin_t)
257 selinux_compute_access_vector(sulogin_t)
258 selinux_compute_create_context(sulogin_t)
259 selinux_compute_relabel_context(sulogin_t)
260 selinux_compute_user_contexts(sulogin_t)
5d7e8ba6
CP
261')
262
bb7170f6 263optional_policy(`
ab940a4c 264 nis_use_ypbind(sulogin_t)
5d7e8ba6 265')
a524921a 266
bb7170f6 267optional_policy(`
1815bad1 268 nscd_socket_use(sulogin_t)
a524921a 269')