文件共享服务FTP介绍

文件共享服务FTP介绍

FTP(File Transfet Protocol):文件传输协议

基于C/S架构,默认使用20、21号端口
端口20(数据端口)用于数据传输
端口21(命令端口)用于接收客户端发出的相关FTP命令

FTP工作模式

主动模式:FTP客户端从本机的非特殊端口(>1023)连接FTP服务器的命令端口21,服务端通过本地的20号端口主动向客户端的随机端口发起连接请求,开始传输数据
被动模式:FTP客户端通过向FTP服务器发送PASV命令进入被动模式,FTP服务器会另开一个随机端口,客户端主动连接到随机端口后,开始传输数据
可以实现ftp功能的软件:

WU-ftpd:华盛顿大学研发的一款FTP软件
proftpd:专业的FTP软件
pureftp:纯粹的FTP软件
vsftpd:非常安全的ftp软件
ServU:windows里的一款FTP软件
FileZilla:windows里的一款FTP软件,Linux系统也可以使用

客户端访问ftp服务器工具:

ftp
lftp、lftpget
wget
curl
FileZilla:windows客户端工具,可从软件商店直接下载

vsftpd介绍

vsftpd(very secure ftp daemon)非常安全的FTP守护进程
是一款运行在Linux操作系统上开源且免费FTP服务程序

vsftpd用户访问模式

本地用户:用户需要在服务端存在
匿名用户:不需要用户认证
虚拟用户:数据库映射机制

vsftpd服务相关参数

vsftpd #服务名
/var/ftp #匿名用户共享目录
/etc/vsftpd #配置文件所在目录
/etc/vsftpd/vsftpd.conf #主配置文件
/usr/sbin/vsftpd #主程序文件
/etc/vsftpd/ftpusers #黑名单,在此文件中的用户无法访问FTP服务
/etc/vsftpd/user_list #控制名单(既可以当白名单也可以当黑名单)
/var/log/xferlog #日志目录

vsftpd匿名用户模式


#关闭系统防火墙
[root@ftpserver ~]# systemctl stop firewalld
[root@ftpserver ~]# systemctl disable firewalld

#下载vsftpd软件包
[root@ftpserver ~]# wget
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Pa
ckages/vsftpd-3.0.2-28.el7.x86_64.rpm --no-check-certificate

#安装软件
[root@ftp-server ~]# rpm -ivh vsftpd

#启动服务
[root@ftp-server ~]# systemctl start vsftpd

#查看服务运行状态
[root@ftp-server ~]# systemctl status vsftpd

#设置服务随机自启
[root@ftpserver ~]# systemctl enable vsftpd

#客户端下载ftp连接工具
[root@ftpclient01 ~]# wget
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Pa
ckages/ftp-0.17-67.el7.x86_64.rpm --no-check-certificate
[root@ftpclient01 ~]# wget
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Pa
ckages/lftp-4.4.8-12.el7_8.1.x86_64.rpm --no-check-certificate

#安装客户端工具
[root@ftpclient01 ~]# rpm -ivh ftp-0.17-67.el7.x86_64.rpm
[root@ftpclient01 ~]# yum -y install lftp

#客户端访问FTP服务端
[root@client ~]# ftp 192.168.0.80
[root@client ~]# lftp 192.168.0.80

#匿名用户权限介绍
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf

12 anonymous_enable=YES #是否允许匿名用户访问,yes允许,no不允许
29 #anon_upload_enable=YES #是否允许匿名用户上传,yes允许,no不允许
33 #anon_mkdir_write_enable=YES #是否允许匿名用户创建目录,yes允许,no不允许

anon_other_write_enable=yes #是否允许匿名用户写权限,yes允许,no不允许(手动添加)

你可能感兴趣的:(文件共享服务FTP介绍)