Форум Зейского сообщества любителей ОС Linux и Unix
Тематические обсуждения *nix => Железо и аппаратные проблемы => Тема начата: Vena от Четверг, 02 Июня, 2011, 18:13:35
-
Как правильно и где задать права на устройства? Допустим для использования захвата по IEEE1394 нужно устройству установить в правах, что им может пользоваться пользователь. После перезагрузки права опять только рута, так как устройство (файл) создан заново. Хотелось бы после каждой загрузки обращаться к устройству без предварительных корректировок прав!
-
Есть два способа и один комментарий, которые "с ходу" пришли в голову:
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 куда вносятся все реальные пользователи, видимо это связано с возможностью работы с подключаемыми устройствами.
-
В очередной раз пригодился этот совет, спасибо. После установки нового Минта 16 вебкамера (постоянно установленная на компе) имела права 600 владелец root, группа root.
В /etc/rc.local я сделал нужные изменения и права при старте системы поменялись на нужные. Вот есть еще один вопрос. Где и как установить для /etc/video0 еще и другую группу, например video.
-
Где и как установить для /etc/video0 еще и другую группу, например video.
Не понял сути вопроса.
-
пардон, очепятка :)
Где и как установить для /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
-
пардон, очепятка :)
Где и как установить для /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- говорят о том, что любой пользователю может читать\писать в устройство. Смысла загонять его (устройство) в группу вроде как нет. Или я чего-то снова не понял?