15 мая 2009 г. 15:59 пользователь vanessa <vanessa@rabitsa.org.ua> написал:
Есть файл /dev/port владелец root, группа kmem, права 660 . добавил себя
в эту групу
# adduser vanessa kmem
для верности перезапустил комп.
но вот открить его никак не получається
fp=open("/dev/port",O_RDWR);
возваращает -1. и только с правами суперпользователя значение больше 0.
как и где поколдовать чтоб можна было его все-таки открыть ?
Группа kmem имеет право только на чтение этого устройства.
Можно поколдовать над строкой в файле /etc/udev/rules.d/91-permissions.rules
KERNEL=="port", MODE="0640", GROUP="kmem"
Задать права доступа для группы и включить пользователя, под которым
вы тестируете программу в группу kmem. Или дать права на запись всем.
В первом сучае строчка примет вид
KERNEL=="port", MODE="0660", GROUP="kmem"
А во втором
KERNEL=="port", MODE="0666", GROUP="kmem"
ИМХО первый вариант предпочтительнее.
После смены разрешений нужно перезапустить udev:
/etc/init.d/udev restart