
Estou tentando me conectar a uma unidade NFS compartilhada da minha caixa Debian Squeeze do meu laptop OSX 10.6 e, por mais que tente, não consigo fazer com que eu grave no disco a partir do Mac. Eu tenho o seguinte em /etc/exports:
/mnt/usbdrive 192.168.1.0/24(rw,insecure,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000)
fazendo com que todas as solicitações venham do UID/GID 1000/1000, meu usuário, que possui toda a unidade. No entanto, quando monto a unidade no Mac, tudo também pertence a 1000/1000, então nunca consigo gravar no disco:
~> ls -la /Volumes/USBDrive/
drwxr-xr-x 6 1000 1000 4096 5 Sep 19:31 .
drwxrwxrwt@ 4 root admin 170 6 Sep 22:41 ..
drwx------ 2 1000 1000 16384 28 Aug 21:24 lost+found
drwxr-xr-x 2 1000 1000 4096 29 Aug 15:35 music
Já vi algumas outras pessoas tendo esse problema, mas a única solução que vi foi fazer chmod em todo o disco 777, o que prefiro evitar. Infelizmente, não posso usar o nfs-user-server no meu sistema, portanto não posso usar o mapeamento UID/GID.
Responder1
Em vez de atribuir todos os arquivos ao uid 1000, atribua todos os arquivos ao seu uid no Mac (execute id -u
em um terminal para ver o seu uid). Enquanto você faz isso, faça o mesmo com o gid ( id -g
).
Responder2
foi isso que funcionou para mim no MacOS 11.1 BigSur (cliente nfs), rodando Ubuntu 20.04 dentro do VirtualBox VM, usando a rede 'somente host' para conexão direta com a VM. Presumivelmente, isso funcionaria entre duas máquinas físicas.
*** observe que a VM não tem firewall ativado porque é uma VM somente host em execução dentro do meu Mac. Obviamente você precisa ter portas abertas no firewall do servidor normalmente para isso.
Macbook (cliente) é 192.168.56.1 Ubuntu VM (servidor) é 192.168.56.11
Editar /etc/exports
no servidor:
/home/don 192.168.56.1(rw,sync,no_subtree_check,anonuid=1000,anongid=1000,all_squash)
*** lembre-se de executar exportfs -a
após editar o /etc/exports
arquivo, antes de executar mount
no cliente mac.
** id 1000 e gid 1000 é o usuário 'don' no ubuntu vm
No mac:
sudo mount -o resvport,rw -t nfs 192.168.56.11:/home/don /Users/don/ubuntudevnfs
e
sudo umount -t nfs /Users/don/ubuntudevnfs
resvport
no lado mac (cliente) nega a necessidade de insecure
exportação no lado do servidor.
UID/GID 1000 é o usuário 'don' no servidor, conforme visto no cliente mac: arquivo de texto de exemplo criado no terminal do cliente Mac
Como fica no servidor: visualização de /home/don via ssh no ubuntu vm
Responder3
Uma solução: crie um grupo com o mesmo ID de grupo em ambas as plataformas e torne o usuário em ambas as plataformas um membro dele e, em seguida, altere o parâmetro anongid para esse ID de grupo.