赞
踩
NFS(Network File System)
即文件操作系统;NFS
允许网络中不同计算机相互之间共享资源。SUN
发展出来的在UNIX&Linux
系统间实现文件共享的一种方法;NFS
只提供网络文件共享,不提供数据传输功能;NFS
客户端和服务端需借助RPC(Remote Procedure Calls)
实现数据传输;NFS
服务器目录被访问称为导出(export
),客户机访问导出目录过程称为挂载(mount
)或导入(import
)。第一步:访问NFS共享资源,NFS客户端发出询问请求,即客户端RPC服务通过网络向服务端RPC服务的111端口发出询问请求。
第二步: NFS服务端RPC找到对应已注册的NFSdaemon端口,通知客户端RPC;
第三步:NFS客户端获取端口,直接与NFSNFSdaemon联机存储数据。
第四步:NFS客户端吧数据存储成功后,告诉用户结果。
rpm -qa | grep nfs-utils
rpm -qa | grep rpcbind
yum clean all
yum -y install nfs-utils rpcbind
systemctl status rpcbind.service
systemctl status nfs.service
systemctl start rpcbind.service
systemctl start nfs.service
systemctl stop nfs.service
systemctl restart nfs.service
systemctl enable rpcbind.service
systemctl enable nfs.service
/etc/exports
;共享目录 [客户端1(参数)] [客户端2(参数)]
共享目录:NFS服务器需要共享的实际路径(绝对路径);
客户端:可以访问共享目录的计算机。
客户端 | 说明 |
---|---|
192.168.1.111 | 指定IP地址的主机 |
192.168.1.0/24 | 指定子网的所有主机 |
192.168.1.* | 指定子网的所有主机 |
www.xxx.com | 指定域名的主机 |
*.xxx.com | 指定域中的所有主机 |
* | 所有主机 |
访问权限参数:访问权限设置。
访问权限 | 说明 |
---|---|
ro | 只读 |
rw | 读写 |
用户映射参数
用户映射 | 说明 |
---|---|
all_squash | 将远程访问的所有用户映射为匿名用户或用户组(nfsnobody ) |
no_all_squash | 与上边相反(默认设置) |
root_squash | 将root用户… (默认设置) |
no_root_squash | 与上边相反 |
anonuid=xxx | 将该匿名账号为本地账号(UID=xxx ) |
anongid=xxx | 将该匿名用户组为本地用户组(GID=xxx) |
其它参数:对输出目录进行控制。
其它参数 | 说明 |
---|---|
secure | 限制客户端只能从小于1024的TCP/IP端口链接NFS |
insecure | 语序客户端大于1024的TCP/IP端口连接NFS |
sync | 将数据同步写入内存缓冲区与磁盘中 |
async | 将数据先保存在缓冲区中,必要时才写入磁盘 |
wdelay | 检查是否有相关的写操作 |
no_wdelay | 有写操作立即执行,与sync 配合使用 |
subtree_check | 若输出目录为子目录,则NFS服务器将检查父目录的权限 |
no_subtree_check | 若输出目录为子目录,则NFS服务器不检查父目录的权限 |
/mnt/temp
目录,只给IP为172.16.1.33
的计算机进行读写权限:/mnt/temp 172.16.1.33 (rw, sync)
/mnt/temp01
目录,只给子网中为172.16.1.0/24
的计算机进行读写权限,其他计算机制只读权限:/mnt/temp0 172.16.1.0/24 (rw, async) * (ro)
showmount [选项] (参数)
-d:仅显示已被NFS客户端加载的共享目录;
-e:显示NFS服务器上所有的共享目录。
showmount -e 192.168.0.190
在使用showmount时建议关闭防火墙,将SELinux设为为允许。
systemctl stop firewalld.service
setenforce 0
getenforce
将NFS的共享目录挂在到本地:
mount -t NFS服务器IP:输出目录 本地挂在目录
mkdir /mnt/mytemp
mount -t nfs 192.168.0.190:/mnt/mytemp /mnt/mytemp
umount 挂载点
192.168.0.190: /mnt/temp /mnt/mytemp nfs defaults 0 0
- 要求1:共享目录/mnt/temp,允许192.168.0.0/24网段内计算机访问;
- 要求2:共享目录/mnt/share, 允许用户zhang访问,IP为192.168.0.10;
- 要求3:共享目录/mnt/upload,允许192.168.0.0/24网段作为上传目录,所属组为nfsupload,UID和GID均为666;
- 要求4:共享目录/mnt/nfs,除192.168.0.0/24网段用户访问,只读,可向internet提供数据内容;
yum -y install rpcbind
yum -y install nfs-utils
# 创建目录:
mkdir -p /mnt/temp
mkdir -p /mnt/share
mkdir -p /mnt/upload
mkdir -p /mnt/nfs
# 创建测试文件
touch /mnt/temp/temp1.txt /mnt/temp/temp2.txt
touch /mnt/share/data1.txt /mnt/share/data2.txt
touch /mnt/upload/upload.txt
touch /mnt/nfs/nfs1.txt /mnt/nfs/nfs2.txt
# 要求1:
chmod 1777 /mnt/temp/
ll -d /mnt/temp/
# 要求2:
useradd zhang
passwd zhang
cat /etc/passwd | grep zhang
chmod 700 /mnt/share/
chown -R zhang:zhang /mnt/share/
ll -d /mnt/share/
# 要求3:
groupadd -g 666 nfsupload
useradd -g 666 -u 666 -M nfsupload
cat /etc/passwd | grep nfs
chown -R nfsupload:nfsupload /mnt/upload
ll -d /mnt/upload/
# 要求4:
ll -d /mnt/nfs/
/etc/exports
:/mnt/temp 192.168.0.0/24 (rw,no_root_squash)
/mnt/share 192.168.0.10 (rw)
/mnt/upload 192.168.0.0/24 (rw,all_squash,anonuid = 666,anongid = 666)
/mnt/nfs 192.168.0.0/24 (ro) * (rw,all_squash)
systemctl stop firewalld.service
setenforce 0
getenforce
systemctl restart nfs
yum -y install nfs-utils
showmount -e 192.168.0.190
mkdir /mnt/ClientNFS
mount -t nfs 192.168.0.190:/mnt/nfs/ /mnt/ClientNFS/
groupaddd -g 666 nfsupload
useradd -g 666 -u 666 -M nfsupload
以下内容请忽略哈~
var code = "b63aa6d3-45eb-4e38-a9db-4b391f9391f1"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。