Linux使用入门教程之NFS、Samba、ACL权限、SELinux和RPM包管理
一、NFS网络文件共享服务
1、简单介绍
NFS包含3个版本:NFSv2、NFSv3、NFSv4
RHEL6是以NFSv4作为默认版本,NFSv4使用TCP协议,默认NFS占用5个端口,1个NFS端口(2049),四个动态端口,而老版本的NFS可以在TCP协议或者是UDP协议上运行。
/etc/exports:NFS服务的主配置文件,该文件的最主要目的是发布共享目录并为共享目录限制权限。
/var/lib/nfs/xtab:这个文件主要用来记录客户端与NFS服务器的连接记录。
格式:共享目录 客户端 参数
客户端 | 示例 |
使用IP地址指定单一主机 | 10.20.30.40 |
使用IP地址指定范围主机 | 172.16.0.0/16 |
使用IP地址指定范围主机 | 192.168.1.* |
使用域名指定单一主机 | Test.ice.apple |
使用域名指定范围主机 | *.ice.apple |
使用通配符指定所有主机 | * |
参数 | 说明 |
ro | 设置共享权限为只读 |
rw | 设置共享权限为读写 |
root_squash | 共享目录的使用者是root时,将被映射为匿名账号(nobody) |
no_root_squash | 当使用NFS服务器共享目录的使用者是root时,将不被映射为匿名账号 |
all_squash | 将所有使用NFS服务器共享目录的使用者都映射为匿名账号 |
anonuid | 设置匿名账号的UID |
anongid | 设置匿名账号的GID |
sync | 将数据同步写入内存和硬盘。这可能导致效率降低 |
async | 先将数据保存在内存中,而不是直接保存在硬盘 |
2、安装nfs
yum install -y nfs-utils
service rpcbind start
service nfs start
chkconfig rpcbind on
chkconfig nfs on
一定要先启动rpcbind,默认端口111,然后再启动nfs,不然NFS quotas和NFS daemon都将启动失败.
3、共享目录设置
vi /etc/exports
/media 192.168.0.10(rw,no_root_squash)
/test 192.168.0.0/24(ro)
4、exportfs命令
exportfs -r #刷新共享配置
exportfs -v #查看当前共享配置
exportfs -auv #用于停止当前主机中NFS服务器的所有目录输出
exportfs -av #用于输出NFS服务器的所有共享目录
showmount -e #在NFS Server上执行此命令显示NFS Server上所有的共享卷
5、客户端使用
showmount -e #查看NFS服务器发布的共享目录
mount -t nfs IP:/media 本地挂载点
开机自动挂载设置:
vi /etc/fstab
NFS服务器的IP:共享目录 挂载点 nfs defaults 0 0
6、设置nfs固定端口
默认情况下安装完,nfs使用的都是动态端口,开启防火墙就麻烦了,nfs启动时,会读取/etc/sysconfig/nfs文件,所以我们要修改它,来强制使用固定端口。
vi /etc/sysconfig/nfs
mount-port="4001"
statd-port="4002"
lockd-tcpport="4003"
lockd-udpport="4004"
7、设置防火墙
iptables -P INPUT DROP
iptables -A INPUT -p tcp -m multiport --dport 2049,4001,4002,4003,4004 -j ACCEPT
相关阅读: