Home > Database > Mysql Tutorial > mount.nfs: access denied by server while mounting解决由权限

mount.nfs: access denied by server while mounting解决由权限

WBOY
Release: 2016-06-07 15:43:56
Original
12269 people have browsed it

报错:mount.nfs: access denied by server while mounting localhost:/root/nfs_root 挂载的时候,挂载不上。提示访问拒绝。原因是如果挂载在root目录下,默认root目录只有管理员权限,需要执行:chmod 777 root修改权限解决问题。 mount -t nfs -o nolock

报错:mount.nfs: access denied by server while mounting localhost:/root/nfs_root

挂载的时候,挂载不上。提示访问拒绝。原因是如果挂载在root目录下,默认root目录只有管理员权限,需要执行:chmod 777 root修改权限解决问题。

mount -t nfs -o nolock localhost:/root/XXX  /mnt/


参考博客:

http://blog.csdn.net/chenqiai0/article/details/8535467

http://blog.csdn.net/imxiangzi/article/details/7465560


---------------------------------------------------------------------------------------------------------

一、安装NFS
# sudo apt-get install nfs-kernel-server

同时会有两个软件包nfs-common和portmap被安装上

二.在/建立共享项目nfst 
# mkdir nfs_shared 
# chmod 777 -R nfs_shared/

保证使用者都能够读、写、执行


三.修改NFS配置文件
lingd@ubuntu:~$ vi /etc/exports
内容为:
     /home/nfst_shared     192.168.0.*(rw,sync,no_root_squash,no_subtree_check)

   其中:
     /home/nfst_shared  ---要共享的目录
     192.168.0.*---允许访问的网段,也可以是ip地址、主机名(能够被服务器解析)、
               *(所有人都能访问)
     (rw,sync,no_root_squash,no_subtree_check)---
rw:读/写权限
                sync:数据同步写入内存和硬盘
                no_root_squash:服务器允许远程系统以root特权存取该目录
no_subtree_check:关闭子树检查

其他选项可以通过man exports查阅man文档


四、启动服务
重启portmapper(端口映射)服务
lingd@Ubuntu:~$ sudo service portmap restart
portmap start/running, process 550
重启NFS服务
lingd@ubuntu:~$ sudo service nfs-kernel-server restart
 * Stopping NFS kernel daemon                                            [ OK ] 
 * Unexporting directories for NFS kernel daemon...                      [ OK ] 
 * Exporting directories for NFS kernel daemon...                        [ OK ] 
 * Starting NFS kernel daemon                                            [ OK ]

五、测试
1、测试Ubuntu nfs
  此时可以运行以下命令来显示一下共享出来的目录:
  $showmount -e

2、本机挂载
# ls /home/nfst_shared/   #被挂载的文件夹下面的东西
cross-3.4.1.tar.bz2  linux-2.6.12        upload
download             msap                VMwareTools-8.1.3-203739.tar.gz
DSDT_2[1].8b.zip     ntp                 vmware-tools-distrib
DSDT_2.8b            protocol-converter  安装包


# mkdir /mnt/nfs_test
# ls /mnt/nfs_test/   #空白的
# sudo mount -t nfs -o nolock localhost:/home/nfs_shared  /mnt/nfs_test/
# ls /mnt/nfs_test/    #看到了和/home/nfst_shared/目录下的文件一样,说明挂载成功
cross-3.4.1.tar.bz2  linux-2.6.12        upload
download             msap                VMwareTools-8.1.3-203739.tar.gz
DSDT_2[1].8b.zip     ntp                 vmware-tools-distrib
DSDT_2.8b            protocol-converter  安装包

# sudo umount /mnt/nfs_test  #解除
# ls /mnt/nfs_test/   #空白的

3、开发板挂载
lingd@Ubuntu:~$ telnet 192.168.0.25 2009
Trying 192.168.0.25...
Connected to 192.168.0.25.

Escape character is '^]'.

(none) login: root
Password: 
~ # mkdir /mnt/nfs_shared_client
~ # ls /mnt/nfs_shared_client/

