Jump to content
Korean Random
GPCracker

Linux: UDisks2: Параметры монтирования по умолчанию

Recommended Posts

Собственно, вопрос к опытным пользователям Linux. Сам использую относительно недавно, в тонкостях еще толком не разобрался, поэтому прошу сильно не пинать.
Недавно обновил свой Debian с Jessie до Stretch. Одним из замеченных существенных изменений стало изменение дефолтных прав доступа при монтировании ntfs - все файлы по умолчанию стали исполняемыми (x-flag, execute permissions), хотя никаких конфигов по этой части я не трогал. Речь идет о монтировании через графическую оболочку, KDE.

Почему это внезапно стало проблемой? Очень большая вероятность случайно ввести имя файла, не указав программу для запуска, и если при этом это будет текстовый файл без шебанга, баш начнет его весело выполнять, со всеми вытекающими последствиями. Что ну совсем не круто.

Из анализа параметров mount, udisksctl и т.д. выяснил, что для решения проблемы нужно дописать в параметры монтирования dmask=022,fmask=133.

Но есть одна очень существенная проблема. Прописать это в fstab не вариант, потому как это касается не конкретного раздела, а вообще любого ntfs-раздела. Монтирование вручную не рассматривается в принципе, как и другие аналогичные варианты.

Из анализа структуры всего этого дела было установлено примерно следующее (прошу не пинать сильно, если где-то ошибся): "монтирование" из графической оболочки через D-Bus пинает демон UDisks2, который собственно получает данные из udev и монтирует раздел в отведенную для него папку.

Найти какую-то адекватную информацию по файлам конфигурации для ntfs-3g тоже не получилось, есть сомнения что они в принципе существуют (а все параметры передаются через командную строку).
Дефолтные опции для ntfs в самом UDisks2 прописаны в исполняемых файлах, и как их поменять через файлы конфигурации я не нашел (может быть плохо искал), а вариант с пересборкой пакета не рассматриваю по вполне понятным причинам. Утилита udisksctl без проблем принимает на вход необходимые дополнительные параметры, но опять же, это "ручной вариант", а в данном случае нужно (насколько я понимаю) прописать их по дефолту для всех ntfs-filesystem.

Взаимодействие между KDE и UDisks2 осуществляется через D-Bus, на тему перехвата и подмены сообщений тоже ничего адекватного найти не удалось. Если такое вообще возможно.

Ну и собственно, можно ли прописать где-то опции монтирования в KDE, или там тоже очередной хардкодинг, выяснить пока не удалось.

 

Вопрос, как уже многие догадались, звучит достаточно просто - как и где можно прописать опции монтирования по умолчанию для конкретного типа файловой системы, не привязываясь к конкретному тому/диску/etc, и не редактируя исходники, чтобы эти опции применялись желательно только при монтировании через графическую оболочку?

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

В принципе, как временное решение можно использовать udisksctl, но решением это назвать сложно - пинать каждый раз командную строку...

udisksctl unmount -b /dev/sdb3 && udisksctl mount -b /dev/sdb3 -o dmask=022,fmask=133
remount () { udisksctl unmount "$@" && udisksctl mount -o dmask=022,fmask=133 "$@"; }; remount -b /dev/sdb3

Хотя с другой стороны влияние флага исполняемости на работу графической оболочки пока не замечено, там все равно используются mime-ассоциации. Проблема по большей части именно консольная. Но тем не менее, писать каждый раз команду на перемонтирование... как-то неправильно, да и неудобно.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×