De acordo com a seção Propriedade e permissões do NTFS-3G documentação, podemos usar opções de montagem para controlar o arquivo acesso e criação . As combinações são muito complicadas (veja as duas tabelas lá). Também não leio e obtenho todos eles. Por exemplo, não sei se as ACLs POSIX estão selecionadas em tempo de compilação ou não do pacote binário NTFS-3G. Mas o melhor que eu tenho feito é usar um arquivo Mapeamento de Usuários combinado com alguns arquivos de montagem opções para aproximar um mapeamento plausível de propriedade e permissões de arquivos entre o Windows e o Linux.
Aviso : Isso é apenas o que funciona melhor para o compartilhamento de uma partição de dados NTFS <(unidade D:
no Windows) entre o Windows 8 e o Kubuntu 14.04. As instruções são registradas em retrospecção cuidadosa, mas não completamente testadas. É cansativo e tedioso demais repetir todo o procedimento novamente. Então siga por sua conta e risco. Mas se você fizer isso, compartilhe de volta sua experiência. Se você decidir seguir as instruções, leia-as por completo para ter uma imagem completa antes de realmente agir. Boa sorte!
Tudo bem, aqui vai você! As instruções detalhadas consistem em três partes. Parte 1 deve ser realizada no Windows enquanto a Parte 2 no Linux. A parte 3 é para teste.
Parte 1
A seção Mapeamento de usuários da documentação do NTFS-3G especifica duas versões para configurar o mapeamento de usuários entre o Windows e o Linux, uma versão do Windows e uma versão do Linux. Minha experiência foi que a versão do Linux acabou com um miss . A conta do Linux não foi mapeada para 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 da sua conta do Windows ficam inacessíveis. Mas mesmo se você gerenciar, ainda é um mapeamento errado. Isso significa que, posteriormente, 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 a root no Linux (se bem me lembro). Portanto, no Windows, você precisa assumir a propriedade novamente e no Linux alterar a propriedade. Não é isso que esperamos que seja. Depois de várias tentativas desesperadas de corrigir o problema, desisti e mudei para a versão do Windows. Aquele trabalhou. Instruções detalhadas extraídas da seção relevante da documentação do NTFS-3G seguem:
-
Faça o download da ferramenta usermap , extraia-a em algum lugar (no meu caso, unidade C:
), melhor fora da partição NTFS (no meu caso, D:
) a ser compartilhada.
-
Abra a linha de comando do Windows. Altere para o diretório extraído tools
(por padrão) da ferramenta usermap
. 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, diga 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 seu usuário SID enquanto o segundo seu grupo SID. 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 do comentário, ou seja, altere user
na linha user::SID
para seu nome de usuário e group
na linha :group:SID
para o nome do seu grupo principal no Linux. No Ubuntu, eles são os mesmos. Além disso, adicione seu nome de grupo do Linux também após os dois primeiros pontos da linha user::SID
. Portanto, a linha deve ser algo como user:group:SID
. Parece que, se isso não for feito, os arquivos criados no Windows serão atribuídos a 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 inicie no Linux. sudo
edite o arquivo /etc/fstab
. Adicione ou modifique a linha da partição NTFS compartilhada a algo como o seguinte:
UUID=... /data ntfs defaults,umask=077,utf8 0 0
O essencial é definir o umask
( dmask
e fmask
também podem funcionar, mas não testados). Escolha um valor para umask
que você gosta, embora eu tenha escolhido 077
. Parece que sem essa configuração, permissões completas serão concedidas a o
thers para arquivos recém-criados.
Salve o arquivo.Agora sudo mount
ou remount ( 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
para o ponto de montagem (no meu caso, /data
), ls -l
dos arquivos lá. Verifique se a propriedade e as permissões correspondem, respectivamente, ao especificado no arquivo UserMapping
e o umask
definido em /etc/fstab
(a correspondência entre as permissões e umask
exige algum cálculo do complemento, consulte man (1) umask para mais informações). Se o fizerem, parabéns, meia meta é alcançada. Caso contrário, você é pobre. Pergunte ao Ubuntu ou ao Windows.
Em seguida, crie um novo diretório e um novo arquivo. ls -l
para verificar a propriedade e as 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 seu 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 forem, parabéns, tudo está feito. Caso contrário, má sorte. Pergunte ao Windows ou ao Ubuntu.
EOF