Применение разрешений к USB-накопителю NTFS при автоматическом монтировании

У меня есть внешний жесткий диск USB, на который моя программа резервного копирования должна записывать резервные копии. Программа резервного копирования требует определенных разрешений. Я понимаю, что NTFS в Ubuntu не позволяет мне устанавливать разрешения в стиле unix для каталогов или файлов ... Я должен применить необходимые разрешения к корню жесткого диска во время монтирования. Я хочу, чтобы этот привод и дальше монтировался автоматически. Я узнал о правилах udev и пытался их использовать. Однако я видел серьезные ошибки, когда привод становился недоступным.

Для сопоставителей udev это работает: ATTRS {vendor} == "ASMT", ATTRS {model} == "2105" . Но я не уверен во всем после этого. Изначально мне удалось изменить название группы на / dev / sd ?? , но (а) я не могу воспроизвести его сейчас и (б) когда это сработало, все равно не получилось. повлиять на разрешения на смонтированном диске ... Я предполагаю, что единственный способ изменить их - это изменить команду mount .

Что я знаю:

  • Я знаю об использовании blkid для получения текущего пути к устройству накопителя.
  • Я знаю об использовании udevadm monitor --environment --udev для получения информации при подключении или отключении USB-накопителя.
  • Я знаю об использовании udevadm info -a -p $ ( udevadm info -q path -n / dev / sd?) для получения возможных сопоставлений для устройства
  • Я знаю об использовании sudo udevadm control --reload для перезагрузки изменений, внесенных мной в правила файлы в /etc/udev/rules.d
  • Если указать что-то вроде RUN + = "echo bingo% k" в файле правил, это приведет к его отображению в тесте udevadm , что заставляет меня думать, что мои сопоставители в порядке.

Чего я не знаю:

  • Как предотвратить или отменить автоматическое монтирование на основе файла правил udev, чтобы я мог поместить свою собственную команду mount в файл правил. (В какой-то момент у меня была команда монтирования, но это привело к ошибкам, и диск стал недоступен).
  • Насколько эффективен udevadm control --reload . (Кажется, я не могу повторить некоторые частичные успехи, которые у меня были при использовании GROUP = "urbackup", MODE = "0666" .)
  • Если правила udev - это способ пойти сюда. Все, что я хочу сделать, это изменить разрешения подключенного диска.
  • Если число в начале имени файла правила udev действительно имеет значение для моего варианта использования, я пробовал низкие числа, такие как 10 , и высокие, такие как 100 .

Ubuntu 20.04.

Вот некоторые подробности: Последнее мое правило - ATTRS {vendor} == "ASMT", ATTRS {model} == "2105", ACTION == "add", GROUP = "urbackup", MODE = "0666", RUN + = "/ usr / bin / mount -o umask = 001, dmask = 007, fmask = 117, gid = 134, uid = 1000 / dev /% k / media / eddie / Интерстеллар ». - тест udevadm показывает команду запуска, но после перезагрузки правил и фактического подключения диска, похоже, ничего не изменилось.

Обновление: если я немного изменю команду на: ATTRS {vendor} == "ASMT", ATTRS {model} == "2105", ACTION == "add", GROUP = urbackup, MODE = "0666", RUN + = "/ usr / bin / mount -o umask = 001, dmask = 007, fmask = 117, gid = 134, uid = 1000 / dev /% k / media / Interstellar" --- и задайте имя файла, чтобы оно начиналось с 10- , затем после включения и выключения питания USB-накопителя я получаю сообщение об ошибке Транспортная конечная точка не подключена . Я не получаю эту ошибку при использовании 70- в начале имени файла, но тогда это действует так, как если бы я вообще не создавал правило udev.

0
задан 2 April 2021 в 22:05

1 ответ

Краткая версия:

Если изменение группы на автоматически монтируемом внешнем диске - единственная настраиваемая вещь вам нужно, правила udev - неправильное решение. Для этого подойдут правки fstab . Я выяснил это, попробовав пользовательский интерфейс Disks , который дает возможность редактировать параметры монтирования в разделе жесткого диска. Поигравшись с ним, я понял, что это просто пользовательский интерфейс для создания записи fstab . В частности, для этой проблемы мне нужно было добавить gid = к параметрам монтирования. Я также использовал значения umask , dmask и fmask , а также uid = , но я не уверен, что из них были строго необходимы. Вот полная строка, которую пользовательский интерфейс Disks помог мне записать в FSTAB:

LABEL=Interstellar /media/Interstellar auto nosuid,nodev,nofail,x-gvfs-show,umask=001,dmask=007,fmask=117,gid=134,uid=1000,noauto 0 0
0
ответ дан 23 April 2021 в 23:27

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

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