Как ограничить доступ пользователей к `gvfs-mount`? Как установить разрешения «rw» на точке монтирования устройства при использовании `gvfs-mount`?

Настройка: Ubuntu 16.04.03 с Unity I / F

Система HAL на базе / etc / fstab для монтажа устройств обеспечивает безопасность только для суперпользователя, а также позволяет устанавливать свойства чтения и записи на точку монтирования ( с помощью fstab man page).

С другой стороны, согласно fstab man page :

gvfs-mount provides commandline access to various aspects of GIOs mounting functionality. Mounting refers to the traditional concept of arranging multiple file systems and devices in a single tree, rooted at /. Classical mounting happens in the kernel and is controlled by the mount utility. GIO expands this concept by introducing mount daemons that can make file systems available to GIO applications without kernel involvement.

Есть ли способ указать суперпользователь- только разрешение на вызов gvfs-mount, либо для всех устройств, либо для каждого устройства? И способ установить права на чтение и запись на точку монтирования устройства при использовании gvfs-mount?

Рядом: Если нет, то почему?

0
задан 16 August 2017 в 06:06

2 ответа

В Ubuntu, gvfs-mount использует udisks2 для контроля громкости «локальных» устройств:

Громкие мониторы предоставляют набор объектов GDrive / GVolume / GMount, представляющих физическое устройство или иерархии услуг. Так называемые собственные томографы обеспечивают доступ к локально доступным устройствам, то есть к тем, которые появляются в / dev и монтируются стандартными способами POSIX (mount, umount). GVfs предоставляет несколько реализаций этих (hal, gdu, udisks2), и только один может быть активным.

Вы можете контролировать доступ к udisks2 с помощью правил Polkit. Соответствующими действиями polkit являются:

$ pkaction| grep mount org.freedesktop.udisks2.filesystem-mount org.freedesktop.udisks2.filesystem-mount-other-seat org.freedesktop.udisks2.filesystem-mount-system org.freedesktop.udisks2.filesystem-unmount-others

Вы можете потребовать доступ администратора через правило Polkit так (скажем в /etc/polkit-1/localauthority/50-local.d/disable-mount.pkla):

[Disable mount] Action=org.freedesktop.udisks2.filesystem* Identity=* ResultActive=auth_admin ResultAny=auth_admin ResultInactive=auth_admin

Это будет означать, что пользователи потребуются привилегии администратора Polkit (по умолчанию группа sudo или пользователь root в Ubuntu). Будет показано следующее:

«local» devices

polkit 0.106 добавляет поддержку правил JavaScript, что означает, что вы можете установить более тонкие разрешения, но эта версия еще не доступна в Ubuntu.

Предположительно gvfs-mount оставляет фактические права на чтение / запись на бэкэнде монтирования.

Тем не менее, правила в /etc/fstab по-прежнему принимают приоритет над тем, что делает gvfs-mount. С этим правилом для /dev/sdb в /etc/fstab:

/dev/sdb /mnt ext4 ro,noexec 0 0

gvfs-mount просто выдает ошибку, а udisksctl монтируется с использованием правила fstab:

$ gvfs-mount -d /dev/sdb No volume for device file /dev/sdb $ udisksctl mount -b /dev/sdb Mounted /dev/sdb at /mnt.

] Конечно, udisksctl попросил авторизацию Polkit, так как я создал файл pkla, упомянутый ранее.

1
ответ дан 18 July 2018 в 08:27

В Ubuntu, gvfs-mount использует udisks2 для контроля громкости «локальных» устройств:

Громкие мониторы предоставляют набор объектов GDrive / GVolume / GMount, представляющих физическое устройство или иерархии услуг. Так называемые собственные томографы обеспечивают доступ к локально доступным устройствам, то есть к тем, которые появляются в / dev и монтируются стандартными способами POSIX (mount, umount). GVfs предоставляет несколько реализаций этих (hal, gdu, udisks2), и только один может быть активным.

Вы можете контролировать доступ к udisks2 с помощью правил Polkit. Соответствующими действиями polkit являются:

$ pkaction| grep mount org.freedesktop.udisks2.filesystem-mount org.freedesktop.udisks2.filesystem-mount-other-seat org.freedesktop.udisks2.filesystem-mount-system org.freedesktop.udisks2.filesystem-unmount-others

Вы можете потребовать доступ администратора через правило Polkit так (скажем в /etc/polkit-1/localauthority/50-local.d/disable-mount.pkla):

[Disable mount] Action=org.freedesktop.udisks2.filesystem* Identity=* ResultActive=auth_admin ResultAny=auth_admin ResultInactive=auth_admin

Это будет означать, что пользователи потребуются привилегии администратора Polkit (по умолчанию группа sudo или пользователь root в Ubuntu). Будет показано следующее:

«local» devices

polkit 0.106 добавляет поддержку правил JavaScript, что означает, что вы можете установить более тонкие разрешения, но эта версия еще не доступна в Ubuntu.

Предположительно gvfs-mount оставляет фактические права на чтение / запись на бэкэнде монтирования.

Тем не менее, правила в /etc/fstab по-прежнему принимают приоритет над тем, что делает gvfs-mount. С этим правилом для /dev/sdb в /etc/fstab:

/dev/sdb /mnt ext4 ro,noexec 0 0

gvfs-mount просто выдает ошибку, а udisksctl монтируется с использованием правила fstab:

$ gvfs-mount -d /dev/sdb No volume for device file /dev/sdb $ udisksctl mount -b /dev/sdb Mounted /dev/sdb at /mnt.

] Конечно, udisksctl попросил авторизацию Polkit, так как я создал файл pkla, упомянутый ранее.

1
ответ дан 24 July 2018 в 19:05
  • 1
    Привет, муру. Большое спасибо за подробный ответ. Он отлично справился с проблемой доступа - хотя я должен признать, что я только что скопировал и вставил в назначенное местонахождение, я действительно не изучал предысторию. Что касается разрешения на чтение и запись, не удалось модифицировать созданные gvfs-modity каталоги, даже не будучи su. И gvsf достаточно умен, чтобы добавлять числа к тем именам, когда имя уже принято. (По той же причине я подозреваю, что использование предпочтительных имен gvsf в качестве адресата в fstab может не работать.) – Craig Hicks 17 August 2017 в 01:27
  • 2
    В итоге мне удалось разрешить rw-разрешения, получив контроль над каталогом. Что касается использования fstab для управления прерываниями с помощью gvsf, установка источника как / dev / bydisk / by-uuid / & lt; uuid & gt; действительно стоило бы попробовать. Однако прямо сейчас с другими специальными методами этого достаточно. – Craig Hicks 17 August 2017 в 01:27

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

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