Montando um sistema de arquivos ext3 com privilégios de usuário

12

Estou tentando montar um sistema de arquivos ext3 de outra instalação do Linux para que o usuário, não o root, tenha acesso total a todos os arquivos. (Eu realmente preciso que o usuário tenha acesso a esses arquivos, porque gostaria de usá-los em outro computador via sshfs, e o sshfs concederá apenas direitos de acesso ao usuário aos arquivos.)

Se eu executar, mount /dev/sda1 /mnt/whatevertodos os arquivos são acessíveis apenas pela raiz.

Eu também tentei, mount -o nosuid,uid=1000,gid=1000 /dev/sda1 /mnt/whateverconforme as instruções de uma pergunta do SuperUser discutir ext4, mas que falha com um erro e dmesgrelata:

EXT3-fs: Unrecognized mount option "uid=1000" or missing value

Como posso montar o sistema de arquivos?

Ilari Kajaste
fonte
1
Eu diria que a resposta de Gilles na pergunta do Superusuário que você mencionou é a correta. De fato, o man page mount (8) não lista uid=...e gid=...opções para nenhum dos sistemas de arquivos ext2 / 3/4.
Riccardo Murri
@ Riccardo Obrigado, essa foi a solução correta! Primeiro monte o ext em algum diretório regularmente e, em seguida, monte esse diretório bindfs -u $(id -u) -g $(id -g)no destino final. Escreva como resposta, talvez?
Ilari Kajaste
1
Como a resposta é de Gilles e ele também é muito ativo neste fórum, deixarei que ele o repita aqui e colete o crédito merecido.
Riccardo Murri

Respostas:

19

Em um sistema de arquivos ext4 (como ext2, ext3 e na maioria dos outros sistemas de arquivos originários do Unix), as permissões efetivas de arquivos não dependem de quem montou o sistema de arquivos ou das opções de montagem, apenas dos metadados armazenados no sistema de arquivos.

Se você possui um sistema de arquivos removível que usa IDs de usuário diferentes do seu sistema, pode usar bindfspara fornecer uma visualização de qualquer sistema de arquivos com diferentes propriedades ou permissões. O sistema de arquivos removível já deve estar montado, por exemplo, ativado /mnt/sda1; então, se você quiser que um usuário em particular apareça como o proprietário de todos os arquivos, poderá executar algo como

mkdir /home/$user/sda1
bindfs -u $user -g $group /mnt/sda1 /home/$user/sda1
Gilles 'SO- parar de ser mau'
fonte
1
Obrigado de mim também! Com um pequeno ajuste, isso também funciona para dispositivos como, por exemplo, DVD-ROMs SATA hot-plug (que era o dispositivo com o qual eu tinha problemas). NO ENTANTO, o dispositivo sempre será montado 000por algum motivo (d ---------), então você deve especificar -p 700a bindfslinha para acessar os arquivos no DVD via dolphin/ nautilusetc, por exemplo.
Syntaxerror
Seria bom se bindfspoderia aceitar dicionários para traduzir qualquer conjunto de UIDs e GIDs ...
Alexey