Monta automaticamente uma unidade usando / etc / fstab e limitando o acesso a todos os usuários de um grupo específico

6

Atualmente, tenho um HD extra que estou usando como meu espaço de trabalho. Estou tentando montá-lo automaticamente ao reinicializar usando a seguinte linha adicionada ao / etc / fstab

/dev/sdb1 /media/workspace auto defaults 0 1

Isso funciona para montá-lo automaticamente, no entanto, eu gostaria de restringir o acesso de leitura / gravação aos usuários pertencentes a um grupo específico. Como eu faria isso em / etc / fstab? Posso simplesmente usar chown ou chmod para controlar o acesso?

    
por slagathor 20.05.2015 / 18:06

3 respostas

9

Se o tipo de sistema de arquivos é aquele que não tem permissões, como FAT, você pode adicionar umask , gid e uid às opções fstab. Por exemplo:

 /dev/sdb1 /media/workspace auto defaults,uid=1000,gid=1000,umask=022 0 1

uid=1000 é o ID do usuário.

gid=1000 é o ID do grupo.

umask=022 isto irá definir permissões para que o proprietário tenha lido, escrito, executado. Grupo e Outros terão lido e executado.

    
por 20.05.2015 / 18:40
5

Eu bloquearia o acesso ao sistema de arquivos por meio de um diretório que contenha o ponto de montagem.

Como root:

mkdir -p /media/group1only/workspace
chgrp group1 /media/group1only
chmod 750 /media/group1only

Isso é acesso total ao acesso root e leitura + execução para membros do grupo1. Não dê a eles acesso de gravação aqui, pois se eles renomearem acidentalmente o ponto de montagem workspace , isso poderá fazer com que seu sistema falhe ao inicializar.

E adicione isso ao / etc / fstab:

/dev/sdb1 /media/group1only/workspace auto defaults 0 1

Depois que o sistema de arquivos é montado, você pode fazer novas alterações de propriedade e modo nos objetos dentro do sistema de arquivos para acomodar o acesso mais refinado entre os membros do grupo.

    
por 20.05.2015 / 19:49
1

Por exemplo, supondo que o sistema de arquivos no disco suporte as ACLs, e usando o usuário hipotético, myusername e o grupo hipotético para acessar o disco, diskusers, algo como o seguinte poderia ser feito. $ indicou um comando executado como usuário regular; # indica um comando executado como usuário, root.

Crie um grupo ao qual um usuário possa pertencer para o propósito.

$ sudo groupadd diskusers
$ sudo usermod -a -G diskusers myusername
$ logout

Faça login novamente.

$ sudo -i
# mount /media/workspace
# chown root:root /media/workspace
# chmod 0750 /media/workspace/
# setfacl -d -m -g:diskusers:7 /media/workspace
# setfacl -m g:diskusers:7 /media/workspace

O "7" no comando setfacl é octal (read = 4 + write = 2 + execute = 1), muito parecido com as permissões octal normais (0400, 0200, 0100).

O -d é um switch para especificar uma máscara padrão - novos arquivos e diretórios. O -m é a máscara a ser aplicada ao diretório.

Você também pode aplicar a máscara a todos os arquivos inicialmente depois de definir o padrão (acima):

find /media/workspace -exec setfacl -m g:diskusers:7 {} +

Nesse ponto, somente root e membros de diskusers podem acessar os arquivos. Também gosto da ideia de Mark Plotnick sobre aplicar permissões a um subdiretório. Essa técnica também pode ser usada dessa maneira.

    
por 20.05.2015 / 19:47