ftp与nfs

本文详细介绍了FTP(文件传输协议)的工作原理、数据连接模式以及vsftpd服务器的配置。同时,对比了NFS(网络文件系统)的共享服务,包括其原理、配置和与FTP的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.FTP是什么?(双通道协议)

FTP是FileTransferProtocol(文件传输协议)的英文简称。用于Internet上的控制文件的双向传

输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而

所有这些应用程序都遵守同一种协议来传输文件。

FTP服务器默认使用TCP协议的20、21端口与客户端进行通信

20端口用于建立数据连接,并传输文件数据(实际数据)

21端口用于建立控制连接,并传输FTP控制命令(传输权限  元信息)

二.FTP的数据连接模式

主动模式:服务端会主动开启20端口,和客户端相连

被动模式:服务器随机开启端口,等待客户来连接

三.vsftpd的配置文件路径

服务配置文件:/etc/vsftpd/vsftpd.conf

黑名单配置文件:/etc/vsftpd/user_list

匿名用户FTP服务的默认根目录:/var/ftp

本地用户FTP服务的默认根目录:/home/账户同名文件

错误日志路径:/var/log/messages

四.vsftpd配置

1.配置关闭防火墙和selinux

systemctl  stop  firewalld   #关闭防火墙
setenforce  0    #关闭selinux

2.检测环境并安装ftp服务

rpa -q vsftpd  #检查是否安装ftp服务
yum  -y install  vsftpd  #安装ftp服务

3、备份配置文件并添加用户

useradd  lisi   #添加lisi用户
useradd  liwu   #添加liwu用户
echo '123456' |passwd --stdin  lisi #设置账户lisi的密码为123456
echo '123456' |passwd --stdin  liwu #设置账户liwu的密码为123456
cd  /etc/vsftpd/                    #进入ftp配置文件目录
cp   vsftpd.conf   vsftpd.conf.bak  #备份配置文件     

4、ftp配置文件解析

anonymous_enable=YES   
#允许匿名用户访问(账户名为ftp,不需要密码),默认允许建议关闭
local_enable=YES
#允许本地用户访问(本地可登录账户)
write_enable=YES
#开放服务器的写权限,上传文件到服务器必须开启,默认开启
local_umask=022
#本地用户文件权限反掩码,文件权限777-umask,文件权限666-umask
dirmessage_enable=YES
#开启日志消息,默认开启
xferlog_enable=YES
#开启上传现在日志,默认开启
connect_from_port_20=YES
#确保端口数据传输来自20端口,默认开启
xferlog_std_format=YES
#日志文件设置为标准ftpd xferlog格式,默认开启,日志位置/var/log/xferlog
chroot_local_user=YES
#将用户访问权限限制在用户自己的根目录下,默认关闭。
allow_writeable_chroot=YES
#允许被限制用户对自己根目录进行写操作
anon_root=/var
#设置本地用户的默认根目录为/var,注意需要此目录给其他用户读写权限才可上传下载
userlist_enable=YES
#开启user_list用户列表,文件位置/etc/vsftpd/user_list,默认关闭
userlist_deny=YES
#若user_list是开启状态userlist_deny=YES是黑名单文件中的用户不能登录,默认关闭
#若user_list是开启状态,userlist_deny=NO则只允许user_list中的用户登录

5、配置本地用户访问ftp

6、开启ftp服务

systemctl  start  vsftpd #开启vsftpd服务
systemctl  status vsftpd #查看vsftpd服务状态

7、验证服务

①将/mnt目录其他用户权限配置读写权限

chmod  766 -R /mnt #修改/mnt目录用户其他权限具有读写权限

②将liwu用户配置到黑名单中user_list文件中,文件位置/etc/vsftpd/user_list 

③在/mnt下创建一个a.txt文件内容为123

④打开自己的windows计算机cmd窗口输入ftp +服务器ip 进行账户密码登录

五.NFS共享服务

储存类型分为三种:

DAS:直连式存储,存储和主机是直连的。

NAS:网络附加存储(存储和管理空间都在远程)给一个文件系统可以看到文件不能更改,主机和设备距离相对较远。

SAN:存储区域网络,主机和存储设备距离相对较远,提供空间相当于多了一块硬盘。

NFS属于NAS功能,性能大于ftp等,因为NFS工作在内核而ftp是一个程序。

NFS端口不固定,依靠rpcbind,rpcbind端口固定111,NFS会把端口号告诉rpcbind,rpcbind相当于一个中转站,所以使用NFS时rpcbind服务必须正常。

NFS配置文件路径:/etc/exports

NFS工作原理

1.首先NFS服务端开启后会在自己的rpc(远程过程中调用端口号111)注册相关信息

2.nfs客户端想要连接nfs服务端会先去找rpc注册中心问nfs服务端,端口号是多少

3.rpc会告诉客户端,客户端知道端口号之后,向服务端发起连接

搭建NFS服务

服务端c7-3:172.16.23.12  ;  客户端c7-4:172.16.23.13

首先准备2台网络互通的服务器,将服务器的防火墙和selinux关闭。

#2台服务器均执行
systemctl  stop  firewalld   #关闭防火墙
setenforce  0                #关闭selinux

在服务端安装nfs服务并创建共享文件夹/share,/share中创建内容为‘123’的a.txt文件。

服务端执行:
yum install -y  nfs        #安装nfs服务
mkdir    /share            #创建共享文件夹/share
cd /share                  #进入共享文件夹/share
echo '123'>a.txt           #在/share文件夹中创建内容为123的a.txt文件
chmod  777  /share         #给所有人share文件夹的读写执行权限

 

配置nfs配置文件将/share文件夹共享给所有人并给读权限

vim /etc/exports       #打开nfs的配置文件
#配置文件内容:
/share                     *(rw,sync,no_root_squash) #注意权限和共享对象直接不能有空格
#共享文件绝对路径   *表示所有人,可写网段rw表示服务的读写权限,
sync表示同步内容,no_root_squash表示不压缩共享对象root用户权限,默认root用户在共享文件中创建文件夹的属主和属组为nfsnobody用户非root用户,权限被压缩

开启rpcbind、nfs服务并热加载配置文件内容,查看本机发布的nfs共享目录

客户端验证nfs功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值