~ # mount -t nfs -o nolock 192.168.0.26:/home/nfs_shared   /mnt/nfs_shared_client
~ # ls /mnt/nfs_shared_client/
cross-3.4.1.tar.bz2  linux-2.6.12        upload
download             msap                VMwareTools-8.1.3-203739.tar.gz
DSDT_2[1].8b.zip     ntp                 vmware-tools-distrib
DSDT_2.8b            protocol-converter  安装包

~ # umount /mnt/nfs_shared_client
~ # ls /mnt/nfs_shared_client/

~ # 

六、挂载nfs文件系统失败的原因

1、nfs错误信息

Too many levels of remote in path:试图挂载一个存在的文件系统

Permission denied:NFS服务器不让客户机挂接,也可能是因为用户在服务器上不存在

No such host:通常是DNS配置错误

No such file or directory:通常是访问的目录不存在

NFS server is not responding:通常是NFS已经超过负载或者NFS已经停止工作

Stale file handle:在NFS客户端关闭之前客户端访问的文件被删除

Fake hostname:Forward和reverse的DNS记录在NFS客户端下不存在

2、挂载nfs文件系统失败的原因

(1)主机和网络不通:看看网线连接、主机和开发板ip是否在同一网段、防火墙有没有关闭等。不仅vmware中linux的防火墙要关闭,vmware外xp的防火墙也要关闭,我就因为xp中的eset杀毒软件的防火墙使nfs无法挂载(可以挂本机,无法挂远程),折腾了一天,后来才发现是xp中的防火墙搞的鬼!


(2)使用的mount命令不正确。可以参照上面的例子改一下;或者man nfs查阅一下nfs的man文档,里面有nfs中mount的使用介绍和选项解释


(3)nfs配置文件/etc/exports配置不正确。可以参照上面的例子改一下;或者man exports查阅一下/etc/exports的man文档


(4)必要时重新启动NFS和portmap服务。

sudo service portmap restart

sudo service nfs-kernel-server restart


(5)内核不支持NFS和RPC服务(可能需要重新配置、编译、烧写内核)。

普通的内核应有的选项为CONFIG_NFS_FS=m、CONFIG_NFS_V3=y、CONFIG_ NFSD=m、CONFIG_NFSD_V3=y和CONFIG_SUNRPC=m。

rpcinfo命令用于显示系统的RPC信息,一般使用-p参数列出某台主机的RPC服务。rpcinfo -p命令检查服务器时,应该能看到portmapper、status、mountd、nfs和nlockmgr。用该命令检查客户端时,应该至少能看到portmapper服务(开发板可能不带该命令)。由rpcinfo -p可知,nfs使用的port为2049,portmapper使用111port。


五、nfs相关的配置文件与命令

1、/etc/exports

NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在(需要自己建立)。


2、/usr/sbin/exportfs

用于维护NFS共享资源的命令,用在nfs server端。修改/etc/exports后,只要使用exportfs重新扫瞄一次 /etc/exports,重新将设定加载即可,并不一定要重启nfs服务

命令格式: exportfs [-aruv]

参数说明如下。

(1)-a:全部挂载或卸载(export or unexpect)/etc/exports文件内的目录。

(2)-r:重新挂载(reexport)/etc/exports中的目录,并将/var/lib/nfs/etab中的内容与/etc/exports同步。

(3)-u:卸载某些目录。

(4)-v:显示exportfs处理信息。


3、/usr/sbin/showmount

用于查看指定主机NFS共享出来的目录资源,主要用在Client端。

命令格式: showmount [-ade] hostname/服务器ip地址

参数说明如下。

(1)-a或-all:以host:dir格式显示客户主机名和挂载的目录。

(2)-d或-directories:仅显示被客户挂载的目录名。

(3)-e或-exports:显示指定NFS服务器的nfs共享目录。









========================================
ubuntu配置NFS 
http://blog.sina.com.cn/s/blog_6524fd1f0100r4hm.html


Ubuntu配置NFS的Client端
http://hi.baidu.com/mvp_xuan/blog/item/5f467e58792c8d3d2834f0e2.html


Ubuntu配置网络文件共享服务器NFS
http://www.ylmf.net/ubuntu/tips/201010267655.html
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template