No Ubuntu, gvfs-mount usa udisks2 para monitoramento de volume dos dispositivos "locais" :
Você pode controlar o acesso ao udisks2 usando as regras do Polkit. As ações relevantes do polkit são:
$ 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
Você pode exigir acesso de administrador por meio de uma regra do Polkit assim (digamos, em /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
Isso significaria que os usuários precisariam de privilégios de administrador do Polkit (por padrão, o grupo sudo ou o usuário root no Ubuntu). Um prompt como este será mostrado:
Opolkit0.106adicionasuportearegrasdeJavaScript,oquesignificaquevocêpodedefinirpermissõescommaisnuances,masessaversãoé
Presumivelmente, gvfs-mount deixa as permissões reais de leitura / gravação para o backend de montagem.
Dito isso, as regras em /etc/fstab ainda têm prioridade sobre qualquer que seja o gvfs-mount . Com esta regra para /dev/sdb in /etc/fstab :
/dev/sdb /mnt ext4 ro,noexec 0 0
gvfs-mount simplesmente gera um erro e udisksctl monta usando a regra fstab :
$ gvfs-mount -d /dev/sdb
No volume for device file /dev/sdb
$ udisksctl mount -b /dev/sdb
Mounted /dev/sdb at /mnt.
É claro que udisksctl pediu autorização do Polkit, pois eu criei o arquivo pkla mencionado anteriormente.
