Сервер Ubuntu 17.04 - udev правило (правила) для Blu-ray Drive

Я пытаюсь создать a udev правило, которое позволит некорневым пользователям монтировать диск, вставленный в Blu-ray Drive на произвольной точке монтирования.

Так как диск является постоянным, но диски не, я не использую /etc/fstab - мое понимание, которое могло быть неправильным, является этим /etc/fstab не подходит для этой ситуации.

Я создал названный файл 10-bluray.rules в моем некорневом доме и symlinked это к /etc/udev/rules.d/10-bluray.rules. Правило, что я определил:

ACTION=="change", SUBSYSTEM=="block", KERNEL=="sr[0-9]*", ENV{ID_CDROM_MEDIA_STATE}=="complete", GROUP="users"

Все же после выполнения sudo udevadm control --reload-rules, и извлечение и вставка диска, моего /dev все еще похож на это:

brw-rw---- 1 root cdrom    11,   0 2017-09-09 00:52 sr0
lrwxrwxrwx 1 root root           3 2017-09-09 00:52 dvdrw -> sr0
lrwxrwxrwx 1 root root           3 2017-09-09 00:52 dvd -> sr0
lrwxrwxrwx 1 root root           3 2017-09-09 00:52 cdrw -> sr0
lrwxrwxrwx 1 root root           3 2017-09-09 00:52 cdrom -> sr0

С набором группы к cdrom вместо users как указано в udev правило.

Я даже сверился sudo udevadm test /dev/sr0 и это не указывает ни на какие проблемы с правилами:

=== trie on-disk ===
tool version:          232
file size:         8775171 bytes
header size             80 bytes
strings            1849483 bytes
nodes              6925608 bytes
Load module index
Found container virtualization none
timestamp of '/etc/systemd/network' changed
timestamp of '/lib/systemd/network' changed
Parsed configuration file /lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
Reading rules file: /etc/udev/rules.d/10-bluray.rules
Reading rules file: /lib/udev/rules.d/40-vm-hotadd.rules
Reading rules file: /lib/udev/rules.d/50-apport.rules
Reading rules file: /lib/udev/rules.d/50-firmware.rules
Reading rules file: /lib/udev/rules.d/50-udev-default.rules
Reading rules file: /etc/udev/rules.d/51-android.rules
Reading rules file: /lib/udev/rules.d/55-dm.rules
Reading rules file: /lib/udev/rules.d/56-lvm.rules
Reading rules file: /lib/udev/rules.d/60-block.rules
Reading rules file: /lib/udev/rules.d/60-bridge-network-interface.rules
Reading rules file: /lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /lib/udev/rules.d/60-crda.rules
Reading rules file: /lib/udev/rules.d/60-drm.rules
Reading rules file: /lib/udev/rules.d/60-evdev.rules
Reading rules file: /lib/udev/rules.d/60-libgphoto2-6.rules
Reading rules file: /lib/udev/rules.d/60-libsane.rules
Reading rules file: /lib/udev/rules.d/60-open-vm-tools.rules
Reading rules file: /lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /lib/udev/rules.d/60-qemu-system-common.rules
Reading rules file: /lib/udev/rules.d/60-serial.rules
Reading rules file: /lib/udev/rules.d/60-tvbutler-perms.rules
Reading rules file: /lib/udev/rules.d/60-vlan-network-interface.rules
Reading rules file: /lib/udev/rules.d/61-persistent-storage-android.rules
Reading rules file: /lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /lib/udev/rules.d/64-btrfs.rules
Reading rules file: /lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /lib/udev/rules.d/66-snapd-autoimport.rules
Reading rules file: /lib/udev/rules.d/69-bcache.rules
Reading rules file: /lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /lib/udev/rules.d/69-libmtp.rules
Reading rules file: /lib/udev/rules.d/69-lvm-metad.rules
Reading rules file: /lib/udev/rules.d/70-android-tools-adb.rules
Reading rules file: /lib/udev/rules.d/70-android-tools-fastboot.rules
Reading rules file: /lib/udev/rules.d/70-debian-uaccess.rules
Reading rules file: /lib/udev/rules.d/70-iscsi-network-interface.rules
Reading rules file: /lib/udev/rules.d/70-mouse.rules
Reading rules file: /lib/udev/rules.d/70-power-switch.rules
Reading rules file: /etc/udev/rules.d/70-snap.core.rules
Reading rules file: /lib/udev/rules.d/70-touchpad.rules
Reading rules file: /lib/udev/rules.d/70-uaccess.rules
Reading rules file: /lib/udev/rules.d/71-power-switch-proliant.rules
Reading rules file: /lib/udev/rules.d/71-seat.rules
Reading rules file: /lib/udev/rules.d/71-u-d-c-gpu-detection.rules
Reading rules file: /lib/udev/rules.d/73-seat-late.rules
Reading rules file: /lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /lib/udev/rules.d/73-usb-net-by-mac.rules
Reading rules file: /lib/udev/rules.d/75-net-description.rules
Reading rules file: /lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /lib/udev/rules.d/78-graphics-card.rules
Reading rules file: /lib/udev/rules.d/78-sound-card.rules
Reading rules file: /lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /lib/udev/rules.d/80-docker.io.rules
Reading rules file: /lib/udev/rules.d/80-drivers.rules
Reading rules file: /lib/udev/rules.d/80-ifupdown.rules
Reading rules file: /lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /lib/udev/rules.d/80-snappy-assign.rules
Reading rules file: /lib/udev/rules.d/80-udisks2.rules
Reading rules file: /lib/udev/rules.d/85-hdparm.rules
Reading rules file: /lib/udev/rules.d/85-keyboard-configuration.rules
Reading rules file: /lib/udev/rules.d/85-regulatory.rules
Reading rules file: /lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /lib/udev/rules.d/90-console-setup.rules
Reading rules file: /lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /lib/udev/rules.d/99-systemd.rules
Reading rules file: /lib/udev/rules.d/99-vmware-scsi-udev.rules
rules contain 393216 bytes tokens (32768 * 12 bytes), 31005 bytes strings
21448 strings (173557 bytes), 18376 de-duplicated (145625 bytes), 3073 trie nodes used
unable to open device '/sys/dev/sr0'
Unload module index
Unloaded link configuration context.

