具有组权限,但无法创建文件


10

我在玩pi3B时发现了一件奇怪的事情。我想创建一个文件/sys/class/gpio只是在四处闲逛,没有特殊原因),但是我得到了Permission Denied。以下是一些信息。

pi@raspberrypi:/sys/class/gpio $ groups
pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi
pi@raspberrypi:/sys/class/gpio $ ls -ld .
drwxrwx--- 2 root gpio 0 May  6 00:28 .
pi@raspberrypi:/sys/class/gpio $ touch somefile
touch: cannot touch 'somefile': Permission denied

如您所见,我属于gpio组,该组具有directory的写许可权/sys/class/gpio

所以问题是,/sys/class/gpio即使我所属的组具有权限,为什么也无法创建新文件。

pi用户添加到组gpio后,我尝试重新登录并重新启动,而这是几天前的事。

操作系统:树莓拉伸

试过了 newgrp newgrp


您是否尝试过使用newgrp gpio命令(然后使用touch ...)?
罗密欧·尼诺夫

@RomeoNinov刚刚尝试过,请参见编辑。
查尔斯

1
我们看到了。但是您已经发布了图片。请避免这种情况,并在可用时发布文本版本。
LinuxSecurityFreak '18

@Vlastimil好吧,下次我会注意的(原始文本现在不见了)。谢谢。
查尔斯

Answers:


19

/sys目录是特殊的。您不能只是四处寻找和创建文件

维基百科摘录

现代Linux发行版包括一个/sys目录作为虚拟文件系统(sysfs相当于/proca procfs),该目录存储并允许修改连接到该系统的设备,而许多传统的UNIX和Unix-like操作系统/sys用作该文件系统的符号链接。内核源代码树。

条目/sys由内核和驱动程序创建;您不能仅从命令行创建它们。您可以以root用户身份进行编辑,但是通常无法从用户空间中创建新文件,除非加载内核模块或以其他方式安装驱动程序或修改内核。


只是注意到,即使我是root也无法创建文件。这解释了很多。谢谢。
查尔斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.