O hospedeiro
Eu tenho um host, executando o Ubuntu 12.04, em 10.0.0.202
. Ele fornece um compartilhamento NFS para outras máquinas na rede. Aqui está o conteúdo de /etc/exports
:
/media/storagedrive 10.0.0.0/24(rw,sync,no_subtree_check)
A intenção aqui é compartilhar o conteúdo de /media/storagedrive
outras máquinas na rede no intervalo de IP 10.0.0.0 - 10.0.0.255
.
Cliente que trabalha
Isso funciona corretamente com uma máquina cliente 10.0.0.40
executando o Ubuntu 13.10, conhecido como MattDev. Essa máquina /etc/fstab
fica assim:
UUID=8f8c838e-3ea2-457a-87f0-57b12dfab06c / ext4 errors=remount-ro 0 1
UUID=427089d4-46a2-432d-9df4-7016bdfc7df2 none swap sw 0 0
10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive nfs rsize=8192,wsize=8192,timeo=14,intr
E ls -al /mnt/
nessa máquina fica assim:
total 12K
drwxr-xr-x 3 root root 4.0K Feb 4 17:48 .
drwxr-xr-x 23 root root 4.0K Feb 5 08:44 ..
drwxrwxr-x 7 root plugdev 4.0K Feb 5 11:43 NetworkStorageDrive
A saída de se id
parece com isso:
uid=1000(matt) gid=1000(matt) groups=1000(matt),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),112(lpadmin),124(sambashare)
Cliente virtual que não trabalha
Eu tenho uma segunda máquina cliente, executando o Ubuntu 12.10, como sistema operacional convidado em uma máquina host com Windows 7. A máquina host está na rede como 10.0.0.28
. A máquina convidada está sendo gerenciada pelo Vagrant, usando o VirtualBox 4.3.6 como provedor. Vou ligar para o host do Windows 7, AlexDevHost, e o convidado do Ubuntu, AlexDevGuest.
A execução showmount -e 10.0.0.202
no AlexDevGuest produz:
Export list for 10.0.0.202:
/media/storagedrive 10.0.0.0/24
No entanto, quando tento montar o compartilhamento, ele falha:
$ sudo mount 10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive
mount.nfs: access denied by server while mounting 10.0.0.202:/media/storagedrive
Então comecei a procurar problemas:
$ ls -alh /mnt/
total 12K
drwxr-xr-x 3 root root 4.0K Feb 5 12:23 .
drwxr-xr-x 26 root root 4.0K Feb 5 12:23 ..
drwxr-xr-x 2 root root 4.0K Feb 5 12:23 NetworkStorageDrive
$ id
uid=1001(vagrant) gid=1001(vagrant) groups=1001(vagrant)
$
Esse uid e gid são diferentes do usuário mate no MattDev. Então, eu pensei sobre o uid para vagrant, pois li que o acesso ao NFS é controlado combinando o endereço IP e os uids. Então agora:
$ id
uid=1000(vagrant) gid=1001(vagrant) groups=1001(vagrant)
$ sudo mount 10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive
mount.nfs: access denied by server while mounting 10.0.0.202:/media/storagedrive
$
Ainda sem sucesso. Então agora estou ficando sem ideias.
- O que estou fazendo de errado?
- Se a parte do uid estiver correta, há uma maneira de verificar se a máquina do servidor NFS está vendo minha tentativa de acesso como proveniente
10.0.0.28
e não algum outro IP que não esteja no intervalo permitido?
fonte