全部博文(368)
分类: LINUX
2009-11-27 11:02:58
NFS安装与配置
1. NFS安装
系统默认已经安装了NFS软件包,如果手工安装NFS,需要5个RPM包。
setup-*: 共享NFS目录在/etc/exports中定义
initscripts-*: 包括引导过程中装载网络目录的基本脚本
nfs-utils-*: 包括基本的NFS命令与监控程序
portmap-*: 支持安全NFS RPC服务的连接
quota-*: 网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)
可以使用下面命令查看系统是否已经安装了某个软件包。
#rpm –qa |grep setup
2. 配置NFS
编辑/etc/exports,在文件中列出,要共享的目录。书写规则是:(每个共享规则一行)
共享目录 主机(参数)
例如:
/mnt/disk1 10.167.27.207(ro,sync, no_root_squash) *(ro)
上面的规则代表将/mnt/disk1目录以读写同步方式共享给主机10.167.27.207。如果登陆到NFS主机的用户是root,那么该用户就具有NFS主机的root用户的权限。对于其他IP只允许都权限
下面是一些NFS共享的常用参数:
rw: 可读写的权限;
ro: 只读的权限;
no_root_squash: 登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限root_squash: 在登入 NFS 主机使用目录的使用者如果是 root 时,那么这个使用者 的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份;
all_squash: 不管登陆NFS主机的用户是什么都会被重新设定为nobody。
anonuid: 将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。
anongid: 同 anonuid ,但是变成 group ID 就是了!
sync: 资料同步写入存储器中。
async: 资料会先暂时存放在内存中,不会直接写入硬盘。
insecure 允许从这台机器过来的非授权访问。
3. 启动NFS
# service portmap start
# service nfs start
检查NFS的运行级别:
# chkconfig --list portmap
# chkconfig --list nfs
根据需要设置在相应的运行级别自动启动NFS:
# chkconfig --level 235 portmap on
# chkconfig --level 235 nfs on
另外,还需要查看系统的iptables、/etc/hosts.allow、/etc/hosts.deny是否设置了正确的NFS访问规则。
查看端口: # netstat -lnp | grep 111
#netstat -lnp | grep 2049
4. 客户端配置
客户端运行以下命令MOUNT NFS文件系统
#mount -t nfs 10.167.27.91:/opt /mnt/disk1
5. 命令的使用
1) exportfs命令的使用:
如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs [-aruv]
参数的意义如下:
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的时候,将详细的信息输出到屏幕上。
具体例子:
[root @test root]# exportfs –rv <==全部重新 export 一次!
2) Showmount命令的使用:
# showmount [-ae] hostname
参数说明:
-a 在屏幕上显示目前主机与Client所连上来的使用目录状态 。
-e 显示hostname这部机器的/etc/exports里面的共享目录。
当要扫瞄某一主机所提供的NFS共享的目录时,就使用showmount -e IP(或主机名hostname)即可。
6. 检验目录/var/lib/nfs/xtab
检验所共享的目录内容,查看/var/lib/nfs/xtab这个文件:
# vi /var/lib/nfs/xtab
/home/cao 192.168.0.1(rw,sync,wdelay,hide,secure,root_squash,
no_all_squash,subtree_check,secure_locks, mapping=identity,anonuid=-2, anongid=-2)
这就是/home/cao这个共享出去的目录预设NFS里面的属性。
7. 安全性
portmap: 111
NFS: 2049
防止使用IP欺骗和RPC重定向技术通过lo回环进行攻击以及限定授权主机:
iptables -A INPUT -p udp -d 127.0.0.1 --dport 111 -j DROP
iptables -A INPUT -p udp -d 127.0.0.1 --dport 2049 -j DROP
iptables -A
INPUT -p udp -s
iptables -A
INPUT -p udp -s