简介:常用的文件共享方式有ftp、nsf和samba三种,其中ftp的客户可以是任意平台, nfs则是面向linux/unix用户的,而samba是专门针对windows客户的。
SAMBA是DEC开始开发的,用于在不同的Unix机器间的资源共享,开始使用udp协议。后来基于tcp重新开发后,效率有了很大提高。它使用的协议是SMB。samba自然主要用于在windows和unix之间共享资源。资源包括文件、打印机等等。
NFS是SUN开发的,用于UNIX/LINUX机器之间的资源共享。其设置相当容易,主要是配置/etc/exports文件,然后运行exportfs -a来共享出来。现在NFS已经成为UNIX/LINUX上的标配。
FTP的目的是在Inte.NET上共享文件而发明的一种协议,基于TCP/IP。世界上绝大多数系统都会有支持FTP的工具存在,通用性很强。
下面是三种服务器的对比情况:
服务器名称 |
用户客户端平台 |
使用范围 |
服务端口 |
FTP |
Windows/linux/unix/macOS等 |
发布网站和文件共享 |
Tcp/21 |
NFS |
Linux/unix |
发布网站和文件共享 |
Tcp/2049 |
SAMBA |
Windows |
文件共享(网上邻居) |
Tcp/445,tcp/139 |
本文主要介绍在Linux中部署NFS服务器并设置开机自动启动nfs的过程,详细内容请参考下文。
一、登陆Linux环境
二、安装NFS服务
1、执行命令# yum install -y nfs-utils安装该服务
2、启动nfs和rpcbind服务
执行命令# systemctl start nfs和systemctl start rpcbind
3、创建需要共享的目录
执行命令# mkdir /home/nfs/share
备注:执行mkdir加参数-p可以使用 -p 参数来创建多级文件夹。
4、设置nfs配置文件
执行指令# vim /etc/exports设置
备注:此处rw表示可读写,sync表示文件同时写入硬盘和内存。
5、设置共享目录权限
执行指令# chmod -R 777 /home/nfs/share
6、设置防火墙放行2049端口
执行指令# firewall-cmd --add-port=2049/tcp --permanent
使其生效# friewall-cmd --reload
7、重启nfs和rpcbind服务
执行指令# systemctl restart nfs & systemctl restart rpcbind
三、客户端访问测试
1、创建需要挂载nfs的目录
执行指令# # mkdir /home/attachments
2、添加远程nfs服务的挂载目录
执行指令# mount -t nfs 172.16.27.47:/home/nfs/share /home/attachments/
3、测试是否挂载成功
客户端操作:
cd /home/attachments然后创建文件夹test2022
服务器端操作:
cd /home/nfs/share
执行指令ls查看能看到test2022文件夹证明挂载成功
四、设置客户端开机自启动nfs
1、设置/etc/rc.d/rc.local的权限
执行指令# chmod +x /etc/rc.d/rc.local
2、编写nfs自启动脚本
执行指令# vim /usr/local/nfsboot.sh
3、赋予nfs自启动脚本可执行权限
执行指令# chmod +x /usr/local/nfsboot.sh
4、打开/etc/rc.d/rc.local文件,在末尾增加如下内容
5、重启客户端进行验证
客户端如下图
服务器端如下图