[lxc-users] lxc.mount.entry selectively mount parts of sys and proc read write
GC
catchall at gc9.org
Sat Mar 22 02:08:08 UTC 2014
On 03/21/2014 07:15 AM, Serge Hallyn wrote:
> Quoting GC (catchall at gc9.org):
>> Hello,
>>
>> I want to selectively mount parts of sys and proc rw, but the rest
>> ro. I thought I might be able to e.g., mount /sys ro (in the
>> container), and mount /.sys rw (in the container), then bind mount
>> bits from /.sys to /sys, and finally hide the rw /.sys by mounting
>> another directory on top of it, like:
>>
>> lxc.mount.entry = sysfs sys sysfs ro 0 0
>> lxc.mount.entry = sysfs .sys sysfs rw 0 0 # (dot)sys
>>
>> lxc.mount.entry = /var/lib/lxc/container/.sys/module/ipv6
>> sys/module/ipv6 none defaults,bind 0 0
>> # or alternatively (also doesn't work) this instead of line above
>> #lxc.mount.entry = .sys/module/ipv6 sys/module/ipv6 none defaults,bind 0 0
>>
>> lxc.mount.entry = /var/lib/lxc/dummy_mount .sys none ro,bind 0 0
>>
>>
>> The part where I try to perform the bind mount of the read/write
>> .sys/module/ipv6 (in the container) on top of the read only
>> sys/module/ipv6 (in the container) fails. Is there a way to get
>> this to work?
> Wouldn't it be simpler to simply bind mount /sys ro from the host,
> then bind-mount /sys/module/ipv6 from the host rw into the container?
I thought there would be issues with namespace support. I thought it
would break network namespaces, which appears to be wrong from your
comment. But, I also don't see how this can work with user namespaces,
since root in container will not be able to write to the host's /sys, if
it is bind mounted. I'm still trying to get a container to work with
user namespaces, so my assumption that writes will work to /sys, mounted
rw via lxc.mount.entry, is untested.
>
> I assume your container won't have cap_sys_admin to prevent remounting?
Correct.
Thnx,
g
More information about the lxc-users
mailing list