Есть разрешение группы, но не удается создать файл

10

Я нашел странную вещь во время игры с pi3B. Я хочу создать файл /sys/class/gpio( просто возиться, без особых причин ), но я получаю разрешение на отказ . Ниже приведена некоторая информация.

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, и у группы есть разрешение на запись в каталог /sys/class/gpio.

Таким образом, вопрос в том, почему я не могу создавать новые файлы, /sys/class/gpioдаже если у группы, в которой я состою, есть разрешение.

Я попытался relogin и перезагрузиться после добавления пользователя pi в группу gpio, и это несколько дней назад.

ОС: распбиан стрейч

пытался newgrp newgrp

Чарльз
источник
Вы пробовали с newgrp gpioкомандой (а потом touch ...)?
Ромео Нинов
@RomeoNinov только что попробовал, см. Редактировать.
Чарльз
1
Мы видим, что. Но вы разместили изображение. Пожалуйста, избегайте этого и публикуйте текстовую версию, когда это возможно.
LinuxSecurityFreak
@Vlastimil Хорошо, я обращу внимание на это в следующий раз (оригинальный текст ушел сейчас). Спасибо.
Чарльз

Ответы:

19

/sysкаталог особенный. Вы не можете просто возиться и создавать файлы

Отрывок из Википедии :

Современные дистрибутивы Linux включают /sysкаталог в качестве виртуальной файловой системы ( sysfsсравнимый с /proc, то есть a procfs), который хранит и позволяет модифицировать устройства, подключенные к системе, в то время как многие традиционные UNIX и Unix-подобные операционные системы используют /sysв качестве символической ссылки на исходное дерево ядра.

Записи в /sysсоздаются ядром и драйверами; вы не можете просто создать их из командной строки. Вы можете редактировать некоторые из них как root, но вы, как правило, не можете создавать новые из пространства пользователя, кроме как путем загрузки модулей ядра или установки драйверов или модификации ядра.

LinuxSecurityFreak
источник
Просто заметил, что я не могу создавать файлы, даже когда я root. Это многое объясняет. Спасибо.
Чарльз