NFS(文件共享服务)

1.安装nfs服务器

yum -y install nfs-*

rpm -ivh nfs4-acl-tools-0.3.3-1.el5.i386.rpm

rpm -ivh nfs-utils-1.0.9-42.el5.i386.rpm

rpm -ivh nfs-utils-lib-1.0.8-7.6.el5.i386.rpm

rpm -ivh nfs-utils-lib-devel-1.0.8-7.6.el5.i386.rpm

chkconfig nfs on

2.开启nfs服务

service portmap restart

service nfs restart

3.进入配置文件添加需要共享的文件(默认配置文件里面是空的)

vim /etc/exports

 

/share 192.168.11.0/24(ro,sync)

(/share是共享的文件 192.168.11.0/24 是容许访问共享的网段

ro是readonly只读,rw是readwrite可读可写,sync是同步写到缓存和硬盘

上面去,no_root_squash是用root身份登入的时候不会转换为nfs服务的虚礼

用户nfsnobody)

 

4.客户端(Linux)需开启

service portmap restart

检验nfs服务器上面有那些文件共享

showmount -e 192.168.11.1(nfs服务器的IP)

把服务器共享的东西挂载到目录中

mount -t nfs 192.168.11.1:/share /mnt(要挂载到的目录)默认只有root

用户可以挂载

 

服务名称:   nfs

主配置文件:/etc/exports

           /usr/sbin/exportfs:维护NFS共享资源的指令

           /usr/sbin/shwmount:查看NFS共享目录

           /var/lib/nfs/xtab :记录文件

 

软件包:nfs-utils

       nfs-utils-clients(有时无)

       portmap

进程:rpc.nfsd

     rpc.mountd

 

 

vi /etc/exports

#[共享目录] [允许访问的主机IP1](参数1,参数2)    [允许访问的主机IP2](参数1,参数2)

 

/tmp  *(rw,no_root_squash)

/home/public  192.168.0.0/24(rw)  *(ro)

/home/test    192.168.0.100(rw)

/home/linux   *.linux.org(rw,all_squash,anonuid=40,anongid=40)

 

 

 

权限:

ro:只读

rw:读写

no_root_squash:如果是root登入,取得所有者身份

all_squash:不管登入者是谁,都会变成nobody(默认权限)

root_squash:如果是root登入,登入后身份变成noboby(匿名用户)

anonuid:指定登入后的UID

anongid:设定登入后的GID

sync:数据同步写入到内存与硬盘中

async:数据暂存内存,不直接写入硬盘

 

启动服务:

service portmap start

service nfs start

或者:

/etc/rc.d/init.d/portmap start

/etc/rc.d/init.d/nfs start

 

 

exportfs

-a 全部挂载(或卸载)/etc/exports 内的配置

-r 重新挂载 /etc/exports 里面的配置,同步更新/etc/exports及/var/lib/nfs/xtab的内容

-u 卸载某一目录

-v 在export的时候,将共享目录显示到屏幕上

 

exportfs -rv 全部重新export 一次

exportfs -au 全部卸载

 

查看共享目录属性:

/etc/var/lib/nfs/xtab

 

showmount

-a 在屏幕上显示当前主机与Client所连上来的使用目录状态

-e 显示某主机的/etc/exports里面的共享目录

 

showmount -e localhost :显示本地共享

showmount -e 127.0.0.1

 

 

rpcinfo -p 主机名或IP

-p : 显示所有的port与program的信息

 

 

client挂载nfs共享目录

mount -t nfs IP:/home/public /aaa

 

iptables -A INPUT -p TCP --port 111 -j ACCEPT

iptables -A INPUT -p UDP --port 111 -j ACCEPT