A diferença no proprietário deve-se a diferentes UID e GID. Se você não tem o mesmo UID para o mzhu em ambos os sistemas, no compartilhamento ele irá cair para root.
Eu criei uma entrada de compartilhamento nfs
mzhu@zeus:/share$ cat /etc/exports
/share *(rw,async,insecure)
No sistema de arquivos local, execute 'ls -al' em / share. A saída é
mzhu@zeus:/share$ ls -al
total 20
drwxrwxrwt 5 mzhu mzhu 4096 May 23 15:12 .
drwxr-xr-x 25 root root 4096 Nov 6 2013 ..
-rw-rw-r-- 1 mzhu mzhu 0 May 23 15:12 1
drwxrwxr-x 2 mzhu mzhu 4096 May 23 15:12 2
drwxrwxr-x 8 mzhu mzhu 4096 May 21 16:53 build
drwxr-xr-x 54 mzhu mzhu 4096 May 21 19:15 team
Depois montei o compartilhamento nfs em ~ / test na mesma máquina . A saída de montagem é (eu só removo as informações de IP)
zeus:/share on /home/mzhu/test type nfs (rw,vers=4,addr=x.x.x.x,clientaddr=x.x.x.x)
Frome o NFS, execute 'ls -al'. A saída é:
mzhu@zeus:~/test$ ls -al
total 20
drwxrwxrwt 5 mzhu mzhu 4096 May 23 15:12 .
drwxr-xr-x 32 mzhu mzhu 4096 May 23 15:30 ..
-rw-rw-r-- 1 mzhu mzhu 0 May 23 15:12 1
drwxrwxr-x 2 mzhu mzhu 4096 May 23 15:12 2
drwxr-xr-x 2 root root 4096 Oct 20 2013 build
drwxr-xr-x 2 root root 4096 Oct 21 2013 team
Compare as 2 saídas, você encontrará, no sistema de arquivos local, a data e a hora de 'build' é
drwxrwxr-x 8 mzhu mzhu 4096 May 21 16:53 build
enquanto em nfs share (até mesmo a mesma máquina), a data e a permissão de 'build' são
drwxr-xr-x 2 root root 4096 Oct 20 2013 build
Eles têm diferentes permissões, proprietário, grupo e hora.
Existe alguém que possa me dizer por que a diferença? Ou me diga como depurar / solucionar esse problema?
P.S. Quando criei o compartilhamento nfs na primeira vez, a data / hora do sistema é outubro de 2013, mas ajustei a data / hora e reiniciei a máquina.
A informação de lançamento do Ubuntu:
mzhu@zeus:/share$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.2 LTS
Release: 12.04
Codename: precise
RPCINFO:
mzhu@zeus:~/test$ rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 54306 status
100024 1 tcp 48737 status
100021 1 udp 42616 nlockmgr
100021 3 udp 42616 nlockmgr
100021 4 udp 42616 nlockmgr
100021 1 tcp 55986 nlockmgr
100021 3 tcp 55986 nlockmgr
100021 4 tcp 55986 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049
100227 3 tcp 2049
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049
100227 3 udp 2049
100005 1 udp 59947 mountd
100005 1 tcp 46390 mountd
100005 2 udp 38311 mountd
100005 2 tcp 57959 mountd
100005 3 udp 55855 mountd
100005 3 tcp 50799 mountd
EDITAR:
mzhu@zeus:/share$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sdb1 on /share/build type ext4 (rw)
/dev/sdc1 on /share/team type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
cpddae:/cpddae/images on /mnt/cpddae type nfs (rw,addr=x.x.x.x)
gvfs-fuse-daemon on /var/lib/lightdm/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=lightdm)
x.x.x.x:/share on /mnt/share type nfs (rw,addr=x.x.x.x)
nfsd on /proc/fs/nfsd type nfsd (rw)
zeus:/share on /home/mzhu/test type nfs (rw,vers=4,addr=x.x.x.x,clientaddr=x.x.x.x)
A diferença no proprietário deve-se a diferentes UID e GID. Se você não tem o mesmo UID para o mzhu em ambos os sistemas, no compartilhamento ele irá cair para root.
Você pode nos mostrar a saída de mount
? Este é o comportamento esperado se você tiver mais sistemas de arquivos em / share / build e / share / team - o local ls
verá o sistema de arquivos montado, o cliente NFS verá apenas os diretórios de ponto de montagem. Para obter a mesma visualização, você também precisa compartilhar os sistemas de arquivos inferiores e montá-los nos clientes.
EDIT: A saída mount
que você adicionou confirma minha hipótese: há três volumes aqui, / share faz parte de sda1, / share / build é sdb1 e / share / team é sdc1.
A data foi aparentemente de outubro de 2013 quando você criou os pontos de montagem em sda1 para sdb1 e sdc1, mas agora que você montou sobre eles você não pode mais ver esses diretórios do sistema local. No cliente NFS, no entanto, os volumes extras não são montados e você pode ver os pontos de montagem originais.
Você mesmo pode explorar isso criando arquivos e diretórios em /home/mzhu/test/build
- eles não serão exibidos em / share / build, mas usarão espaço de sda1.
Tags nfs filesystems ubuntu