Как ограничить пользовательский доступ, чтобы 'gvfs-смонтироваться'? Как установить 'rw' полномочия на точке монтирования устройства, когда использование 'gvfs-монтируется'?

Установка: Ubuntu 16.04.03 с единицей I/F

Основанная на HAL/etc/fstab система для монтирования устройств предлагает защиту функционирования только для суперпользователя и также позволяет устанавливать чтение и свойства записи на точку монтирования (cf. fstab страница справочника).

С другой стороны, согласно этому gvfs-mount страница справочника:

   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
задан 15 August 2017 в 20:06

1 ответ

В 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). Будет показано следующее приглашение:

enter image description here

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
ответ дан 2 November 2019 в 19:12

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

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