De acordo com a seção Propriedade e permissões da documentação do NTFS-3G, podemos usar as opções de montagem para controlar o acesso e a criação de arquivos . As combinações são muito complicadas (veja as duas tabelas lá). Também não leio e entendo todos eles. Por exemplo, não sei se as ACLs POSIX estão selecionadas no momento da compilação ou não do pacote binário NTFS-3G. Mas o melhor que saí é usar um arquivo de Mapeamento de Usuário combinado com algumas opções de montagem para aproximar um mapeamento plausível de propriedade e permissões de arquivo entre Windows e Linux.
Aviso : É apenas o que funciona melhor para compartilhar uma partição de dados NTFS (unidade D:
no Windows) entre o Windows 8 com inicialização dupla e o Kubuntu 14.04. As instruções são registradas em retrospecção cuidadosa, mas não exaustivamente testadas. É muito cansativo e tedioso repetir todo o procedimento novamente. Portanto, siga-o por sua conta e risco. Mas, se o fizer, compartilhe sua experiência. Se você decidir seguir as instruções, leia-as completamente para ter uma imagem completa antes de realmente agir. Boa sorte!
Tudo bem, aqui está você! As instruções detalhadas consistem em três partes. A parte 1 deve ser realizada no Windows, enquanto a parte 2 no Linux. A parte 3 é para teste.
Parte 1
A seção Mapeamento do Usuário da documentação do NTFS-3G especifica duas versões para configurar o mapeamento do usuário entre Windows e Linux, uma versão do Windows e uma versão do Linux. Minha experiência foi que a versão Linux acabou com uma falha . A conta do Linux não foi mapeada para a minha conta do Windows, mas uma conta desconhecida apareceu em um SID . O resultado foi uma bagunça, pois essa conta desconhecida se apropria de todos os arquivos da minha conta do Windows. Nessa situação, a menos que você tenha um privilégio administrativo para recuperar sua propriedade, os arquivos na sua conta do Windows se tornam inacessíveis. Mas mesmo se você sarna, ainda éum mapeamento errado. Isso significa que, mais tarde, quaisquer arquivos que você criar no Linux serão atribuídos a essa conta desconhecida no Windows e aqueles no Windows serão atribuídos à raiz no Linux (se bem me lembro). Portanto, no Windows, você precisa retomar a propriedade e no Linux, mudar de propriedade. Não é isso que esperamos que seja. Após várias tentativas desesperadas de corrigir o problema, desisti e me virei para a versão do Windows. Aquele funcionou. A seguir, instruções detalhadas extraídas da seção relevante da documentação do NTFS-3G:
Baixe a ferramenta usermap , extraia-a em algum lugar (no meu caso, drive C:
), melhor fora da partição NTFS (no meu drive D:
) para ser compartilhada.
Abra a linha de comando do Windows. Mude para o diretório extraído tools
(por padrão) da usermap
ferramenta. Em seguida, execute o seguinte comando:
C:\tools> mapuser > UserMapping
Isso gera um modelo e o redireciona para um arquivo chamado UserMapping
. Abra o arquivo com um editor de texto, digamos Bloco de Notas, você deverá ver as seguintes linhas:
# Generated by usermap for Windows, v 1.1.5
# For Windows account "Account" in domain "Domain"
# Replace "user" and "group" hereafter by matching Linux login
user::SID
:group:SID
Presumivelmente, o primeiro SID
deve ser o SID do usuário e o segundo o SID do grupo. Você pode verificá-los respectivamente pelos comandos whoami /user
e whoami /groups
.
Depois de verificar se os SIDs estão corretos, siga as instruções no comentário, ou seja, altere user
a user::SID
linha para o seu nome de usuário e group
a :group:SID
linha para o nome do seu grupo principal no Linux. No Ubuntu, eles são os mesmos. Além disso, adicione o nome do seu grupo Linux também após os primeiros dois pontos da user::SID
linha. Portanto, a linha deve ser algo parecido user:group:SID
. Parece que, se não o fizer, os arquivos criados no Windows serão atribuídos user:root
no Linux.
Salve o arquivo. Mova-o para um diretório chamado .NTFS-3G
(crie-o se ainda não existir) na partição NTFS a ser compartilhada (no meu caso D:
).
Esta etapa é para teste na Parte 3. Na partição NTFS compartilhada, crie um novo diretório e um novo arquivo.
Parte 2
Agora inicialize no Linux. sudo
edite o arquivo /etc/fstab
. Adicione ou modifique a linha da partição NTFS compartilhada para algo como o seguinte:
UUID=... /data ntfs defaults,umask=077,utf8 0 0
O essencial é definir o umask
( dmask
e fmask
também pode funcionar, mas não testado). Escolha um valor para umask
você, embora eu tenha escolhido 077
. Parece que sem essa configuração, as permissões totais serão concedidas aos o
arquivos recém-criados.
Salve o arquivo. Agora sudo mount
ou remonte ( sudo umount
e depois sudo mount
) a partição NTFS compartilhada (no meu caso /data
):
$ sudo mount /data
Parte 3
Agora (ainda no Linux) cd
até o ponto de montagem (no meu caso /data
), ls -l
os arquivos lá. Verifique se a propriedade e as permissões correspondentes, respectivamente, que você especificou no UserMapping
arquivo e as umask
que definiu /etc/fstab
(a correspondência entre permissões e umask
requer algum cálculo de complemento, consulte man (1) umask para obter mais informações). Se o fizerem, parabéns, metade da meta é alcançada. Caso contrário, pobre você. Pergunte ao Ubuntu ou Windows.
Em seguida, crie um novo diretório e um novo arquivo. ls -l
para verificar sua propriedade e permissões. A propriedade deve ser seu nome de usuário e grupo principal, como de costume. As permissões devem corresponder ao umask
. Agora reinicie o computador e inicialize no Windows. Localize na partição NTFS compartilhada o diretório e o arquivo que você acabou de criar no Linux. Verifique suas propriedades para ver se elas estão atribuídas à sua conta do Windows. Se estiverem, parabéns, está tudo pronto. Caso contrário, azar. Pergunte ao Windows ou Ubuntu.
EOF