Devfs.rules

Почему-то с правами для группы оператор на запись не печатает... Пока не поставил 0777

ls /dev/pty*

до и после запуска в X-сессии очередного эмулятора терминала: можно будет увидеть, что число файлов типа pty* после вырастет на единицу. Файлы таких устройств, как диски в оперативной памяти (memory disks), о которых пойдет речь ниже, или программные RAID-массивы, будущие предметом следующего раздела, также создаются сразу после их конфигурирования.

Так, многие мультимедийные приложения из портов FreeBSD (типичный пример - знаменитый mplayer) при проигрывании компакт-дисков или VideoCD желают, чтобы соответствующее устройство носило имя /dev/cdrom. Во Free же по умолчанию такого устройства нету - привод компакт-дисков именуется /dev/acd0 (или /dev/acd1).

Проблема обходится легко - редактированием файла /etc/devfs.conf, задающего конфигурацию демона "обратной совместимости" файловой системы устройств - devd. Достаточно внести в этот файл строку вида link   acd0    cdrom

EXAMPLES To make all the partitions of da(4) devices readable and writable by    their owner and the “usb” group, the following rule may be used:

[localrules=10] add path 'da*s*' mode 0660 group usb

The first line declares and starts a new ruleset, with the name localrules and the number 10.

To make all the ulpt(4) devices accessible to their owner and the “usb” group, a similar rule may be used:

add path 'ulpt*' mode 0660 group usb

I have a similar problem..

Looking at /etc/devd/uath.conf I see.. notify 100 { match "system"         "USB"; match "subsystem"      "DEVICE"; match "type"           "ATTACH"; match "vendor"         "0x168c"; match "product"        "0x0002"; action "/usr/sbin/uathload -d /dev/$cdev"; };

Also, I have devd entries for NUT (UPS software) which look like so.. attach 100 { match "vendor"		"0x0463"; match "product"		"0xffff"; action "chown :uucp /dev/$device-name; chmod 660 /dev/$device-name";

Принтер USB-принтер
ulpt is autoloaded by /etc/devd/usb.conf

Для изменения на последующие загрузки требуется выполнить следующее:

echo '[printer=5]' >> /etc/devfs.rules echo 'add path "ulpt*" mode 0666 group operator' >> /etc/devfs.rules echo 'devfs_system_ruleset="printer"' >> /etc/rc.conf

devfs rule show 100 path ulpt* group operator mode 666

Правила без перезагрузки системы почему-то не заработали. /etc/rc.d/devfs restart - не помогает

Флешка USB флеш-диск
Добавляем правило /etc/devfs.rules (devfs.conf учитывается только при загрузке ОС и действует на устройства, подключенные на тот момент)

vi /etc/devfs.rules

[localrules=5] add path 'da*' mode 0660 group operator

А если несколько правил в devfs.rules нужно, то их в одну секцию просто надо поместить.

echo 'devfs_system_ruleset="localrules"' >> /etc/rc.conf

Перечитать файл с правилами (?)

/etc/rc.d/devfs restart

Проверить правила

devfs rule show

100 path da* group operator mode 660

Веб-камера
devfs_system_ruleset="system" >> /etc/rc.conf

/etc/devfs.rules:

[system=10] add path 'video*' mode 0660 group operator

Себя добавить в группу operator

[localrules=10] add path 'da*s*' mode 0660 group operator add path 'pass*' mode 0660 group operator add path 'cd*' mode 0660 group operator

После данных манипуляций появится новое устройство /dev/video0. Настраиваем права доступа к этому устройству для запуска не только под root:

Создаем группу video

Меняем конфигурационные файлы:

/etc/devfs.conf

own    /dev/video*     root:video perm   /dev/video*     0660

/etc/devfs.rules

[system=10] ... add path '/dev/video*' mode 660

Меняем права доступа к /dev/video0


 * 1) chown root:video /dev/video0
 * 2) chmod 0660 /dev/video0