Posiadaj uprawnienia grupy, ale nie możesz utworzyć pliku

10

Znalazłem dziwną rzecz podczas gry z pi3B. Chcę utworzyć plik /sys/class/gpio( po prostu grzebać, bez konkretnego powodu ), ale dostaję odmowę zezwolenia . Poniżej znajduje się kilka informacji.

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

Jak widać, jestem w grupie gpio, a grupa ma uprawnienia do zapisu katalogu /sys/class/gpio.

Pytanie brzmi: dlaczego nie mogę tworzyć nowych plików, /sys/class/gpionawet jeśli grupa, do której należę, ma uprawnienia.

Próbowałem ponownie zalogować się i zrestartować po dodaniu użytkownika pi do grupy gpio i to kilka dni temu.

OS: raspbian stretch

wypróbowany newgrp newgrp

Charles
źródło
Czy próbowałeś z newgrp gpiopoleceniem (i wtedy touch ...)?
Romeo Ninov
@RomeoNinov właśnie próbował, patrz Edycja.
Charles
1
Widzimy to. Ale opublikowałeś zdjęcie. Unikaj tego i opublikuj wersję tekstową, jeśli jest dostępna.
LinuxSecurityFreak
@Vlastimil OK Zwrócę uwagę na to następnym razem (oryginalnego tekstu już nie ma). dzięki.
Charles

Odpowiedzi:

19

/syskatalog jest wyjątkowy. Nie możesz po prostu grzebać i tworzyć plików

Fragment Wikipedii :

Współczesne dystrybucje Linuksa zawierają /syskatalog jako wirtualny system plików ( sysfsporównywalny z /proc, który jest a procfs), który przechowuje i umożliwia modyfikację urządzeń podłączonych do systemu, podczas gdy wiele tradycyjnych systemów operacyjnych typu UNIX i Unix używa /sysjako symbolicznego łącza do drzewo źródeł jądra.

Wpisy /syssą tworzone przez jądro i sterowniki; nie można ich po prostu utworzyć z wiersza polecenia. Możesz edytować niektóre jako root, ale generalnie nie możesz tworzyć nowych z przestrzeni użytkownika, chyba że ładujesz moduły jądra lub w inny sposób instalujesz sterowniki lub modyfikujesz jądro.

LinuxSecurityFreak
źródło
Zauważyłem, że nie mogę tworzyć plików, nawet gdy jestem rootem. To wiele wyjaśnia. Dzięki.
Charles