> On May 21, 2018, 7:24 p.m., Jie Yu wrote:
> > src/slave/containerizer/mesos/isolators/linux/devices.cpp
> > Lines 170-175 (patched)
> > <https://reviews.apache.org/r/67097/diff/4/?file=2024122#file2024122line171>
> >
> >     Any reason we only do that for the directory, not the actual device 
> > file?
> 
> James Peach wrote:
>     The actual device file is supposed to be accessed by the task user, so it 
> has to be owned by that user. This chown is ensuring that we don't also grant 
> access to other host users as a side-effect of the container.
> 
> Jie Yu wrote:
>     What do you mean by "side-effect"?
> 
> James Peach wrote:
>     We only want to grant access to the containerized task, not to other 
> processes that might be running on the host. For example, when we grant read 
> access, we set `S_IRGRP | S_IROTH` which makes the device readable by 
> everyone on the host. Restricting the permissions on the container devices 
> directory prevents this, and setting the owner ensures we will still have 
> access even if we are later running as the task user.
> 
> Jie Yu wrote:
>     What I don't follow is that why we need to set the ownership and 
> permission on the devicesDir. What if we just change the actual device files 
> to have proper ownership (task's user) and permission (700), will that be 
> sufficient?

> What if we just change the actual device files to have proper ownership 
> (task's user) and permission (700), will that be sufficient?

That will work, but I think this approach is better semantically. It presents 
devices as owned by root, which is what you would get on a VM or a host, and it 
gives the expected access throughout the container, which is consistent with 
the cgroups devices policy and avoids any potential issues with multiple 
credentials inside the container.


- James


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67097/#review203515
-----------------------------------------------------------


On May 15, 2018, 5:53 p.m., James Peach wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67097/
> -----------------------------------------------------------
> 
> (Updated May 15, 2018, 5:53 p.m.)
> 
> 
> Review request for mesos, Gilbert Song, Jason Lai, and Jie Yu.
> 
> 
> Bugs: MESOS-8792
>     https://issues.apache.org/jira/browse/MESOS-8792
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Added `linux/devices` isolator support for populating the container
> devices.  This introduces a general mechanism for populating devices
> into a specific container but currently only implements devices for all
> containers based on the devices specified by the `--allowed_devices`
> agent flag.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/mesos/isolators/linux/devices.hpp PRE-CREATION 
>   src/slave/containerizer/mesos/isolators/linux/devices.cpp PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/67097/diff/4/
> 
> 
> Testing
> -------
> 
> make check (Fedora 27)
> 
> 
> Thanks,
> 
> James Peach
> 
>

Reply via email to