[PATCH] security: Use org namespace for xattrs on macOS
Michal Privoznik
mprivozn at redhat.com
Thu Oct 29 11:18:13 UTC 2020
On 10/29/20 11:49 AM, Andrea Bolognani wrote:
> On Wed, 2020-10-28 at 20:25 +0100, Michal Privoznik wrote:
>> On 10/28/20 8:16 PM, Andrea Bolognani wrote:
>>> On Mon, 2020-10-26 at 00:25 +0300, Roman Bolshakov wrote:
>>>> +++ b/src/security/security_util.c
>>>> @@ -56,6 +56,8 @@ VIR_LOG_INIT("security.security_util");
>>>> # define XATTR_NAMESPACE "trusted"
>>>> #elif defined(__FreeBSD__)
>>>> # define XATTR_NAMESPACE "system"
>>>> +#elif defined(__APPLE__)
>>>> +# define XATTR_NAMESPACE "org"
>>>> #endif
>>>
>>> Considering that Apple uses com.apple for its own xattrs, libvirt
>>> using org.libvirt makes sense to me.
>>
>> One thing to consider here (and my rough googling did not help) is that
>> we need the namespace to be RW only by root. If it were writable by a
>> regular user (e.g "user." on linux) then a regular user could trick us
>> to chown() the file to whatever user they please. Is "org" (and per your
>> commit message in fact any XATTR namespace, since it doesn't look like
>> mac os has any notion of namespaces after all) writable by root only?
>
> Yeah that's a solid point, thanks for keeping an eye on me ;)
>
> Assuming macOS doesn't have any root-only namespaces, can we simply
> compile out the feature entirely on that OS? What about other targets
> like Windows?
>
What do you mean by compile out? The whole security_uitl.c is divided
into two parts: the actual implementation if XATTR_NAMESPACE is set
(which is currently only on Linux + BSD) and stubs which do nothing but
report an error.
Then, these internal APIs are called only from the secdrivers which we
don't build on Windows, do we?
Roman, is there any misbehaviour you're seeing? Or is this just porting
the feature to macOS? I'm not against it, I just don't have anywhere to
test it.
Michal
More information about the libvir-list
mailing list