PERFORCE change 113420 for review
Todd Miller
millert at FreeBSD.org
Mon Jan 22 20:17:55 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=113420
Change 113420 by millert at millert_macbook on 2007/01/22 20:11:54
Allow actions by various processes that occur after the user has
logged in via the GUI.
Affected files ...
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/DirectoryService.te#8 edit
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/KernelEventAgent.te#6 edit
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/WindowServer.te#12 edit
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/coreaudiod.te#10 edit
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/coreservicesd.te#10 edit
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/loginwindow.te#14 edit
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/securityd.te#15 edit
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/services/ntp.te#5 edit
.. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/system/init.te#13 edit
Differences ...
==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/DirectoryService.te#8 (text+ko) ====
@@ -28,7 +28,7 @@
# Check in /etc/selinux/refpolicy/include for macros to use instead of allow rules.
# Some common macros (you might be able to remove some)
-files_read_etc_files(DirectoryService_t)
+files_manage_etc_files(DirectoryService_t)
libs_use_ld_so(DirectoryService_t)
libs_use_shared_libs(DirectoryService_t)
miscfiles_read_localization(DirectoryService_t)
@@ -70,6 +70,7 @@
allow DirectoryService_t self:process signal;
allow DirectoryService_t self:socket create;
allow DirectoryService_t bin_t:dir search;
+allow DirectoryService_t bin_t:file { execute_no_trans read getattr };
allow DirectoryService_t nfs_t:dir { getattr read };
@@ -129,3 +130,8 @@
# Use CoreServices
darwin_allow_CoreServices_read(DirectoryService_t)
+
+# Search /var/vm
+files_search_vm(DirectoryService_t)
+
+corenet_tcp_connect_smbd_port(DirectoryService_t)
==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/KernelEventAgent.te#6 (text+ko) ====
@@ -46,3 +46,6 @@
# read /System
darwin_allow_system_read(KernelEventAgent_t)
+
+# Read Core Services files
+darwin_allow_CoreServices_read(KernelEventAgent_t)
==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/WindowServer.te#12 (text+ko) ====
@@ -82,7 +82,7 @@
# Find the proper interface for this later
allow WindowServer_t var_log_t:dir search;
-allow WindowServer_t var_log_t:file { getattr setattr write };
+allow WindowServer_t var_log_t:file { getattr setattr write unlink };
# Misc
allow WindowServer_t nfs_t:filesystem getattr;
==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/coreaudiod.te#10 (text+ko) ====
@@ -32,7 +32,7 @@
allow coreaudiod_t sbin_t:dir { getattr read search };
allow coreaudiod_t mnt_t:dir search;
allow coreaudiod_t random_device_t:chr_file read;
-
+allow coreaudiod_t fs_t:filesystem getattr;
# Talking to itself
mach_allow_message(coreaudiod_t, coreaudiod_t)
@@ -61,10 +61,16 @@
# Allow reading of prefs
darwin_allow_global_pref_read(coreaudiod_t)
darwin_allow_host_pref_read(coreaudiod_t)
+allow coreaudiod_t darwin_host_pref_t:dir { add_name remove_name };
+allow coreaudiod_t darwin_host_pref_t:file { create write setattr rename unlink };
# Allow reading of CoreServices files
darwin_allow_CoreServices_read(coreaudiod_t)
+# Talk to coreservicesd
+mach_allow_ipc(coreaudiod_t, coreservicesd_t)
+allow coreaudiod_t coreservicesd_t:shm { read write };
+
# Allow reading of /private
darwin_allow_private_read(coreaudiod_t)
@@ -74,3 +80,6 @@
# read /System
darwin_allow_system_read(coreaudiod_t)
+
+# Search /.vol
+allow coreaudiod_t volfs_t:dir search;
==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/coreservicesd.te#10 (text+ko) ====
@@ -42,6 +42,9 @@
WindowServer_allow_ipc(coreservicesd_t)
allow coreservicesd_t WindowServer_t:process taskforpid;
+# Talk to Coreaudiod
+allow coreservicesd_t coreaudiod_t:process taskforpid;
+
# Talk to configd
configd_allow_ipc(coreservicesd_t)
allow coreservicesd_t configd_t:process taskforpid;
@@ -53,7 +56,7 @@
# Talk to init process
allow coreservicesd_t init_t:process taskforpid;
allow coreservicesd_t init_t:mi_bootstrap { bootstrap_look_up bootstrap_check_in };
-allow coreservicesd_t init_t:mi_notify_ipc notify_server_register_plain;
+allow coreservicesd_t init_t:mi_notify_ipc { notify_server_register_plain notify_server_post };
# Use CoreServices
darwin_allow_CoreServices_read(coreservicesd_t)
@@ -85,9 +88,11 @@
allow coreservicesd_t kextd_t:process taskforpid;
allow coreservicesd_t kextd_t:mach_port { hold_send_once hold_send move_send_once send recv };
-# Read user home dirs
+# user home dirs
userdom_search_all_users_home_content(coreservicesd_t)
userdom_read_all_users_home_content_files(coreservicesd_t)
+allow coreservicesd_t user_home_t:dir { add_name remove_name };
+allow coreservicesd_t user_home_t:file { create write setattr rename unlink };
# Read var files
files_read_var_files(coreservicesd_t)
@@ -97,7 +102,8 @@
files_search_vm(coreservicesd_t)
# Access cache files
-allow coreservicesd_t darwin_cache_t:dir { getattr search };
+allow coreservicesd_t darwin_cache_t:dir { getattr search add_name remove_name };
+allow coreservicesd_t darwin_cache_t:file { create write rename unlink read };
# Search dirs
allow coreservicesd_t { darwin_system_t mnt_t fs_t }:dir { getattr search };
@@ -108,3 +114,6 @@
# Stat filesystems
allow coreservicesd_t fs_t:filesystem getattr;
+
+# /dev/random
+allow coreservicesd_t random_device_t:chr_file read;
==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/loginwindow.te#14 (text+ko) ====
@@ -48,11 +48,11 @@
# There has to be a "proper" interface for this. Fix this when we find it
allow loginwindow_t bin_t:dir { search read getattr };
allow loginwindow_t bin_t:file { getattr execute execute_no_trans read };
+allow loginwindow_t automount_t:dir search;
allow loginwindow_t darwin_services_t:dir { read search getattr };
allow loginwindow_t init_t:process taskforpid;
-allow loginwindow_t unconfined_t:process getsched;
# Talk to self
mach_allow_message(loginwindow_t, loginwindow_t)
==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/securityd.te#15 (text+ko) ====
@@ -42,7 +42,12 @@
allow securityd_t nfs_t:lnk_file read;
allow securityd_t usr_t:file { getattr read };
allow securityd_t random_device_t:chr_file { read write };
+allow securityd_t bin_t:dir { search read };
+allow securityd_t bin_t:file { read getattr };
allow securityd_t sbin_t:dir { getattr read search };
+allow securityd_t automount_t:dir search;
+allow securityd_t darwin_network_t:dir { getattr search };
+allow securityd_t darwin_network_t:lnk_file { getattr read };
# /var file operations
files_manage_var_files(securityd_t)
==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/services/ntp.te#5 (text+ko) ====
@@ -54,6 +54,7 @@
# for some reason it creates a file in /tmp
allow ntpd_t ntpd_tmp_t:dir create_dir_perms;
allow ntpd_t ntpd_tmp_t:file create_file_perms;
+allow ntpd_t tmp_t:lnk_file read;
files_tmp_filetrans(ntpd_t, ntpd_tmp_t, { file dir })
allow ntpd_t ntpd_var_run_t:file create_file_perms;
@@ -141,6 +142,8 @@
# Read /private
darwin_allow_private_read(ntpd_t)
+allow ntpd_t random_device_t:chr_file read;
+
ifdef(`targeted_policy', `
term_dontaudit_use_unallocated_ttys(ntpd_t)
term_dontaudit_use_generic_ptys(ntpd_t)
==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/system/init.te#13 (text+ko) ====
@@ -659,6 +659,7 @@
darwin_allow_host_pref_read(init_t)
darwin_allow_system_read(init_t)
allow init_t darwin_system_t:file execute;
+allow init_t automount_t:dir search;
# Read /System/Library/StartupItems
allow init_t darwin_startup_t:dir { read search getattr };
More information about the trustedbsd-cvs
mailing list