Настройка: 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?
Рядом: Если нет, то почему?
В 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). Будет показано следующее:
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, упомянутый ранее.
В 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). Будет показано следующее:
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, упомянутый ранее.