use*_*168 10 permissions virtualbox lxc
我已经在lxc
容器内安装了 VirtualBox 。但是,当我尝试启动 VM 时,我收到以下消息:
kernel driver not accessible (rc=1909)
....permission problem with /dev/vboxdrv.
Run Code Online (Sandbox Code Playgroud)
这显然看起来像是一个可预测的安全问题。
有谁知道我如何授予容器访问此设备驱动程序的权限:/dev/vboxdrv
?
非常感谢任何帮助或指示。
在您的 LXC 主机上(我在这里假设是 Ubuntu):
安装virtualbox-dkms
, linux-headers-generic
,build-essential
包并检查内核模块是否已加载:
myhost$ sudo /etc/init.d/virtualbox status
VirtualBox kernel modules are loaded.
Run Code Online (Sandbox Code Playgroud)获取 VirtualBox 设备编号(在我的情况下为 10、55/56/57):
myhost$ ls -la /dev | grep vbox
crw------- 1 root root 10, 57 Feb 25 08:22 vboxdrv
crw------- 1 root root 10, 56 Feb 25 08:22 vboxdrvu
crw------- 1 root root 10, 55 Feb 25 08:22 vboxnetctl
Run Code Online (Sandbox Code Playgroud)获取节点编号并添加到您的 LXC 来宾配置 ( /var/lib/lxc/myguest/config
):
## VirtualBox
lxc.cgroup.devices.allow = c 10:57 rwm
lxc.cgroup.devices.allow = c 10:56 rwm
lxc.cgroup.devices.allow = c 10:55 rwm
Run Code Online (Sandbox Code Playgroud)重启你的 LXC 来宾,安装virtualbox
包,并创建设备节点:
myguest$ sudo mknod -m 600 /dev/vboxdrv c 10 57
myguest$ sudo mknod -m 600 /dev/vboxdrvu c 10 56
myguest$ sudo mknod -m 600 /dev/vboxnetctl c 10 55
Run Code Online (Sandbox Code Playgroud)检查来宾上的 VirtualBox 是否可以看到内核模块:
myguest$ sudo /etc/init.d/virtualbox status
VirtualBox kernel modules are loaded.
Run Code Online (Sandbox Code Playgroud)小智 1
VirtualBox Linux 内核驱动程序 (vboxdrv) 未加载或 /dev/vboxdrv 存在权限问题。通过执行重新设置内核模块
'/etc/init.d/vboxdrv setup'
Run Code Online (Sandbox Code Playgroud)
作为根。Ubuntu 或 Fedora 用户应首先安装 DKMS 软件包。该软件包跟踪 Linux 内核更改并在必要时重新编译 vboxdrv 内核模块。
归档时间: |
|
查看次数: |
4030 次 |
最近记录: |