Автор Тема: права на устройства  (Прочитано 6850 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Vena

  • Собеседник
  • ****
  • Сообщений: 375
    • Просмотр профиля
права на устройства
« : Четверг, 02 Июня, 2011, 18:13:35 »
Как правильно и где задать права на устройства? Допустим для использования захвата по IEEE1394 нужно устройству установить в правах, что им может пользоваться пользователь. После перезагрузки права опять только рута, так как устройство (файл) создан заново. Хотелось бы после каждой загрузки обращаться к устройству без предварительных корректировок прав!

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
Re: права на устройства
« Ответ #1 : Суббота, 04 Июня, 2011, 06:05:30 »
Есть два способа и один комментарий, которые "с ходу" пришли в голову:
1. Если устройство статическое, так если его файл присутствует в системе уже при загрузке, то можно обойтись командами chown и chmod в скрипте rc.local.
Пример задания прав при загрузке через скрипт /etc/rc.local  :
открываем сей файл и добавляем свои команды после строки #!/bin/bash :
#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
chmod 777 /dev/tty2

exit 0
Для Debian Lenny, команду нужно вставить перед строкой, где содержится exit 0

Скрипт rc.local исполняется в самую последнюю очередь, когда уже вся система загружена.

2. Первый вариант не сработает, если файл устройства динамический, так если появляется только когда устройство физически соединено с компом. В этом случае поможет udev.
В каталоге /etc/udev и /etc/udev/rules.d в файлах *.rules содержатся правила для именования устройств. Когда интеллектуальное устройство соединено с компом, оно передаёт свои данные (код производителя, и прочие), а udev выполняет какой-либо скрипт или просто назначает имена или права. Возможно где-то в файлах правил, есть строки для назначения прав IEEE1394 устройствам. Надо их глянуть и попробовать модифицировать. Что нужно сделать конкретно - не подскажу, работал только с HAL, когда подключал свой планшет, а с udev ещё не работал. Много информации на эту тему есть на сайтах сообществ ubuntu: https://help.ubuntu.com/ и http://help.ubuntu.ru/

Иногда права для устройства создаются udev`ом применительно к какому-либо пользователю. Например звуковые устройства имеют права rwx для владельца рута, и rwx для группы audio. В этом случае, для работы пользователя user1 и user2 со звуковой подсистемой, следует внести их в группу audio, путём модификации /etc/group:
$ cat /etc/group
...
audio:x:29:user1,user2
...

В Debian Lenny есть ещё группа plugdev куда вносятся все реальные пользователи, видимо это связано с возможностью работы с подключаемыми устройствами.

*nix - свобода мысли, свобода творчества!

Vena

  • Собеседник
  • ****
  • Сообщений: 375
    • Просмотр профиля
Re: права на устройства
« Ответ #2 : Суббота, 01 Февраля, 2014, 07:34:47 »
В очередной раз пригодился этот совет, спасибо. После установки нового Минта 16 вебкамера (постоянно установленная на компе) имела права 600 владелец root, группа root.
В  /etc/rc.local я сделал нужные изменения и права при старте системы поменялись на нужные. Вот есть еще один вопрос. Где и как установить для /etc/video0 еще и другую группу, например video.

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
Re: права на устройства
« Ответ #3 : Суббота, 01 Февраля, 2014, 15:02:55 »
Где и как установить для /etc/video0 еще и другую группу, например video.
Не понял сути вопроса.
*nix - свобода мысли, свобода творчества!

Vena

  • Собеседник
  • ****
  • Сообщений: 375
    • Просмотр профиля
Re: права на устройства
« Ответ #4 : Суббота, 01 Февраля, 2014, 17:48:16 »
пардон, очепятка :)
Где и как установить для /dev/video0 еще и другую группу, например video.
Типа такого:
crw-rw-rw-  1 root video     81,   0 февр.  1 22:29 video0У меня сейчас
crw-rw-rw-  1 root root     81,   0 февр.  1 22:29 video0

vovka

  • Global Moderator
  • Про
  • *****
  • Сообщений: 787
    • Просмотр профиля
    • www.nixzeya.ru.net
Re: права на устройства
« Ответ #5 : Понедельник, 03 Февраля, 2014, 12:22:05 »
пардон, очепятка :)
Где и как установить для /dev/video0 еще и другую группу, например video.
Типа такого:
crw-rw-rw-  1 root video     81,   0 февр.  1 22:29 video0У меня сейчас
crw-rw-rw-  1 root root     81,   0 февр.  1 22:29 video0
Снова не понял.
Устройство не может принадлежать двум группам: или пользователю, или одной группе, или всем.
Если же всё-же нужно сделать доступ двум пользователям в разных группах, то эти пользователи заносятся в несколько групп одновременно, например, в своей группе и группе устройства.
В указанном выше примере, права crw-rw-rw- говорят о том, что любой пользователю может читать\писать в устройство. Смысла загонять его (устройство) в группу вроде как нет. Или я чего-то снова не понял?
*nix - свобода мысли, свобода творчества!