Como limitar o acesso do usuário ao 'gvfs-mount'? Como definir permissões 'rw' em um ponto de montagem de dispositivo ao usar 'gvfs-mount'?

0

Configuração: Ubuntu 16.04.03 com Unity I / F

O sistema / etc / fstab baseado em HAL para dispositivos de montagem oferece segurança de operação somente de superusuário e também permite definir propriedades de leitura e gravação por ponto de montagem (cf. página manst do fstab ).

Por outro lado, de acordo com a esta página gvfs-mount man :

   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.

Existe uma maneira de especificar a permissão somente de superusuário para invocar gvfs-mount , para todos os dispositivos ou por dispositivo? E uma maneira de definir a permissão de leitura e gravação em um ponto de montagem de dispositivo ao usar gvfs-mount ?

De lado: Se não, por que não?

    
por Craig Hicks 16.08.2017 / 05:06

1 resposta

1

No Ubuntu, gvfs-mount usa udisks2 para monitoramento de volume dos dispositivos "locais" :

% bl0ck_qu0te%

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é ainda não disponível no Ubuntu .

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.

    
por muru 16.08.2017 / 06:40