Prática recomendada para montar uma partição do Windows

13

Estou executando uma inicialização dupla do Windows e Debian no meu laptop. Eu uso o Linux principalmente, mas de tempos em tempos eu preciso acessar meus arquivos na minha partição do Windows. Minha partição do Windows é montada da seguinte maneira na inicialização.

>cat /etc/fstab |grep Win7
LABEL=Windows7_OS /mnt/Win7 auto nosuid,nodev,nofail,x-gvfs-show 0 0

Basicamente, todos os arquivos na partição do Windows pertencem a root: root e possuem uma permissão 777. Então, sempre que eu mv um arquivo para minha partição de trabalho (Linux), tenho um arquivo 777 sob minha partição, de minha propriedade (enquanto o cp in terminal fornecerá um arquivo 755, mas se for feito pelo gnome, ele salvará o arquivo com uma permissão 777) .

Essa é a melhor prática para montar uma partição? Ou devo montá-lo de modo que, em vez de root, eu seja o proprietário de todos os arquivos / diretórios e, de alguma forma, possa definir todos os diretórios para 755 e os arquivos para 644 quando a montagem ocorrer na inicialização? Se sim, como isso pode ser feito?

albertma789
fonte
2
menor boato (uooc ...):grep Win7 /etc/fstab
Olivier Dulac

Respostas:

17

Você pode usar fmaske dmaskmontar opções * para alterar o mapeamento de permissão em um sistema de arquivos NTFS.

Para fazer com que os arquivos apareçam rw-r--r--(644) e os diretórios rwxr-xr-x(755), use fmask=0133,dmask=0022. Você pode combinar isso com as opções uid=e gid=para selecionar o proprietário e o grupo do arquivo, se precisar de acesso de gravação para o usuário.

* fmaske dmaskparecem funcionar também para o driver do kernel (somente leitura), mesmo que eles não estejam documentados na página do manual mount . São opções documentadas para o NTFS-3G.

sebasth
fonte
Meu umask padrão já é 0022. Mas quando eu mv um arquivo usando o terminal do Win7 para minha casa o arquivo ainda é 777.
albertma789
2
O fmask e o dmask na resposta são opções de montagem . Quando você os altera no fstab e remontar o sistema de arquivos, os arquivos / diretórios no sistema de arquivos do Windows aparecerão com permissões 644/755 em vez de 777/777.
sebasth
5
LABEL=Windows7_OS /media/Win7 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Windows,uid=1000,gid=1000,fmask=0133,dmask=0022 0 0Funciona como um encanto. Exatamente o que eu precisava!
albertma789
É possível configurar esses padrões para sistemas de arquivos específicos (FAT32 / NTFS) em vez de unidades específicas? Seria bom disponibilizá-lo ao usar unidades flash e outras mídias removíveis.
precisa
1
@JAB consulte Como definir permissões padrão para unidades FAT montadas automaticamente no Ubuntu 9.10? no superusuário.
sebasth
7

Antes de tudo, não é assim que você deve usar / mnt. Isso é para executar tarefas administrativas em um sistema de arquivos temporariamente, nem toda inicialização do sistema.

Como a partição do Windows não faz parte da execução do sistema Linux, faz sentido montá-la em / media. Você também pode querer montá-lo no diretório root / as / Windows para evitar qualquer confusão sobre a mídia / removível.

Quanto às permissões, eu usaria um grupo chamado windows

groupadd -g 1001 Windows

e dê as permissões desejadas com opções como:

gid=1001,umask=022

Se você deseja usar o cp e manter permissões entre sistemas de arquivos separados, use o cp com o sinalizador -p ou -a.

jdwolf
fonte
Meu umask padrão já é 0022. Mas quando eu mv um arquivo usando o terminal do Win7 para minha casa, o arquivo ainda é 777. Montar em / media é uma ótima sugestão!
albertma789
Ao copiar arquivos entre sistemas de arquivos, as permissões padrão para esse sistema de arquivos são usadas, a menos que você as preserve. Consulte a minha resposta atualizada.
Jdwolf #
Embora eu concorde que /mntnão seja o ideal para o ponto de montagem, /mediaé para mídia removível (por exemplo, dvds e unidades USB). Não tenho certeza de que haja uma boa resposta onde a montagem deveria acontecer: unix.stackexchange.com/questions/29134/…
StrongBad 22/17/17
@ StrongBad O Hierarchy Standard do sistema de arquivos não é tão padrão, especialmente nos diretórios desde os antigos do Unix. Por exemplo, a ESF 2.3 não reflete as práticas atuais de / execução. Veja o refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s11.html do FHS 3.0, que indica ainda não usar / mnt para isso, mas seu racional é muito mais claro do que "tecnicamente o Windows não é uma mídia removível". Também vale a pena notar que não há nada errado em montar seu próprio diretório em / root.
Jdwolf #
4

Usando as opções de montagem uid, gid, fmaske dmaskvocê pode fazer as NTFS todo sistema de arquivos acessível a sua conta de usuário regular e / ou um grupo. Mas isso é tudo ou nada: no que diz respeito ao sistema de arquivos NTFS, é como rodar como Administrador completo o tempo todo no Windows ou como fazer tudo como raiz no Linux. O ntfs-3gdriver do sistema de arquivos NTFS pode fazer melhor que isso.

Se você estiver usando ntfs-3g, poderá usar o ntfsusermapcomando para criar um arquivo de mapeamento de usuário para o (s) seu (s) sistema (s) de arquivos NTFS. O comando ajudará você a identificar os nomes de usuário do Windows e seus SIDs correspondentes do Windows e associá-los aos IDs de usuário e grupo do Linux.

Dessa maneira, você pode associar o SID da sua conta de usuário do Windows ao seu UID do Linux. Dessa forma, depois de montar o sistema de arquivos NTFS com o arquivo de mapeamento do usuário em <NTFS filesystem root>/.NTFS-3G/UserMapping, você pode usar sua conta de usuário normal do Linux para acessar o sistema de arquivos NTFS exatamente como sua conta de usuário do Windows poderia acessar. Para coisas que você precisa de permissões de administrador no Windows, você ainda precisará de raiz no Linux.

Dessa forma, você obterá acesso conveniente aos seus arquivos na partição do Windows, mas ainda estará protegido de bagunçar seu \Windowsdiretório com um comando digitado incorretamente, a menos que esteja executando como root.

Você também pode usar a windows_namesopção de montagem nas partições NTFS para impedir a criação acidental de arquivos com nomes que o Windows não pode acessar.

telcoM
fonte