Я создал запись общего ресурса nfs
mzhu@zeus:/share$ cat /etc/exports
/share *(rw,async,insecure)
В локальной файловой системе выполните ls -al в / share. На выходе
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
Затем я монтирую общий ресурс nfs в ~ / test в той же машине. Вывод монтирования (я удаляю только информацию об IP)
zeus:/share on /home/mzhu/test type nfs (rw,vers=4,addr=x.x.x.x,clientaddr=x.x.x.x)
Из NFS выполните 'ls -al'. Результат:
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
Сравните 2 вывода, вы обнаружите, что в локальной файловой системе отметка времени и разрешение 'build' равны
drwxrwxr-x 8 mzhu mzhu 4096 May 21 16:53 build
в то время как в общей папке nfs (даже на той же машине) метка времени и разрешение 'build' равны
drwxr-xr-x 2 root root 4096 Oct 20 2013 build
У них разные разрешения, владелец, группа и отметка времени.
Кто-нибудь может мне сказать, в чем разница? Или подскажите, как отладить / устранить эту проблему?
P.S. Когда я создал общий ресурс nfs в первый раз, системная дата / время - октябрь 2013 г., но я настроил дату / время и перезагрузил компьютер.
Информация о выпуске 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
РПЦИНФО:
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
РЕДАКТИРОВАТЬ:
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)
Можете ли вы показать нам результат mount
? Это ожидаемое поведение, если у вас есть другие файловые системы в / share / build и / share / team - локальный ls
увидит смонтированную файловую систему, клиент NFS увидит только каталоги точек монтирования. Чтобы получить такое же представление, вам необходимо также предоставить общий доступ к нижним файловым системам и смонтировать их на клиентах.
РЕДАКТИРОВАТЬ: mount
добавленный вами вывод подтверждает мою гипотезу: здесь три тома, / share является частью sda1, / share / build - sdb1, а / share / team - sdc1. Очевидно, это был октябрь 2013 года, когда вы создали точки монтирования на sda1 для sdb1 и sdc1, но теперь, когда вы смонтировали поверх них, вы больше не можете видеть эти каталоги из локальной системы. Однако на клиенте NFS дополнительные тома не монтируются, и вы можете видеть исходные точки подключения. Вы можете изучить это самостоятельно, создав файлы и каталоги в /home/mzhu/test/build
- они не будут отображаться в / share / build, а вместо этого будут использовать пространство из sda1.
Разница в владельце связана с разными UID и GID. Если у вас нет одного и того же UID для мжу в обеих системах, на общем ресурсе он упадет до root.