Re: [PATCH v2 0/3] Add support for extracting modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/07/2015 04:09 AM, Sven Vermeulen wrote:
> Will you provide a patch to the reference policy to allow semanage_t
> to write into all kinds of directories?
> 
> I personally see little value in this patch, as everything is readily
> accessible on the file system. Users who want to extract policies with
> semodule will now encounter policy issues where semanage_t is not
> allowed to write into the current working directory (depending where
> the user is at):

Directly accessing files under /var/lib/selinux is not very
user-friendly or maintainable, as how the files are arranged and stored
is an implementation detail of libsemanage.

The change allows users a new workflow in which they can readily extract
a module (whether locally created or distro-provided), modify it, and
then re-install it (and automatically have their modified version
installed at higher priority, and thereby not clobber the
distro-provided one or be clobbered by subsequent policy updates.

semanage is already given userdom_read_user_home_content_files() and
userdom_read_user_tmp_files() in order to support semodule -i from
either of those locations, so broadening that to userdom_manage doesn't
seem too onerous.

Also, the situation doesn't seem terribly different from the already
existing semanage export facility, which takes a -f output_file option.

> 
>    allow semanage_t tmp_t : dir { ioctl read write getattr lock
> add_name remove_name search open } ;
>    allow semanage_t selinux_config_t : dir { ioctl read write getattr
> lock add_name remove_name search open } ;
>    allow semanage_t default_context_t : dir { ioctl read write getattr
> lock add_name remove_name search open } ;
>    allow semanage_t file_context_t : dir { ioctl read write getattr
> lock add_name remove_name search open } ;
>    allow semanage_t semanage_store_t : dir { ioctl read write create
> getattr setattr lock unlink link rename add_name remove_name reparent
> search rmdir open } ;
>    allow semanage_t semanage_tmp_t : dir { ioctl read write create
> getattr setattr lock unlink link rename add_name remove_name reparent
> search rmdir open } ;
>    allow semanage_t policy_config_t : dir { ioctl read write getattr
> lock add_name remove_name search open } ;
> 
> Wkr,
>   Sven Vermeulen
> 
> On Thu, Aug 6, 2015 at 4:30 PM, Yuli Khodorkovskiy
> <ykhodorkovskiy@xxxxxxxxxx> wrote:
>> This patchset adds support for extracting modules from the module store as hll
>> or cil to the current working directory. This also adds a function to the
>> libsemanage API to extract modules and fixes a memory leak discovered while
>> implementing this functionality.
>>
>> Changes from v1:
>> - Add fallback behavior if a module does not exist at the default priority when
>> extracting with semodule.
>>
>> Yuli Khodorkovskiy (3):
>>   libsemanage: Add ability to extract modules
>>   libsemanage: Fix null pointer dereference in
>>     semanage_module_key_destroy
>>   policycoreutils/semodule: update semodule to allow extracting modules
>>
>>  libsemanage/include/semanage/modules.h |  17 ++
>>  libsemanage/src/direct_api.c           | 310 ++++++++++++++++++++++-----------
>>  libsemanage/src/libsemanage.map        |   1 +
>>  libsemanage/src/modules.c              |  23 ++-
>>  libsemanage/src/policy.h               |   8 +
>>  libsemanage/src/semanageswig_python.i  |   5 +
>>  policycoreutils/semodule/semodule.8    |  14 ++
>>  policycoreutils/semodule/semodule.c    | 146 +++++++++++++++-
>>  8 files changed, 416 insertions(+), 108 deletions(-)
>>
>> --
>> 1.9.3
>>
>> _______________________________________________
>> Selinux mailing list
>> Selinux@xxxxxxxxxxxxx
>> To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
>> To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.
> _______________________________________________
> Selinux mailing list
> Selinux@xxxxxxxxxxxxx
> To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
> To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.
> 

_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux