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.