Como posso alterar permanentemente a propriedade de um dispositivo montado em '/ media / $ USER'?

0

Estou usando um cartão SD criptografado (cryptsetup com LUKS com ext3) como extensão de espaço em disco. Ao inserir a chave no Nautilus, o dispositivo é descriptografado ( /dev/dm-3 ) e montado em /media/$USER/ . Infelizmente o dono é o root. Como posso alterar permanentemente a propriedade do dispositivo montado em /media/$USER ?

Eu já tentei a seguinte regra do udev:

ENV{ID_FS_UUID}=="a1d9e412-fd9d-4e44-a98f-d0d6f2de83c2", SUBSYSTEM=="block", OWNER="david"

Mas não deu certo.

É possível ter uma propriedade dinâmica para que o PROPRIETÁRIO seja configurado para o usuário que tenta montar o dispositivo?

    
por David R. 02.03.2016 / 10:38

1 resposta

0

Você está confundindo conceitos aqui. Sua udev -rule altera a propriedade do nó do dispositivo do disco. Isso é completamente independente das propriedades e permissões das entradas do sistema de arquivos do sistema de arquivos contido

Basicamente, existem dois tipos de sistemas de arquivos: Aqueles que conhecem o conceito de arquivo-propriedade, como os sistemas de arquivos comuns UNIX ( ext[2-4] , XFS, JFS, Btrfs, ...); e aqueles que não o fazem, como pelo menos os antigos sistemas de arquivos Windows / DOS (FAT *).

drivers de sistema de arquivos do kernel para estes últimos geralmente têm Mount-opções para dizer ao kernel que proprietário e permissões para apresentar ao espaço do usuário, como o Linux é um sistema multi-usuário e os usuários precisam ser separados - como necessidade seus arquivos, mesmo em unidades externas. Quando você monta um sistema de arquivos sem o conceito de propriedade de arquivo, Nautilus & Co. geralmente usam essas opções de montagem para tornar os arquivos "de propriedade" de seu usuário (normalmente o proprietário da sessão atualmente ativa).

Com os sistemas de arquivos tendo um conceito de propriedade de arquivos (como ext3 você usa), as coisas são diferentes. Como os arquivos neste sistema de arquivos possuem proprietários explícitos, o kernel os honra. Esses sistemas de arquivos também não oferecem um mecanismo (como as opções de montagem mencionadas) para anular esse comportamento, pois isso violaria a segurança. Portanto, se você montar um sistema de arquivos como esse, mesmo através do Nautilus, o kernel honrará as propriedades reais dos arquivos.

tl; dr : Alterar o proprietário dos dispositivos de bloco para o usuário não resolve (ou nem mesmo avança para) o problema. Não há nenhuma maneira de fazer o kernel comportam como se o proprietário dos arquivos é você, mas você precisa realmente make você o proprietário, ou seja, usando chmod . Esta operação será permanente , enquanto você altera o sistema de arquivos em si. Isto tornará esta abordagem inadequada para, e. consertando uma partição do sistema de outro computador.

Se está tudo bem (ou intencional) para alterar a propriedade de forma permanente e você tem% acessoroot para o sistema onde você quiser usar o seu dispositivo, você poderia apenas fazer chown -R <user> /media/<user> como root depois que o sistema de arquivos está montado.

Mas observe que, se você tiver sistemas diferentes e os UIDs de suas contas não corresponderem a todos os sistemas, você terá o mesmo problema na próxima máquina novamente. Neste caso, você poderia mudar UIDs de suas contas para corresponder (se você tem os direitos), ou você pode formatar o dispositivo com um sistema de arquivos sem saber de propriedade, como FAT32.

    
por 15.03.2016 / 19:00