CentOS7配置vsftpd服务

1、Vsftpd服务是Linux常用的FTP软件,优点短小精悍,安全易用,稳定性高,非常适合中小企业的多用户文件传输共享。
1.1、什么是FTP
FTP称之为文件传输协议,它是一个双信道的协议,工作架构模式为C/S(客户端/服务器模式),FTP服务端提供资源存储,FTP客户端通过FTP协议访问FTP服务端进行文件的上传、删除以及下载,之所以称它为双信道协议,是FTP协议使用了TCP端口号20和21两个端口号,20端口号用于数据传输,21端口号用于传输控制,但是数据传输端口号是否为20与FTP协议的传输模式有关,如果为主动模式,则使用20端口号,如果为被动模式,则数据传输使用的端口号为服务端和客户端协商决定
1.2、主被动模式的区别:
主动模式Port:FTP客户端向服务端发起请求,此时通过21端口号建立传输控制通道,客户端如果需要数据,那么就会通过这个建立的通道,向服务端发送PORT指令,此指令包含了客户端要通过什么接口接收数据,服务端会根据收到的PORT指令中客户端提供的数据端口,用自己的20端口与其建立连接,然后发送客户端所需要的数据
被动模式Passive:同样的,FTP客户端向服务端发起请求,通过21端口建立传输控制通道,此时客户端如果需要数据,那么通过建立的通道,发送不在是PORT指令,而是Passive指令,服务端收到Passive指令,会随机打开一个大于1024的端口号,并且将这个端口号发送给客户端,告知它数据通过这个端口传输,然后客户端与这个端口建立数据传输连接,发送所需数据。
主被动的模式的选择,会一定程度取决现实环境中防火墙的影响,默认FTP使用的是主动模式,如果在客户端和服务端都开启了防火墙,可以在防火墙上允许20和21端口号的放行。
2、配置Vsftpd服务
工作平台:VMware workstations16.0
服务端系统:Centos Linux 7.9
ip:192.168.80.234
客户端:Windows10
2.1、安装Vsftpd











yum  -y install  vsftpd

2.2、关闭防火墙和SElinux

systemctl stop Firewalld
setenforce 0

2.3、启动vsftpd服务

systemctl start vsftpd

2.4、默认vsftpd开启了匿名用户访问,此时我们访问服务端可以看到如下界面

CentOS7配置vsftpd服务
默认vsftpd服务安装好后,会有一个FTP根目录,就是/var/ftp/pub/这个目录
我们以匿名用户访问时,默认是没有修改权限的,因为此时这个pub目录的权限是不允许其他人修改的,即使你给了这个目录读写执行权限,作为匿名用户还是不可以有任何修改的操作,包括删除。
2.5、允许匿名用户有修改权限,那么就需要修改vsftpd的配置文件
2.5.1、首先我们来熟悉一下,默认的配置文件内容



[root@lab-234 ~]# cat /etc/vsftpd/vsftpd.conf |grep -v "^#"
anonymous_enable=YES    #允许匿名用户访问
local_enable=YES    #允许本地用户访问
write_enable=YES    #允许系统用户写入
local_umask=022     #默认本地用户创建的文件权限掩码
dirmessage_enable=YES   #目录信息显示,一般是用户第一次访问目录提示
xferlog_enable=YES  #启用上传下载日志记录
connect_from_port_20=YES    #数据传输使用20端口
xferlog_std_format=YES   #日志格式根据xferlog格式标准输入
listen=NO       #vsftpd服务不单独启动,通过守护进程的方式管理
listen_ipv6=YES     #启动ipv6监听
pam_service_name=vsftpd     #启动pam认证登录,依据/etc/pam.d/vsftpd中的内容认证
userlist_enable=YES #vsftpd.user_list和ftpusers配置文件中的用户禁止访问
tcp_wrappers=YES    #vsftpd和tcp_wrappers配合,可以实现依据/etc/hosts.allow和/etc/hosts.deny中的设置,进行请求主机的访问控制
anon_upload_enable=YES  #允许匿名用户上传文件
anon_mkdir_write_enable=YES #允许匿名用户创建目录
anon_other_write_enable=YES     #允许匿名用户其他写入权限
pasv_enable=YES     #启动被动模式
pasv_min_port=5555  #被动模式最小端口号
pasv_max_port=6666      #被动模式最大端口号 

2.5.2、允许匿名用户可以上传和创建目录以及删除文件
只需要在配置文件中添加如下内容即可:

anon_upload_enable=YES  #允许匿名用户上传文件
anon_mkdir_write_enable=YES #允许匿名用户创建目录
anon_other_write_enable=YES     #允许匿名用户其他写入权限

CentOS7配置vsftpd服务
2.5.3、配置vsftpd系统用户登录
系统用户登录模式访问,会自动进入登录用户的家目录
创建用户:


useradd  test  -s /sbin/nologin
echo "123456"|passwd  --stdin test

CentOS7配置vsftpd服务
登录成功后,我们创建一个文件夹,此时我们在服务端查看一下test用户家目录,发现有一个新建的文件夹

[root@lab-234 ~]# ll  /home/test/
总用量 0
drwxr-xr-x. 2 test test 6 1月   7 15:08 新文件夹

注意:匿名用户访问时只能看到pub目录,系统用户登录的新建的文件,无法查看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章