vsftp—VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件。关于这个软件的详细信息

大家可以自行百度。

以上自己安装vsftp系统环境

 

二、查看自己的服务器是否安装了vsftp

如果没有安装vsftp现在安装

yum -y install vsftp

 

三、关闭CentOS7的防火墙

systemctl stop firewalld.service           停止firewall

systemctl disable firewalld.service       禁止firewall开机启动

 

四、启动vsftp服务

systemctl restart vsftpd.service         # 重启服务

systemctl start vsftpd.service           # 启动服务

systemctl status vsftpd.service        # 服务状态查看

我的服务器已经装好了vsftp,上图是查看vsftp服务的截图

 

五、vsftp安装配置

vsftp装完默认情况下是开启匿名登录的,对应的是 /var/ftp 目录,这时只要服务启动了,就可以直接

连上FTP了。默认用户名是ftp,密码是空的。

如果你在配置里面配置了anonymous_enable=NO,匿名就无法登录。

 

vsftp的配置文件路径:/etc/vsftpd/vsftpd.conf

vsftp配置文件一般选项(如何没有这个配置则到文件末尾添加)

anonymous_enable=YES (是否允许匿名登陆,默认是允许的)

anon_umask=022 (FTP上传本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022)

anon_upload_enable=YES (允许匿名ftp 用户上传文件)

anon_mkdir_write_enable=YES (允许匿名用户 创建新的目录)

anon_other_write_enable=YES (允许匿名用户改名和删除文件)

pasv_min_port=30000

pasv_max_port=35000 (PASV模式下指定端口范围,这里服务器如果是云服务器那安全组必须添加这个端口,                                          而且防火墙也要放行这个端口)

anon_world_readable_only=YES (匿名用户可以读文件 反之就是不能读)

 

科普:FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个

是数据传送的连接一种是Port模式,一种是Passive模式

 

Port模式:

当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服

务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令

后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。

Pasv模式:

当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开

了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口

进行连接,连接成功后,数据连接也建立了。

(详细资料参考:https://blog.csdn.net/newborn2012/article/details/15812821/ 这篇博客)

 

六、设置文件权限

vsftp默认文件上传路径 /var/ftp/pub

其中 pub文件要更改权限

chmod 777 pub

(可以看到,图片123456.jpg 能正常上传也能删除并且能建立新的文件夹)

 

到这里vsftp已经安装好了并进行了基本配置(在这里使用的是匿名登录)

systemctl enable vsftpd  添加到开机启动

 

七、vsftp 配置文件翻译

anonymous_enable=YES 是否允许匿名登陆

local_enable=YES 允许本地登陆

write_enable=YES 启用任何形式的ftp 写入命令

local_umask=022 FTP上本本地的文件权限,默认是077,不过vsftp安装后的配置文件里默认是022

anon_upload_enable=YES 允许匿名ftp 用户上传文件

anon_mkdir_write_enable=YES 允许匿名用户 创建新的目录

dirmessage_enable=YES 激活目录消息,向远程用户发送消息,进入某个目录

xferlog_enable=YES 激活上传/下载 日志记录

connect_from_port_20=YES 确保RORT传输连接来自端口 20

chown_uploads=YES

chown_username=whoever

设置 匿名用户上传文件的默认用户,不推荐使用root

xferlog_file=/var/log/xferlog 日志文件路径

xferlog_std_format=YES 日志文件使用标准ftpd xferlog格式的日志文件 ,默认位置 /var/log/xferlog

idle_session_timeout=600 更改超时空闲会话的默认值

data_connection_timeout=120 超时数据连接的默认值

nopriv_user=ftpsecure 创建ftp服务器 独立的用户

async_abor_enable=YES 启用 异步 ABOR 请求

ascii_upload_enable=YES 允许ASCII模式上传文件

ascii_download_enable=YES 允许ASCII模式下载文件

ftpd_banner=Welcome to blah FTP service. 自定义登陆标题字符串

deny_email_enable=YES 指定不允许匿名登陆电子邮件

banned_email_file=/etc/vsftpd/banned_emails 默认路径

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

 

指定 chroot 参数

CHROOT就是Change Root,也就是改变程序执行时所参考的根目录位置。CHROOT可以增进

系统的安全性,限制使用者能做的事

ls_recurse_enable=YES 启用 ls –R 选项

listen=NO 启用 listen 指令,vsftp 以独立模式运行侦听ipv4 套接字,该指令不能同时

使用 with listen_inv6 指令

listen_ipv6=YES 监听ipv6

pam_service_name=vsftpd 虚拟用户使用PAM认证方式

userlist_enable=YES 只允许userlist 文件中的账户登陆

tcp_wrappers=YES 是否允许tcp_wrappers 管理

anon_other_write_enable=YES 允许匿名用户改名和删除文件

anon_world_readable_only=YES 匿名用户可以读文件 反之就是不能读

pasv_min_port=30000

pasv_max_port=35000 PASV模式下指定端口范围