Montar dispositivo com acesso r / w a um usuário específico

19

Como posso montar um dispositivo com acesso de leitura / gravação a um usuário específico?

    
por ДМИТРИЙ МАЛИКОВ 28.01.2012 / 23:30

2 respostas

13

Não há uma maneira genérica de fazer exatamente isso. Se o sistema de arquivos não tiver uma noção de propriedade de arquivo, provavelmente terá uma opção de montagem ( uid ) para decidir a qual usuário os arquivos pertencerão. Se o sistema de arquivos tiver uma noção de propriedade de arquivo, monte-o como leitura-gravação e os usuários poderão gravar todos os arquivos para os quais tiverem permissão.

Se você quiser que apenas um usuário específico acesse o sistema de arquivos, e se houver um driver FUSE , organize para que o usuário tenha acesso de leitura / gravação ao dispositivo e monte-o pelo FUSE como esse usuário.

Outra forma de permitir apenas um usuário específico (ou um grupo específico ou um melhor ajuste através de uma ACL ) é colocar o ponto de montagem abaixo de um diretório de acesso restrito:

mkdir -p /media/restricted/joe/somedisk
chown joe /media/restricted/joe/somedisk
chmod 700 /media/restricted/joe/somedisk
mount /dev/sdz42 /media/restricted/joe/somedisk

Se você quiser que alguns usuários tenham acesso de leitura / gravação e outros que tenham acesso somente leitura, independentemente das permissões de arquivo, monte o sistema de arquivos de leitura / gravação em um diretório de acesso restrito e use bindfs para fazer uma visualização somente leitura desse sistema de arquivos.

bindfs -o perms=a-w /media/private/somedisk /media/public-read-only/somedisk

Você também pode tornar uma visão de bindfs de leitura / gravação para alguns usuários e somente de leitura para outros; veja as opções -m e -M na página de manual do bindfs. Lembre-se de colocar o ponto de montagem primário em um diretório que somente o root possa acessar.

    
por 28.01.2012 / 23:46
13

Você pode usar a opção -o , que permite configurar umask, proprietário e proprietário do grupo para o dispositivo montado.

Por exemplo:

mount -t vfat -o umask=0022,gid=33,uid=33 dev /var/www

Isso montará um dispositivo vfat em /var/www com umask 0022, proprietário: usuário com ID 33 e grupo: group com ID 33.

    
por 28.01.2012 / 23:48