Eu estou pensando em mesclar minha partição home linux em c: \ Users, então quando inicializo no Windows eu tenho todos os meus arquivos em c: \ Users \ trusktr, e quando eu inicio no Linux eu tenho c: \ Users montado como meu / home para que eu possa acessar meus arquivos em / home / trusktr. Eu estou tentando facilitar o compartilhamento de arquivos entre os dois sistemas operacionais, incluindo dotfiles, etc, para que coisas como vim e bash se comportem exatamente da mesma forma em todos os sistemas operacionais, por conveniência.
Imaginei que copiaria tudo do linux / home para o c: \ users, o que resultaria em 777 permissões por padrão (não me importo, sou o único usuário, portanto não há nenhum problema de segurança) . Isso funcionará?
Então eu descobri o ntfg-3g.usermap. Isso me permite fazer coisas como chmod 655 /some/file
enquanto estiver no linux e funcionará. Estou curioso para saber se ele também preservará todas as minhas permissões de arquivo depois que eu mapear meu usuário linux para o meu usuário do Windows.
Então, meu principal problema é que eu estou rodando o ntfs-3g.usermap e está tudo bem até que ele me peça um ID de grupo para associar com um arquivo, mas eu não sei, então eu pressiono enter, então ele parece dar errado.
Veja como é a saída. Os primeiros poucos User :
e Group :
prompts estão vazios porque eu pressionei enter. Então, para um, eu digitei 1002 para o prompt User :
, depois disso, tive o problema que não sei como lidar.
This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.
"/dev/sda4" opened
* Scanning "/dev/sda4" (two levels)
* Search for "Documents and Settings" and "Users"
Under Windows login "admin"
file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom
Group :
Under Windows login "admin"
file "Contacts" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom
User :
Under Windows login "Administrator"
file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom
Group :
Under Windows login "Public"
file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom
Group :
Under Windows login "trusktr"
file "Desktop" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom
User : 1002
* Search for other directories /
file "CORE.xml" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom
Group :
"/dev/sda4" closed
You have defined no group, this can cause problems
Do you accept defining a standard group ?
y
* Creating file UserMapping
# Generated by usermap for Linux, v 1.1.4
:1002:S-1-5-21-1991058912-2816109820-761292756-513
1002:1002:S-1-5-21-2516108075-519671461-2442963378-1001
Undecided :
S-1-5-21-2516108075-519671461-2442963378-513
S-1-5-21-2516108075-519671461-2442963378-1002
* You will have to move the file "UserMapping"
to directory ".NTFS-3G" after mounting
Portanto, o conteúdo gerado após o término do comando ntfs-3g.usermap é:
# Generated by usermap for Linux, v 1.1.4
:1002:S-1-5-21-1991058912-2816109820-761292756-513
1002:1002:S-1-5-21-2516108075-519671461-2442963378-1001
Alguma ideia do que devo fazer?
EDITAR alguns minutos depois:
Quando monte a partição do Windows NTFS no Linux, depois de configurar o arquivo UserMappings, ls -l /mnt/windows-partition/Users/trusktr/
mostra que a propriedade dos arquivos é 1002: 1002. Normalmente, eles devem ser 1002: 100 quando eu estiver no linux e eu verificar com ls -l /home/trusktr/
. Então, eu abri o arquivo UserMappings e notei que ele contém 1002:1002
seguido por outras coisas, então eu mudei para 1002:100
e agora quando eu listo os arquivos na partição NTFS eles mostram a propriedade correta que combina com o que eu tenho no Linux.
Então aqui está como os arquivos UserMappings editados se parecem agora (a mudança está no começo da segunda linha):
# Generated by usermap for Linux, v 1.1.4
:1002:S-1-5-21-1991058912-2816109820-761292756-513
1002:100:S-1-5-21-2516108075-519671461-2442963378-1001
Ainda não tenho certeza sobre para que serve a primeira linha dos arquivos UserMappings. Meu palpite é que isso tem a ver com o grupo que possui o arquivo c: \ Windows \ CORE.xml.
Espero que isso funcione! Agora vou mesclar todos os meus arquivos de / home / trusktr em c: \ Users \ trusktr (junto com outras pastas de usuário de / home para c: \ Users) usando rsync e então tentar montar c: \ Users como meu / home em Linux ...
EDIT, 7 horas depois:
Eu fiz isso! Estou compartilhando com sucesso minhas pastas pessoais entre o Windows e o Linux. Eu posso inicializar em qualquer sistema operacional e ter os mesmos arquivos exatos na área de trabalho. Agora eu só tenho que testar por um tempo e ver se está estável. Vou postar uma atualização sobre o que fiz ...
EDIT, 7 meses depois:
Depois de fazer o mapeamento do usuário e colocá-lo na pasta /.NTFS-3G da partição do Windows, você pode inicializar o Windows sem problemas. Para Linux, a pasta / Users agora deve ser meu diretório pessoal. Isso pode ser configurado em fstab. Basicamente, diga para montar a partição do windows, então diga para montar a pasta Users como / home. Por exemplo:
# <file system> <dir> <type> <options> <dump> <pass>
# mount the windows partition somewhere.
/dev/NTFS-part /mnt/windows ntfs-3g defaults 0 0
# then bindount the Users folder as /home.
/mnt/windows/Users /home none bind 0 0
EDIT, 24 meses depois:
Agora estou executando etapas semelhantes, como acima, mas fazendo duplo boot com o Linux e OS X, usando NTFS entre os dois com o ntfs-3g. O próximo passo agora é adicionar o Windows à mistura de maneira semelhante à anterior e ter uma pasta inicial compartilhada de inicialização tripla entre os três sistemas operacionais. :}
Tags windows ntfs-3g linux multi-boot