Discussion:
[lxc-users] How to provide device access to lxc unprivileged containers ?
Yasoda Padala
2018-09-11 08:45:32 UTC
Permalink
Hi All,
I have a usb attached to my ubuntu machine (16.04) and trying to access
that device from unprivileged lxc container.
By access I mean, enumerate and do I/O on that device.
I have written a small program using libusb library and using that libusb
executable to enumerate,read/write usb device from container
Please find attached lxc config file and libusb executable.
I have found plenty of examples in various forums but nothing worked for me.

Tried the following:
1. Added below entries in lxc config file
lxc.cgroup.devices.allow = b 8:* rwm
lxc.mount.entry = /dev/bus/usb/001/ dev/bus/usb/001/ none bind,create=dir 0
0
lxc.mount.entry = /dev/sdc /home/oxpd/.local/share/lxc/Test/rootfs/dev/sdc
none bind,create=file 0 0
lxc.mount.entry = /dev/sdc1
/home/oxpd/.local/share/lxc/Test/rootfs/dev/sdc1 none bind,create=file 0 0

2. Changed device owner to 100000
3. changed device permission to 777.on the host

when I run the libusb executable on host, all the attached device are
listed, but the same when I run inside the container it says 0 devices are
attached.
Is there any other configuration I am missing. Please help.

Thanks & Regards,
Yasoda
Andrey Repin
2018-09-11 09:04:45 UTC
Permalink
Greetings, Yasoda Padala!
Post by Yasoda Padala
Hi All,
I have a usb attached to my ubuntu machine (16.04) and trying to access
that device from unprivileged lxc container.
By access I mean, enumerate and do I/O on that device.
What for? If it's a block device, just mount it into container FS.
Post by Yasoda Padala
I have written a small program using libusb library and using that libusb
executable to enumerate,read/write usb device from container
Please find attached  lxc config file and libusb executable.
I have found plenty of examples in various forums but nothing worked for me.
1. Added below entries in lxc config file
lxc.cgroup.devices.allow = b 8:* rwm
lxc.mount.entry = /dev/bus/usb/001/ dev/bus/usb/001/ none bind,create=dir 0 0
lxc.mount.entry = /dev/sdc /home/oxpd/.local/share/lxc/Test/rootfs/dev/sdc none bind,create=file 0 0
lxc.mount.entry = /dev/sdc1
/home/oxpd/.local/share/lxc/Test/rootfs/dev/sdc1 none bind,create=file 0 0
2. Changed device owner to 100000 
3. changed device permission to 777.on the host
when I run the libusb executable on host, all the attached device are
listed, but the same when I run inside the container it says 0 devices are attached.
Is there any other configuration I am missing. Please help.
--
With best regards,
Andrey Repin
Tuesday, September 11, 2018 12:04:14

Sorry for my terrible english...

Loading...