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?
fonte
grep Win7 /etc/fstab
Respostas:
Você pode usar
fmask
edmask
montar 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óriosrwxr-xr-x
(755), usefmask=0133,dmask=0022
. Você pode combinar isso com as opçõesuid=
egid=
para selecionar o proprietário e o grupo do arquivo, se precisar de acesso de gravação para o usuário.*
fmask
edmask
parecem 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.fonte
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 0
Funciona como um encanto. Exatamente o que eu precisava!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
e dê as permissões desejadas com opções como:
Se você deseja usar o cp e manter permissões entre sistemas de arquivos separados, use o cp com o sinalizador -p ou -a.
fonte
/mnt
nã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/…Usando as opções de montagem
uid
,gid
,fmask
edmask
você 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. Ontfs-3g
driver do sistema de arquivos NTFS pode fazer melhor que isso.Se você estiver usando
ntfs-3g
, poderá usar ontfsusermap
comando 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
\Windows
diretório com um comando digitado incorretamente, a menos que esteja executando como root.Você também pode usar a
windows_names
opção de montagem nas partições NTFS para impedir a criação acidental de arquivos com nomes que o Windows não pode acessar.fonte