nfs简单使用

来源:互联网 发布:淘宝双十一数据 编辑:程序博客网 时间:2024/06/08 09:23


先保证nfs服务端和客户端安装了rpcbind(旧点的版本是portmap),nfs

查看/etc/init.d/目录下有没有nfs、nfslock、rpcbind等几个启动脚本文件

没有的话需要安装

yum install rpcbind

yum install nfs-utils

启动rpcbind和nfs


service nfs start、service rpcbind start

用service nfs status、service rpcbind status查看rpcbind和nfs状态

一定要先启动rpcbind,后启动nfs,因为nfs需要rpcbind的服务

# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
                                                           [FAILED]
Starting NFS mountd:                                       [FAILED]
Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: unable to set any sockets for nfsd
                                                           [FAILED]
[root@localhost samba]# service rpcbind start
Starting rpcbind:                                          [  OK  ]
[root@localhost samba]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
[root@localhost samba]#


与nfs相关的deamon程序:

rpc.mountd/rpc.nfsd/rpc.lock/rpc.statd


nfs服务端配置:

/etc/exports文件:


cat /etc/exports

/home/nfs_share 192.168.0.0/16(rw,no_root_squash,sync)

/home/share2 192.168.1.96(rw,no_root_squash,sync)

/home/share3  *(rw,no_root_squash,sync)

/home/share4  yang.baidu.com(rw,no_root_squash,sync)

/home/share5  *.baidu.com(rw,no_root_squash,sync)

上面为几条常见的配置:

/home/share1~5为服务器希望共享出去的目录,192.168.0.0/16等表示共享给谁,可以用主机ip地址、网段、主机名、主机名可以包含通配符,但是ip地址形式表示时一定不能出现*号。*表示共享给所有的客户。用主机名表示时主机名一定要通过dns系统或在/etc/hosts目录下找到对应的IP地址。括号里面表示共享的目录的权限,常用的几个权限:

ro:read only

rw:read/write

root_squash:客户端已root用户名访问共享目录时,在服务端被映射为匿名用户,对共享目录拥有匿名用户对应的权限

no_root_squash:与root_squash相反,扔保持root用户身份,对共享目录用root用户权限

all_squash:所有的服务端的用户名都映射为匿名用户

no_all_squash:都保持原有的用户名

anonuid:映射为匿名用户后的uid,默认是65534

anongid:映射为匿名用户后的gid,默认是65534

/etc/passwd中记录的与nfs相关的用户名

rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

/var/lib/nfs/etab文件中登记了详细的权限配置

cat /var/lib/nfs/etab
/home/nfs_share 192.168.0.0/16(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)


客户端配置

客户端把服务端共享出的目录挂载到本地,就可以像访问本地文件系统一样访问服务端的共享目录了

mount 192.168.1.96:/home/nfs_share /mnt/local_dir

192.168.1.96是服务端的ip地址,/home/nfs_share就是上面共享的目录


几个相关的命令:

showmount:显示登录nfs的客户ip,客户端和服务都可以使用

# showmount 192.168.1.96
Hosts on 192.168.1.96:

192.168.1.200

exportfs:在服务端使用,查看共享的目录以及共享给谁

#exportfs
/home/nfs_share
192.168.0.0/16


客户端对服务端共享目录的权限:

1)主机名或ip地址检查是否通过,也就是

/home/nfs_share 192.168.0.0/16(rw,no_root_squash,sync)

服务端的ip地址是否通过“192.168.0.0/16"的检查符合条件

2)nfs共享权限是否通过

也就是(rw,no_root_squash,sync)部分的权限检查

3)服务端的权限检查

      1)2)权限检查通过后,相当于一个用户登录了服务端,进行linux系统常规的用户权限检查。

0 0
原创粉丝点击