Мое понимание udev обработка правила состоит в том что правила в /etc/udev/rules.d/ переопределите любые правила, определенные в /lib/udev/rules.d/ (который является, где большинство их, по-видимому) - разве, который не корректен?

В конечном счете моя цель состоит в том, чтобы позволить пользователю выходить mount /dev/sr0 /<blah>/<blah> без использования sudo - это даже возможно?

1
задан 9 September 2017 в 09:25

1 ответ

  • AFAIK, корректный способ предоставить доступ обычных пользователей к CD-ROM путем добавления их к cdrom группа.

    1. Добавьте существующих пользователей к cdrom группа
    2. Добавить cdrom группа группам по умолчанию useradd в /etc/default/useradd файл. Ссылка: Причины позади групп по умолчанию и пользователей на Linux
  • Если Вы все еще хотите попробовать udev подход.

    Да правила в /etc переопределите тех в /lib но только те, которые соответствуют тому же имени файла в обеих папках. Таким образом, все другие файлы с уникальным именем не опущены.

    1. Мне, с помощью очень младшего разряда 10- не хорошо для пользовательских пользовательских правил. Любое правило с >10- (алфавитно-цифровой порядок), которые устанавливают GROUP также для того же узла переопределит Ваше пользовательское правило. Так попытайтесь изменить его на 99- или 90-по крайней мере.

    2. Для ACTION=="change", проверьте, инициировано ли это событие, когда CD-привод добавляется, если он имеет опцию замены в горячем режиме, с помощью udevadm monitor. Иначе использовать ACTION=="add" вместо этого.

0
ответ дан 8 December 2019 в 04:05

Другие вопросы по тегам:

Похожие вопросы: