опции монтирования для udev-rule смонтированы ext3 fs on14.04.3

Я хочу выйти за пределы этого отличного решения от @ A.B. который позволяет автоматически монтировать данный съемный FS3 ext3 с использованием правила udev. В частности, я хотел бы указать несколько вариантов монтирования: «nodev,noexec,x-gvfs-show», предпочтительно в пределах определенного правила udev, используемого для его монтирования, поскольку он имеет дело с одним очень конкретным физическим носителем.

Без опции заданный, громкость устанавливается так:

$ cat /proc/mounts | grep -e MYLABEL
/dev/mmcblk0p1 /mnt/MYLABEL ext3 rw,relatime,data=ordered 0 0

Чтобы указать параметры монтирования, я попытался расширить правило udev из предыдущего решения так:

KERNEL=="mmc*", ENV{ID_FS_UUID}=="______", RUN+="/usr/local/sbin/mount_by.sh '%E{ID_FS_LABEL}' '%E{ID_FS_UUID}' 'nodev,noexec,x-gvfs-show'"

где /usr/local/sbin/mount_by.sh включает в себя:

#!/bin/sh
/bin/mount "/dev/disk/by-uuid/$2" "/mnt/$1" -o "$3"

Вышеупомянутое прерывается тихо, поскольку параметры, установленные корневым монтированием, кажутся отклоненными, а громкость (SD-карта) бесшумно монтируется на /media/MYUSER/MYLABEL.

[d8 ] mount

Что я пытался сделать:

Многие сообщения, которые я видел, касаются опции mount (s ) трудности спецификации при использовании udev (например, solution , 2, ...) остаются без ответа.

2 имеет дело с опцией GVFS x-gvfs-show, используемой в сочетании с правилами udev, когда установленный том должен отображаться под Devices в графическом интерфейсе Nautilus и не- пользователь root должен иметь возможность размонтировать его. Чтобы, по крайней мере, охватить этот последний аспект, я вернул НЕ указывать параметр монтирования в моих правилах udev, но добавил запись /etc/fstab, довольно уродливый взломать, учитывая тот факт, что сохраняю действующее правило udev для одного и того же объема uuid параллельно , Тем не менее, я добавил:

UUID=_________ /mnt/MYLABEL ext3 nodev,noexec,x-gvfs-show 0 2

FS монтируется, но хотя он появляется в соответствии с назначением в Nautilus, cat /proc/mounts | grep -e MYLABEL дает тот же результат, что и раньше ... ie опции nodev,noexec кажутся беспечно проигнорированными .

Не слишком удивительно, что я также получаю сообщение об ошибке на экране:

Не удалось смонтировать MYLABEL. Устройство / dev / mmcblk0p1 уже установлено на `/ mnt / MYLABEL '.

Кто-нибудь думал кто-нибудь?

Кто-нибудь думал кто-нибудь? Пожалуйста, постарайтесь предоставить канонический ответ, который может служить этому OP и всем людям, заинтересованным в указании mount-options с помощью правила udev. Если это невозможно, объясните причину и обеспечите жизнеспособное обходное решение. Приветствия.

1
задан 13 April 2017 в 15:37

2 ответа

Вы не должны использовать правило udev для этого. Во-первых, это противоречит udisks: они оба пытаются монтировать диск в разных местах, и побеждает кто-то. Кроме того, когда вы закончите работу с диском, вы хотите иметь возможность щелкнуть правой кнопкой мыши по нему в gui и извлечь его, но вы не можете этого сделать, если правило udev смонтировало его.

Если вы хотите он монтируется с настраиваемыми параметрами или настраиваемым местоположением, вам просто нужно добавить запись в / etc / fstab для него и убедиться, что вы включили опцию «пользователь», которая позволяет пользователям без root автоматически монтировать их с помощью udisks, а затем они могут позже размонтировать его.

2
ответ дан 23 May 2018 в 16:47
  • 1
    Да, очевидно, является конфликтом. Если вы посмотрели предыдущее решение на @ A.B. вы увидите, что правило udev необходимо для установки SD-карты на /mnt/MYLABEL только root, - в слоте SD. Я не могу разрешить пользователям монтировать, отключать этот носитель. Тот факт, что указание записи в fstab (как сообщалось) с опцией x-gvfs-show позволяет любому пользователю, чтобы вывести карту из nautilus, было просто стоп-ловом, ожидая помощи. В идеале я хотел бы получить RID из записи fstab, указав параметры в моем udev правиле. Вы подтверждаете, что это НЕ возможно? – Cbhihe 26 October 2015 в 22:22
  • 2
    @Cbhihe, правильно .. это невозможно, так как udisks попытается установить его. Также, если вы не позволяете пользователю размонтировать его, тогда они просто выдернут его и вызовут всевозможные проблемы. Пусть udisks выполняют свою работу и заботятся о монтаже и размонтировании. – psusi 26 October 2015 в 22:32
  • 3
    Извините, у меня есть строгие ограничения, и я не могу позволить пользователям монтировать или отключать, mount не должен быть включен / включен (MYUSER / MYLABEL, но on / mnt / MYLABEL, параметры должны быть установлены, и монтирование должно происходить автоматически при вставке SD На самом деле, мой вопрос лучше всего обобщается как », как указать опцию mount OPTIONS внутри правила udev? " В вашем ответе это не рассматривается. – Cbhihe 26 October 2015 в 23:20
  • 4
    @Cbhihe, так что вы хотите, чтобы ваш пользователь вставлял карту cd ... используйте ее .. затем вытащите ее, не отключая ее? Это не имеет никакого смысла. – psusi 27 October 2015 в 05:16
  • 5
    Вы, конечно, правы. Но в этом случае раздел должен был быть установлен с их именем. Поэтому udev. – A.B. 27 October 2015 в 09:40

Чтобы выполнить ответ A.B. и для записи:

Параметры монтирования могут быть указаны внутри правил udev ... при определенных условиях. Когда я запускал тесты, я заметил, что некоторые опции:

приняты и соблюдены: ro, rw, nodev, noexec приняты и проигнорированы: comment=x-gvfs-show, не приняты, в этом они нарушают правило udev: mode=0XYZ, x-gvfs-show

В последнем случае нарушение правила udev означает udisk автоматически монтирует среду с параметрами по умолчанию.

] Тег udev MODE="0550", вы могли бы подумать, что он эквивалентен вызову опций Mount (ro) mount, игнорируется. Обратите внимание, что указание ro или rw не отображается в Nautilus, как вы ожидали. Странные разрешения, отображаемые Nautilus, остаются неизменными, тогда как попытка записи, если установлено ro, приведет к предупреждению и отказу в разрешении на запись. Bug?

И последнее, но не менее важное: может упорядочить запись /etc/fstab в то же время, когда вы укажете правило монтирования udev для данного устройства. Это приведет к конфликту и сообщению об ошибке, поскольку udisk будет конкурировать с вашим udev правилом для установки устройства. В этом нет ничего удивительного. Устройство все равно будет смонтировано (в моем случае, по правилу udev - пожалуйста, не спрашивайте, почему ...) и даже можно получить доступ.

HTH немного.

1
ответ дан 23 May 2018 в 16:47

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

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