open ("/dev/mem", O_RDWR) не из-под root

Модератор: Модераторы разделов

П-нер
Сообщения: 31

open ("/dev/mem", O_RDWR) не из-под root

Сообщение П-нер »

В программе (драйвер нек. карты) выполняется команда:
int mem_fd = open ("/dev/mem", O_RDWR);
Программу надо запустить от пользователя. Делаю доступ 04755, и получаю errno = 13 ( Permission denied ). Можно ли это как-то обойти?
Хочу заметить, что если владелец не root и доступ 04755, то errno = 13 выдается даже если программа запускается из-под root'а.
Спасибо сказали:
Аватара пользователя
helicopter
Сообщения: 324
Статус: Комсомолец
ОС: Gentoo Linux

Re: open ("/dev/mem", O_RDWR) не из-под root

Сообщение helicopter »

(П-нер @ Aug 29 2006, в 16:21) писал(а):Хочу заметить, что если владелец не root и доступ 04755, то errno = 13 выдается даже если программа запускается из-под root'а.

Дык если стоит суид-бит, то при запуске выставляется идентификатор владельца файла ;)
Выбирая Linux, вы развиваете цивилизацию. Выбирая windows, вы набиваете кошелёк забугорному буржую...
Спасибо сказали:
d_n_k
Сообщения: 636
ОС: Gentoo GNU/Linux

Re: open ("/dev/mem", O_RDWR) не из-под root

Сообщение d_n_k »

драйвер? это ж модуль ядра как он не от root'а может работать?

или ты его в userspace поместил?
все сказанное есть имхо...
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: open ("/dev/mem", O_RDWR) не из-под root

Сообщение Zeus »

d_n_k писал(а):
06.09.2006 22:33
драйвер? это ж модуль ядра как он не от root'а может работать?

Если это модуль ядра, то причём тут пользователи? Он же не от имени пользователя работает и с его привелегиями.
Спасибо сказали:
Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Re: open ("/dev/mem", O_RDWR) не из-под root

Сообщение agbr »

у процесса есть так назывемый uid, и euid ( эфективный uid )
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали: