当我配置 NFS 并在客户端 NFS 共享目录上创建文件时,我收到以下消息:没有权限。
我的配置:
配置nfs服务器
http://www.server-world.info/en/note?os=CentOS_6&p=nfs&f=1
配置nfs客户端
http://www.server-world.info/en/note?os=CentOS_6&p=nfs&f=2
哪里有问题?
答案1
修改文件后需要在服务器上运行命令/etc/exports
:
$ exportfs -a
此外,在调试 NFS 连接问题时,您可以运行命令showmount -e <nfs server>
来查看给定服务器导出的挂载内容。
例子
$ showmount -e cobbler
Export list for cobbler:
/cobbler/isos 192.168.1.0/24
运行在 nfs 客户端上的服务
您需要确保以下服务正在运行,以便客户端可以与 NFS 服务器通信:
$ chkconfig --list|grep rpc
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcidmapd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
还有这个:
$ chkconfig --list|grep nfs
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpc信息
运行上述服务后,您应该能够检查客户端是否可以对 NFS 服务器进行远程过程调用 (rpc),如下所示:
$ rpcinfo -p cobbler
program vers proto port service
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 807 status
100024 1 tcp 810 status
100011 1 udp 718 rquotad
100011 2 udp 718 rquotad
100011 1 tcp 721 rquotad
100011 2 tcp 721 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 60327 nlockmgr
100021 3 udp 60327 nlockmgr
100021 4 udp 60327 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100021 1 tcp 57752 nlockmgr
100021 3 tcp 57752 nlockmgr
100021 4 tcp 57752 nlockmgr
100005 1 udp 750 mountd
100005 1 tcp 753 mountd
100005 2 udp 750 mountd
100005 2 tcp 753 mountd
100005 3 udp 750 mountd
100005 3 tcp 753 mountd
安装和内核模块
我看到你在答案中写的内容,然后你删除了。您应该将该信息添加到问题中!
我现在明白你在哪里被难住了。我不相信你应该使用以下方式安装:
$ mount -t nfsd ...
那应该是:
$ mount t nfs ...
尝试改变这一点。我也明白你最终在哪里被难住了。您没有加载 nfs 内核模块。
$ modprobe nfs
答案2
我发现 Ubuntu 15.04 已于 4 月底更新。如果外部 USB 驱动器安装到用户主目录,而不是默认的音乐/视频文件夹,则只能通过 NFS 共享外部 USB 驱动器。然后服务器上没有人:没有组。导出根目录的 fsid=0 也必须在那里。这一切都有效。我可以提供来自第一个客户端的示例,然后是服务器的示例。
客户端-fstab server:/home/userid/MyMusic /home/clientid/Music nfs auto 0 0
server:/home/userid/MyVideo /home/clientid/Videos nfs auto 0 0
我将把服务器部分作为单独的答案发布,因为我还没有访问根目录的权限