]> Pileus Git - ~andy/linux/commit
SELinux: allow default source/target selectors for user/role/range
authorEric Paris <eparis@redhat.com>
Tue, 20 Mar 2012 18:35:12 +0000 (14:35 -0400)
committerEric Paris <eparis@redhat.com>
Mon, 9 Apr 2012 16:22:47 +0000 (12:22 -0400)
commitaa893269de6277b44be88e25dcd5331c934c29c4
treef994e023f787c1665b65725f2c009a9f5a021be7
parent6ce74ec75ca690c4fb3a3c5f8b7767d094d93215
SELinux: allow default source/target selectors for user/role/range

When new objects are created we have great and flexible rules to
determine the type of the new object.  We aren't quite as flexible or
mature when it comes to determining the user, role, and range.  This
patch adds a new ability to specify the place a new objects user, role,
and range should come from.  For users and roles it can come from either
the source or the target of the operation.  aka for files the user can
either come from the source (the running process and todays default) or
it can come from the target (aka the parent directory of the new file)

examples always are done with
directory context: system_u:object_r:mnt_t:s0-s0:c0.c512
process context: unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[no rule]
unconfined_u:object_r:mnt_t:s0   test_none
[default user source]
unconfined_u:object_r:mnt_t:s0   test_user_source
[default user target]
system_u:object_r:mnt_t:s0       test_user_target
[default role source]
unconfined_u:unconfined_r:mnt_t:s0 test_role_source
[default role target]
unconfined_u:object_r:mnt_t:s0   test_role_target
[default range source low]
unconfined_u:object_r:mnt_t:s0 test_range_source_low
[default range source high]
unconfined_u:object_r:mnt_t:s0:c0.c1023 test_range_source_high
[default range source low-high]
unconfined_u:object_r:mnt_t:s0-s0:c0.c1023 test_range_source_low-high
[default range target low]
unconfined_u:object_r:mnt_t:s0 test_range_target_low
[default range target high]
unconfined_u:object_r:mnt_t:s0:c0.c512 test_range_target_high
[default range target low-high]
unconfined_u:object_r:mnt_t:s0-s0:c0.c512 test_range_target_low-high

Signed-off-by: Eric Paris <eparis@redhat.com>
security/selinux/include/security.h
security/selinux/ss/context.h
security/selinux/ss/mls.c
security/selinux/ss/policydb.c
security/selinux/ss/policydb.h
security/selinux/ss/services.c