GPCracker 2,088 Posted January 31, 2018 Собственно, вопрос к опытным пользователям 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, и не редактируя исходники, чтобы эти опции применялись желательно только при монтировании через графическую оболочку? 1 Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #419627 Posted February 1, 2018 В принципе, как временное решение можно использовать 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-ассоциации. Проблема по большей части именно консольная. Но тем не менее, писать каждый раз команду на перемонтирование... как-то неправильно, да и неудобно. 1 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #431438 Posted May 22, 2018 (edited) Так почему именно ntfs-3g? Edited May 22, 2018 by SkepticalFox Quote Share this post Link to post Short link Share on other sites