为什么我不能在/ sys中创建一个目录

Modified on: Thu, 14 Jun 2018 10:44:23 +0800

我正在学习Ubuntu并尝试一些事情。

我注意到我无法在/ sys

中创建目录

这是一个特殊目录还是什么?是否有其他类型的目录?

(我做了sudo -ichmod a+w /sys

最佳答案

首先,您应该更改/sys的权限(sudo chmod a-r /sys将执行此操作,因为默认权限为dr-xr-xr-x)。 /sys不应该是世界可写的!

通常,要在主文件夹,外部媒体和/tmp文件夹之外的系统部分中创建文件和目录,您应该将其作为root使用sudo,而不是通过更改权限或所有权来为自己提供访问权限。特别不建议使目录成为世界可写的。

有关推荐方式的信息,请参阅:

您甚至可以使用gksudo nautilus(或sudo -H nautilus,如果您没有gksudo)来打开root拥有的文件浏览器窗口。但要小心这一点 - 它可以做任何事情,而且大多数事情都是你可能不想做的事情。另请注意,如果您从root拥有的文件浏览器窗口启动程序,该程序也将以root身份运行。

通常你应该做什么,编辑或创建root所拥有的目录的新内容。然而...

/sys不同;甚至root也不能直接在那里创建

/proc/dev一样,在Ubuntu和其他使用Linux内核的操作系统中,/sys虚拟文件系统,它代表的不是磁盘上(或任何地方)的真实文件。

简而言之,/sys内核的一种方式提供有关(物理和虚拟)设备的信息。

/sys文件系统中的某些条目也具有明显的可写性,写入它们是一种动态设置设备配置的方法。 (这不应与/dev文件系统混淆;写入/dev中的条目是向设备发送数据的方式。)< / p>

但这仍然必须以root身份完成。如上所述,您应该只使用/sys以root身份执行这些操作,而不是更改sudo或其任何部分的权限。

在Unix.SE上这个答案解释了如何做到这一点,甚至如何允许一些非管理员(谁不能以root身份执行大多数操作)来更改一些/sys设置。

有关/sys如何工作的更多信息,请参阅:

/sys中的条目由内核和驱动程序创建;你不能只从命令行创建它们。 (如上所述,你可以编辑一些root用户,但除了加载内核模块或安装驱动程序或修改内核之外,通常不能从用户空间创建新的。)

如果您有兴趣编写驱动程序,请参阅:


相关问答

添加新评论