NFS:
实现不同网络
,
不同系统之间文件的共享
软件包:
nfs-util
被做进内核
不需要安装
进程:
nfsd
内核线程,
lockd
内核线程,
rpc.mountd
,
rpc.statd
文件加锁,
rpc.quotad
应用磁盘配额
ps aux
可以查看到
nfsd lockd
脚本:
nfs
nfslock
客户端一般自动启动,做锁恢复
端口:
tcp/249 udp/2049
配置文件:
/etc/exports
主配置文件
/etc/sysconfig/nfs
辅助配置文件
格式:共享目录
ip
或主机名(选项)
/share 192.168.0.0/255.255.255.0(rw)
选项:
rw
读写挂载
ro
自读挂载
async
异步写入
sync
同步写入
root_squash root
访问时转换成
nfs
的匿名用户即
nobody
用户,防止
root
用户具有过高权限
用户
uid
一样出问题
no_root_squash
不转换
all_squash
所有的转换
客户端参数:
ip
网络:长短格式都支持
192.168.0.0/24
或
192.168.0.0/255.255.255.0
域:
*.example.com
单个主机:
192.168.0.1
netgroup
:
NIS
的
@group
客户端:查看共享目录
showmount -e 192.168.0.65(nfs
服务器的
ip)
服务端:
showmount -a
-d
只显示哪个目录被客户端挂载了
额外命令:
exportefs
不用重启服务也可导出共享目录
-a
导出所有目录
与
r (
重新导出
)
连用
,
不与
a
连用
后跟导出的目录
-u
取消导出
-v
显示详细信息
客户端访问被服务端导出的目录方式:
1
、
/etc/fstab
自动挂载
2
、
/etc/init.d/netfs
脚本
3
、
autofs
4
、
手动挂载
NFS
工作:
rpc.mounted
和
NFSv3
NFS
共享:基于
rpc
工作
提供
rpc
服务
远程
service portmap status
状态
要开启
rpc
是否工作正常
rpcinfo -p
服务器
ip
查看服务器的状态
rpcinfo -p 192.168.0.254
rpcinfo -p localhost
看本地的
导出目录的安全准则:
不要导出服务端的服务目录
一般导出整个文件系统
不要是目录
不要使用
no_root_squash
参数
谨慎使用
crossmnt
和
nohide
crossmnt
添加该参数
一个文件系统被导出
如果它的子目录也被导出的时候
用户是可以看
见访问的
较为危险
nohide
挂载的子目录,其父目录被挂载时
用户是可见的
hecrossmnt
作用相似
NFS
的缺陷:
1
、辅助性的协议端口是随机的
2
、客户端认证时基于
ip
和主机名的
不是用户名
不条件信任的
3
、
NFS
时明文的
对数据完整性不作认证
4
、管理麻烦
针对
1
的解决方法:
使用固定端口
手动定义
在
/etc/sysconfig/nfs
配置固定端口
不能和其他冲突
查看端口是否在使用:
grep 4004 /etc/services
查看
NFS
分享的资源
showmount -e 192.168.0.254
查看对方服务器共享的资源
mount 192.168.0.254:/var/ftp/pub /mnt/ji
可以直接使用
NFS
的
selinux
的
bool
值
nfs_export_all_ro
默认开启
nfs_export_all_rw
默认开启
use_nfs_home_nfs
开启家目录的
自动挂载:
/etc/fstab
192.168.0.254:/var/ftp/pub /mnt/ji nfs defaults 0 0
automounter
:自动挂载工具
service autofs status
要开启
直接挂载
:手动指定挂载位置
vim /etc/auto.master
/- /etc/auto.pub
vim /etc/auto.pub
/pub(
该目录要存在
) -rw,soft 192.168.0.254:/var/ftp/pub
mkdir /pub
重启用
autofs
服务
直接挂载本地设备
vim /etc/auto.master
/- /etc/auto.pub
Vim /etc/auto.pub
/media/cdrom -fstype=iso9660,ro,soft :/dev/cdrom
重启
autofs
服务
间接挂载:
挂载目录不是绝对路径()
目录也可不存在
vim /etc/auto.master
/share /etc/auto.pub
vim /etc/auto.pub
pub(
该目录在
share
目录下不存在
) -rw,soft 192.168.0.254:/var/ftp/pub
-intr
可以中断挂载
-soft
挂载时若挂载不上会自动显示返回错误信息
-hard
一般不常用但是默认选项,可以与
intr
连用
-nouser
只允许管理员挂载
连用两个参数用逗号隔开
-rw
,
-inrt
使用通配符自动挂载
简介挂载服务器某目录下的所有子目录
在
/etc/auto.master
配置
/home/guests /etc/auto.home
vim /etc/auto.home
* -rw.soft 192.1680.254:/hoem/guests/& (&
表示子目录都单独挂载过来
)
在测试时由于是用户的家目录所以不显示