From: Laurent Bigonville <bigon@debian.org>
To: selinux@tycho.nsa.gov
Subject: Re: Copying/setting security.selinux xattr explicitly
Date: Wed, 10 Feb 2016 15:53:29 +0100 [thread overview]
Message-ID: <56BB4EE9.1080309@debian.org> (raw)
In-Reply-To: <56BB4997.5080403@tycho.nsa.gov>
Le 10/02/16 15:30, Stephen Smalley a écrit :
> On 02/10/2016 05:59 AM, Laurent Bigonville wrote:
>> Hello,
>>
>> I've a question concerning copying the security.selinux xattr
>> explicitly.
>>
>> In you opinion what should happen in an implementation if it cannot be
>> reset security.selinux on the target file?
>>
>> Apparently GNU cp -a ignore failures (while cp --preserve=context
>> fails).
>>
>> In some python helper function (_copyxattr(), see
>> https://bugs.python.org/issue14082), it will return an exception if the
>> copy of any of the xattr is failing, there is no special case for
>> security.selinux.
>>
>> What do you think should be the behavior here?
>
> The rationale for the difference in behavior between cp -a and cp
> --preserve=context is that cp -a usage predates SELinux (and extended
> attributes) and treating the inability to set the SELinux attribute on
> the destination file as a hard failure would have broken many existing
> uses of cp -a.
>
> That is in fact generally true for all extended attributes, since
> trying to set any of them could fail due to lack of permission (except
> perhaps user.*) or due to lack of extended attribute support in the
> destination filesystem.
>
> Looking at the patches in the bug/issue you cited, it looks like they
> actually ignore errno.EPERM, errno.ENOTSUP, and errno.ENODATA. So the
> only one they don't ignore that SELinux might return would be
> errno.EACCES.
>
> I'm a bit unclear on the intended semantics of shutil.copy2(), as on
> the one hand they say it is supposed to be like cp -p (which does not
> copy extended attributes at all) but on the other hand they now say
> that it copies all metadata that it can.
>
Not too sure either.
I've proposed them to either ignore error when the xattr is
security.selinux or ignore EACCES errors altogether.
See: https://bugs.python.org/issue26328
prev parent reply other threads:[~2016-02-10 14:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-10 10:59 Copying/setting security.selinux xattr explicitly Laurent Bigonville
2016-02-10 14:30 ` Stephen Smalley
2016-02-10 14:53 ` Laurent Bigonville [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56BB4EE9.1080309@debian.org \
--to=bigon@debian.org \
--cc=selinux@tycho.nsa.gov \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.