LINUX.ORG.RU

Не могу открыть /dev/mem

 


0

1

запускаю программу, получаю в ответ Failed to open /dev/mem, try checking permissions.

под рутом программа нормально запускается. Нужно запустить под юзером. Смотрю владельцев

pi@raspberrypi:~/$ ls -l /dev/mem crw-r----- 1 root kmem 1, 1 Nov 2 11:29 /dev/mem

добавил пользователя в группу kmem

pi@raspberrypi:~/$id pi uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),15(kmem),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(input),108(netdev),999(spi),998(i2c),997(gpio)

всё равно под юзером «Failed to open /dev/mem». Есть возможность не из под рута открыть на чтение /dev/mem?

ps программа открывает /dev/mem сишным кодом open(«/dev/mem», O_RDWR | O_SYNC);

pps как выполнять reboot без прав root?


открываешь файл на чтение и запись (O_RDWR), хотя файл для группы доступен только на чтение /dev/mem crw- r-- --- и вполне естественно получаешь еррор.
ты уж определись :)

pfg ★★★★★
()

Прочитал заголовок, подумал, что у тебя амнезия :)

как выполнять reboot без прав root?

А никак. Права рута нужны.

Можно, например, в /etc/sudoers юзера добавить, а потом просить

sudo -u root reboot

slamd64 ★★★★★
()
Последнее исправление: slamd64 (всего исправлений: 2)
Ответ на: комментарий от hippi90

блин.... слона не заметил. Поправил права у /dev/mem

pi@raspberrypi:~/GatewayVoda $ ls -l /dev/mem crw-rw---- 1 root kmem 1, 1 Nov 2 11:29 /dev/mem

запускаю прогу, опять вижу

Failed to open /dev/mem, try checking permissions. Failed to map the physical GPIO registers into the virtual memory space. bcm2835_init: Unable to open /dev/mem: Operation not permitted

juvf
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.