Como copiar arquivos e pastas de um sistema de arquivos ntfs do usb para o ext4 interno sem importar permissões?

0

Eu tenho um disco USB que eu uso para sincronizar dados entre computadores com diferentes sistemas operacionais (atualmente usando um bom utilitário GUI chamado FreeFileSync ), e seu formato é NTFS (que é preferível a FAT32 devido ao melhor suporte para nomes extensos de arquivos, bem como o uso de letras maiúsculas e minúsculas). Quando eu copio arquivos dele para o meu computador Linux, infelizmente eu pego todos os arquivos executáveis (assim como graváveis e legíveis) por todos, o que é um problema.

Como posso contornar este problema?

Criando uma entrada fstab que será somente aplicada ao disco USB ntfs (ou usando um comando manual, por exemplo, sudo mount ... ) para montá-lo com permissões de acesso como 644, mas também dando-me acesso total a esse disco usb (ou seja, não ter propriedade de root)?

Usando um comando manual (por exemplo, em vez do gerenciador de arquivos do Nautilus) para copiar (preferencialmente sincronizar ) arquivos sem importar permissões ntfs? Eu tentei rsync -rltgoD /source/ /target/ omitir -p (preservar permissões) sem sucesso.

Idealmente eu preferiria uma ferramenta de sincronização de GUI (como o FreeFileSync ) que oferece essa opção, mas eu acho que não há nenhuma lá fora.

Se não houver essa ferramenta de GUI, provavelmente prefiro algo como um rápido ajuste manual que funcionará de uma vez por todas neste cenário de sincronização .

Caso contrário, a opção que tenho disponível agora parece continuar com as tarefas de sincronização / cópia como de costume com o FreeFileSync, e então executar um comando de terminal como find . -type f -exec chmod -R 644 {} \; para corrigir este problema causado pelo tratamento de todas as permissões legíveis por ntfs como executável.

    
por Sadi 28.10.2017 / 19:10

1 resposta

3

Esta é uma pergunta muito comum, certamente uma duplicata.
Ao montar o NTFS, você pode definir as permissões do arquivo - não no nível do arquivo.
sudo mount -t ntfs -o rw,auto,user,fmask=0133,dmask=0000 /dev/whatever /mnt/whatever
Se você colocar uma linha correta em / etc / fstab, você pode fazer GUI totalmente.
dmask é para máscara de diretório (777 - máscara), fmask é para máscara de arquivo (agora 0777-0133 = 0644).
Significado dos números são:

  • 0 (NTFS especial não usa o IMO)
  • 6 (proprietário rihts)
  • 4 (direita do grupo)
  • 4 (qualquer outro direito).

Significado dos dígitos: (você precisa adicioná-los para ter vários direitos)

  • 4 - leia direito
  • 2 - escreva certo
  • 1 - executar certo

Diretórios tem que ser executáveis para poder entrar.

SE quiser manter a funcionalidade "montagem automática", mas quiser alterar a permissão do arquivo, escreva uma linha apropriada em / etc / fstab, como: UUID=02C8AE4FC8AE40B1 /mnt/usbntfs ntfs-3g fmask=0111 0 1
Significados:

  • UUID: seu identificador exclusivo do disco. Você pode verificar com sudo blkid
  • O segundo parâmetro é o local onde o sistema seria montado automaticamente (infelizmente este subdiretório não será excluído após a remoção da USB).
  • 3o é o tipo de sistema de arquivos
  • O 4º parâmetro é o sinalizador que você deseja alterar (agora só inibimos a execução de bits de arquivos)
  • 5º e 6º parâmetros não são relevantes aqui, basta colocar 0 1

Outras partes da questão:

É possível "reproduzir" com os direitos e a propriedade na partição NTFS no linux, se você adicionar permissions nos parâmetros, como UUID=02C8AE4FC8AE40B1 /mnt/usbntfs ntfs-3g permissions 0 1
Nota: Isso é incompatível com fmask e dmask. No entanto, eu não sei como você vê ou como isso afeta os direitos no Windows.

    
por 28.10.2017 / 23:18