В моей /dev
папке я хотел бы, чтобы следующие файлы были доступны для чтения и записи для пользователя:
/dev/ttyUSB0
/dev/gpib0
Как мне сделать это без использования chgrp
? Я могу редактировать, /etc/udev/rules.d
но я не знаю синтаксис.
permissions
devices
udev
Комплект
источник
источник
Ответы:
Как правила udev структурированы
Для устройств, попадающих в подсистему tty, вы можете установить их группу следующим образом:
Обратите внимание, что, как и в обычном программировании,
==
это тест на равенство, а=
задание. Таким образом, вышеприведенный оператор переводится как «еслиSUBSYSTEM=="tty"
затем назначить»GROUP="dialout"
. Оператор может иметь несколько тестов, которые объединяются и объединяются, и несколько назначений.Если вы хотите изменить разрешения на чтение-запись-выполнение, назначьте MODE вместо GROUP, где MODE следует обычной восьмеричной записи Unix, например,
MODE="0660"
дает владельцу и группе разрешения на чтение-запись.man udev
есть все детали.Вы можете найти много примеров таких правил в
/lib/udev/rules.d/91-permissions.rules
Как добавить правило udev в вашу систему
После того, как вы определились с тем, каким вы хотите, чтобы ваше правило было, его достаточно просто добавить. В производной от Debian системе перейдите в каталог
/etc/udev/rules.d
и создайте файл. Файлы запускаются в порядке сортировки. Итак, чтобы сделать ваш файл правил последним для чтения, переопределяя более ранние, попробуйте имя как99-instruments.rules
. Затем поместите ваши правила в этот файл, по одному в строке. (Если необходимо, строки могут быть расширены путем добавления обратной косой черты в конце строки, как в shell.)Итак, если вы хотите изменить группу и разрешения на tty устройствах, ваш файл
/etc/udev/rules.d/99-instruments.rules
может состоять из одной строки:Чтобы убедиться, что ваш новый файл имеет обычные права доступа:
После того, как вы создали свой файл, udevd может автоматически прочитать его. Если нет, вы можете заставить его перечитать свои файлы с помощью:
Подробнее о том, как udev классифицирует устройства
Если вы хотите лучше контролировать, какие устройства реагируют на какие правила, вы можете узнать больше о том, как udev видит ваши устройства, просматривая / sys /. На данный момент у меня нет доступа к машине с ttyUSB или HPIB, поэтому давайте сделаем пример с диском sda. Запустить:
Это дает много информации, которая выглядит следующим образом:
Все эти строки находятся в форме, подходящей для использования в качестве
if
положений в правилах. Так, например, чтобы изменить владельца на всех блочных устройствах, помеченных как несъемные, мы бы использовали правило:С помощью информации
udevadm
можно разработать правила, которые могут быть нацелены конкретно на интересующие устройства.источник
Думаю, я бы предложил сделать правило немного более строгим, чем правило Джона. Например, создайте файл, такой как
/etc/udev/rules.d/99-tty-dialout.rules
:Вы можете использовать,
udevadm
чтобы определить устройстваSUBSYSTEM==
иKERNEL==
значения. Например:источник