Linux 设备是否需要用户权限?如果需要,如何添加?

Linux 设备是否需要用户权限?如果需要,如何添加?

尝试在物理 Centos 机上使用 VirtualBox 和 phpVirtualBox 创建新的虚拟服务器。安装了软件,一切似乎都很好。将操作盘放入物理机的 CD 驱动器中,但 phpVirtualBox 出现以下错误:

无法打开主机设备“/dev/sr0”进行只读访问。请检查该设备的权限(“/bin/ls -l /dev/sr0”):您很可能需要成为该设备组的成员。请确保在更改当前用户的组设置后注销/登录(VERR_ACCESS_DENIED)

按照说明,我看到以下内容:

[root@desktop ~]# /bin/ls -l /dev/sr0
brw-rw----. 1 root cdrom 11, 0 Nov 18 10:30 /dev/sr0

我了解 Linux 文件如何具有用户权限。设备是否也有类似的东西?如何查看和修改设备上的权限?

我发现组 11 是 cdrom。我已将此组添加到我的 phpVirtualBox 用户,但仍然出现相同的错误。

我觉得这不重要,但这张 CD 是 Windows 7。

请提供任何建议。谢谢

答案1

一切皆文件

这句话是 Linux 世界中的一句经典格言,它的含义是字面意思。在 Linux 世界中,(几乎)一切都是文件。这包括管道目录设备。因此,更改设备权限的方式与更改任何其他文件的权限的方式相同:

# ls -l /dev/sr0
brw-rw---T+ 1 root cdrom 11, 0 Nov 18 14:55 /dev/sr0
# chmod a+rw /dev/sr0
# ls -l /dev/sr0 
brw-rw-rwT+ 1 root cdrom 11, 0 Nov 18 14:55 /dev/sr0

不过你不需要这么做。将正确的用户添加到cdrom组就足够了。你没有解释你有哪些用户以及谁在做什么。我假设你正在用你的普通用户启动虚拟机。那个用户在组中吗?

我认为您收到的错误是虚拟机抱怨无法访问物理驱动器。这可能意味着启动虚拟机的用户不在该cdrom组中。

如果你这样做了,但没有效果,请更新你的问题,并准确说明如何你添加了哪个将用户添加到该组。

相关内容