Skip to contentSkip to conversation

: patch set to update the git reference policy

PATCH New Guido Trentalancia 2 participants 2 messages Jan 24, 2011

lore
Share & tools
lore
#0 lore raw

PATCH 5/19 : patch set to update the git reference policy

policy/modules/kernel/corecommands.if +21 -0
diff -pruN -x .git -x booleans.conf -x corenetwork.if -x corenetwork.te -x modules.conf refpolicy-git-18012011/policy/modules/kernel/corecommands.if refpolicy-git-18012011-new/policy/modules/kernel/corecommands.if
@@ -808,6 +808,27 @@ interface(`corecmd_check_exec_shell',`
 
 ########################################
 ## <summary>
+##      Allow mmap_file_perms on a shell
+##      executable.
+## </summary>
+## <param name="domain">
+##      <summary>
+##      Domain allowed access.
+##      </summary>
+## </param>
+#
+interface(`corecmd_mmap_file_exec_shell',`
+        gen_require(`
+                type bin_t, shell_exec_t;
+        ')
+
+        list_dirs_pattern($1, bin_t, bin_t)
+        read_lnk_files_pattern($1, bin_t, bin_t)
+        allow $1 shell_exec_t:file mmap_file_perms;
+')
+
+########################################
+## <summary>
 ##	Execute shells in the caller domain.
 ## </summary>
 ## <desc>
policy/modules/system/mount.if +19 -0
diff -pruN -x .git -x booleans.conf -x corenetwork.if -x corenetwork.te -x modules.conf refpolicy-git-18012011/policy/modules/system/mount.if refpolicy-git-18012011-new/policy/modules/system/mount.if
@@ -51,6 +51,25 @@ interface(`mount_run',`
 
 ########################################
 ## <summary>
+##      Get the attributes of mount
+##      executable files.
+## </summary>
+## <param name="domain">
+##      <summary>
+##      Domain allowed access.
+##      </summary>
+## </param>
+#
+interface(`mount_exec_getattr',`
+	gen_require(`
+		type mount_exec_t;
+	')
+
+	allow $1 mount_exec_t:file getattr;
+')
+
+########################################
+## <summary>
 ##	Execute mount in the caller domain.
 ## </summary>
 ## <param name="domain">
policy/modules/system/mount.te +13 -0
diff -pruN -x .git -x booleans.conf -x corenetwork.if -x corenetwork.te -x modules.conf refpolicy-git-18012011/policy/modules/system/mount.te refpolicy-git-18012011-new/policy/modules/system/mount.te
@@ -37,6 +37,11 @@ application_domain(unconfined_mount_t, m
 # setuid/setgid needed to mount cifs 
 allow mount_t self:capability { ipc_lock sys_rawio sys_admin dac_override chown sys_tty_config setuid setgid };
 
+ifdef(`distro_redhat',`
+	# needed by /sbin/mount.tmpfs bash script
+	allow mount_t self:fifo_file rw_fifo_file_perms;
+')
+
 allow mount_t mount_loopback_t:file read_file_perms;
 
 allow mount_t mount_tmp_t:file manage_file_perms;
@@ -51,12 +56,17 @@ kernel_read_kernel_sysctls(mount_t)
 kernel_dontaudit_getattr_core_if(mount_t)
 kernel_dontaudit_write_debugfs_dirs(mount_t)
 kernel_dontaudit_write_proc_dirs(mount_t)
+kernel_setsched(mount_t)
 # To load binfmt_misc kernel module
 kernel_request_load_module(mount_t)
 
 # required for mount.smbfs
 corecmd_exec_bin(mount_t)
 
+# required for mounting nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2
+# from initscripts 
+corecmd_mmap_file_exec_shell(mount_t)
+
 dev_getattr_all_blk_files(mount_t)
 dev_list_all_dev_nodes(mount_t)
 dev_read_sysfs(mount_t)
@@ -65,6 +75,7 @@ dev_rw_lvm_control(mount_t)
 dev_dontaudit_getattr_all_chr_files(mount_t)
 dev_dontaudit_getattr_memory_dev(mount_t)
 dev_getattr_sound_dev(mount_t)
+dev_read_usbfs(mount_t)
 # Early devtmpfs, before udev relabel
 dev_dontaudit_rw_generic_chr_files(mount_t)
 
@@ -108,6 +119,8 @@ storage_raw_read_fixed_disk(mount_t)
 storage_raw_write_fixed_disk(mount_t)
 storage_raw_read_removable_device(mount_t)
 storage_raw_write_removable_device(mount_t)
+# needed for example by ntfs-3g
+storage_rw_fuse(mount_t)
 
 term_use_all_terms(mount_t)
 
#1 lore raw

PATCH 5/19 : patch set to update the git reference policy

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 15 lines · Guido Trentalancia

diff -pruN -x .git -x booleans.conf -x corenetwork.if -x corenetwork.te -x modules.conf refpolicy-git-18012011/policy/modules/kernel/corecommands.if refpolicy-git-18012011-new/policy/modules/kernel/corecommands.if

policy/modules/kernel/corecommands.if +8 -0
@@ -808,6 +808,27 @@ interface(`corecmd_check_exec_shell',`
 
 ########################################
 ## <summary>
+##      Allow mmap_file_perms on a shell
+##      executable.
+## </summary>
+## <param name="domain">
+##      <summary>
+##      Domain allowed access.
+##      </summary>
+## </param>

policy/modules/kernel/corecommands.if interface(`corecmd_check_exec_shell',` · line 828

Quoted 10 lines
policy/modules/kernel/corecommands.if +10 -0
+#
+interface(`corecmd_mmap_file_exec_shell',`
+        gen_require(`
+                type bin_t, shell_exec_t;
+        ')
+
+        list_dirs_pattern($1, bin_t, bin_t)
+        read_lnk_files_pattern($1, bin_t, bin_t)
+        allow $1 shell_exec_t:file mmap_file_perms;
+')

listing bin_t directories is not strictly required to mmap shell_exec_t files.

Quoted 19 lines
policy/modules/kernel/corecommands.if +3 -0
+
+########################################
+## <summary>
 ##	Execute shells in the caller domain.
 ## </summary>
 ## <desc>

diff -pruN -x .git -x booleans.conf -x corenetwork.if -x corenetwork.te -x modules.conf refpolicy-git-18012011/policy/modules/system/mount.if refpolicy-git-18012011-new/policy/modules/system/mount.if

policy/modules/system/mount.if +6 -0
@@ -51,6 +51,25 @@ interface(`mount_run',`
 
 ########################################
 ## <summary>
+##      Get the attributes of mount
+##      executable files.
+## </summary>
+## <param name="domain">
+##      <summary>
+##      Domain allowed access.

policy/modules/system/mount.if interface(`mount_run',` · line 69

Quoted 10 lines
policy/modules/system/mount.if +10 -0
+##      </summary>
+## </param>
+#
+interface(`mount_exec_getattr',`
+	gen_require(`
+		type mount_exec_t;
+	')
+
+	allow $1 mount_exec_t:file getattr;
+')

mount_getattr_executable_file() or something. use permission sets (getattr_file_perms) and provide access to the location of the mount executable file (corecmd_search_bin($1)

Quoted 58 lines
policy/modules/system/mount.if +3 -0
+
+########################################
+## <summary>
 ##	Execute mount in the caller domain.
 ## </summary>
 ## <param name="domain">

diff -pruN -x .git -x booleans.conf -x corenetwork.if -x corenetwork.te -x modules.conf refpolicy-git-18012011/policy/modules/system/mount.te refpolicy-git-18012011-new/policy/modules/system/mount.te

policy/modules/system/mount.te +13 -0
@@ -37,6 +37,11 @@ application_domain(unconfined_mount_t, m
 # setuid/setgid needed to mount cifs 
 allow mount_t self:capability { ipc_lock sys_rawio sys_admin dac_override chown sys_tty_config setuid setgid };
 
+ifdef(`distro_redhat',`
+	# needed by /sbin/mount.tmpfs bash script
+	allow mount_t self:fifo_file rw_fifo_file_perms;
+')
+
 allow mount_t mount_loopback_t:file read_file_perms;
 
 allow mount_t mount_tmp_t:file manage_file_perms;
@@ -51,12 +56,17 @@ kernel_read_kernel_sysctls(mount_t)
 kernel_dontaudit_getattr_core_if(mount_t)
 kernel_dontaudit_write_debugfs_dirs(mount_t)
 kernel_dontaudit_write_proc_dirs(mount_t)
+kernel_setsched(mount_t)
 # To load binfmt_misc kernel module
 kernel_request_load_module(mount_t)
 
 # required for mount.smbfs
 corecmd_exec_bin(mount_t)
 
+# required for mounting nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2
+# from initscripts 
+corecmd_mmap_file_exec_shell(mount_t)
+
 dev_getattr_all_blk_files(mount_t)
 dev_list_all_dev_nodes(mount_t)
 dev_read_sysfs(mount_t)
@@ -65,6 +75,7 @@ dev_rw_lvm_control(mount_t)
 dev_dontaudit_getattr_all_chr_files(mount_t)
 dev_dontaudit_getattr_memory_dev(mount_t)
 dev_getattr_sound_dev(mount_t)
+dev_read_usbfs(mount_t)
 # Early devtmpfs, before udev relabel
 dev_dontaudit_rw_generic_chr_files(mount_t)
 
@@ -108,6 +119,8 @@ storage_raw_read_fixed_disk(mount_t)
 storage_raw_write_fixed_disk(mount_t)
 storage_raw_read_removable_device(mount_t)
 storage_raw_write_removable_device(mount_t)
+# needed for example by ntfs-3g
+storage_rw_fuse(mount_t)
 
 term_use_all_terms(mount_t)
 
Quoted 4 lines

_______________________________________________
refpolicy mailing list
refpolicy at oss.tresys.com
http://oss.tresys.com/mailman/listinfo/refpolicy

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk09ikoACgkQMlxVo39jgT9k6QCeKUwULKR8M+BlnwazqYkgohev X74AoI/BP3BQ+MENrYIO472Xq8NCyt2Y
=Tr48
-----END PGP SIGNATURE-----