Ultrapassando as permissões padrão ao montar volumes HFS + no linux

8

Eu tenho um macbook pro de inicialização dupla com o Snow Leopard e o Kubuntu 11.10, e quero ler (não me importo em escrever) meu diretório home do Mac quando estou executando o Kubuntu.

Eu posso montá-lo sem problemas, mas meu usuário no Kubuntu não pode ver os arquivos no HFS + pertencentes ao usuário do mac, por causa do uid diferente (502 no Mac, 1000 no Kubuntu).

Analisando os documentos do kernel sobre o HFS + eu li que:

When mounting an HFSPlus filesystem, the following options are accepted:
[CUT]
    uid=n, gid=n
        Specifies the user/group that owns all files on the filesystem
        that have uninitialized permissions structures.
        Default:  user/group id of the mounting process.

Então, tentei usar essas opções:

$ sudo mount -t hfsplus -o uid=1000,gid=1000 /dev/sda2 /mnt/Mac

Mas eles parecem não fazer nada: ainda vejo as mesmas permissões quando olho em volta usando ls -l. Eu posso estar faltando alguma coisa, alguma pista?

Eu sei que posso mudar meu id de usuário no Ubuntu para combinar com o Mac Os X, mas eu prefiro evitar isso se possível.

    
por gerlos 08.02.2012 / 01:54

3 respostas

9

bindfs é a resposta. Levará um sistema de arquivos já montado e fornecerá uma visão dele com o que você quiser:

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo

Editar:

Além disso, lendo o documento , percebi que a opção map (1.10 e posterior) poderia se adequar melhor :

sudo bindfs --map=502/1000 /media/diskFoo ~/myUIDdiskFoo
    
por 04.10.2013 / 21:04
1

No final, eu criei um usuário linux com o mesmo UID do meu usuário do Mac OS X, mas ele não pode navegar em todos os diretórios da minha casa no mac hfs + volume porque muitos arquivos eram de propriedade do usuário mac ", UID 99 (consulte link ).

Parece que eles o fizeram montar e ler seu volume quando você o conecta a um computador diferente. Quando um usuário comum olha para esses arquivos pertencentes ao UID 99, ele os vê como ele é o dono deles. Muito estranho. Apenas root os vê como são.

Então eu reiniciei no Mac Os X, logado com um usuário diferente com privilégios administrativos e usei chown -R 502: 20 / Users / gerlos / * para alterar o proprietário de cada arquivo em minha casa. Agora eu posso ler tudo sem nenhum problema.

Observações:

  • A ferramenta padrão kubuntu gui para criar novos usuários no Kubuntu 11.10 não pode criar usuários com UID menor que 1000. Use adduser no terminal.
  • você pode conhecer seu UID de usuário usando o comando "id" no terminal.
  • no mac os x, você precisa ser root para ver o verdadeiro dono dos arquivos. Portanto, espere resultados diferentes se você digitar "ls -n / Users / gerlos" e "sudo ls -n / Usuários / gerlos".
por 08.02.2012 / 18:40
1

Na verdade, estou procurando fazer algo semelhante quando me deparo com essa questão. É meu entendimento, olhando desde o seu primeiro post, que a opção de montagem solicitada está perguntando qual usuário uid deve ser usado ao invés do padrão do seu sistema linux (isto é, o uid 1000). Então, em vez disso, você deve usar o 502, que é o proprietário esperado do sistema de arquivos que você está tentando montar.

Eu testei isso em minha própria situação, e funcionou muito bem, com o uid 99 para um sistema de arquivos ser compartilhado entre meus sistemas. Com isso eu não precisarei sair mudando os uids. Então obrigado por compartilhar. Isso pode não ser muito para você, mas pode ajudar alguém. Felicidades

    
por 27.08.2013 / 20:42