现在的位置: 首页 > 综合 > 正文

mount nfs时出现错误:reason given by server: Permission denied

2013年05月16日 ⁄ 综合 ⁄ 共 1929字 ⁄ 字号 评论关闭
如果你以前没有装过nfs服务的话那么首先要下载几个包:
#apt-get install nfs-kernel-server
#apt-get install nfs-common //可选
安装nfs-kernel-server的时候系统会自动下载另外一个包portmap;

安装结束后,配置文件是/etc/exports,主要是设置服务器的共享目录以及权限的,
在后面加上你的共享目录即可。我的配置文件如下: 
# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes gss/krb5i(rw,sync)
#
/arm9test 127.0.0.3(rw,sync,no_root_squash)
/arm9test 127.0.0.2(rw,sync,no_root_squash)

其中/arm9test表示服务器要共享的目录,把这个改成你要共享的目录就可以了,127.0.0.1和127.0.0.2都是服务器所允许访问的主机 名,就是说你可以设置哪台主机可以访问你的共享目录,如果用一个“*”来代替这个ip地址的话就是允许所有的主机访问你的共享目录,后面的几个参数就不说 了。
设置好配置文件后,保存退出,执行
#sudo exportfs -r 更新exportfs
执行这个命令的时候可能会提示一些错误,如下:
lmz@lmz-desktop:~/arm9$ sudo exportfs -r
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "218.192.161.80:/arm9test".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "218.192.161.65:/arm9test".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
这些问题并不影响后面的使用;
然后重启nfs服务,执行下面命令
#sudo /etc/init.d/portmap restart
#sudo /etc/init.d/nfs-kernel-server restart
成功启动后,执行
#showmount -e 
查看NFS server的export list.
我的机器上的输出是:
lmz@lmz-desktop:~/arm9$ showmount -e
Export list for lmz-desktop:
/arm9test 127.0.0.3,127.0.0.2

至此,可以在自己的机子上测试一下nfs服务了,具体过程如下:
#mount serverip:/arm9test /mnt
其中serverip实际上就是服务器的ip,千万不要少了serverip后面的那个“:”哦,会出错的
如果挂载成功的话进到/mnt是可以看到/arm9test下面的文件的,如果出错的话就要查找一下原因了。

在自己电脑上测试通过以后就要把宿主机的共享目录挂载到目标板上了,这样调试程序非常方便,不用把程序传过去就可以直接调试了。挂载过程如下:
首先开机启动2410,进入linux,进入shell,配置板子的ip地址,
#ifconfig eth0 ipaddr
ipaddr就是上面所设置的允许访问共享目录的ip,在这里可以设为127.0.0.2,然后执行嗯命令:
#mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 serverip:/arm9test /mnt/ext1
把serverip改为你自己的主机的ip就可以了,这个时候要确认你的主机的nfs服务已经启动,并且网线已经连接好,正常情况下等一下就可以完成挂载 了

抱歉!评论已关闭.