vsftpd
环境:
- 服务端:centos7 1台
- 客户端:windows、linux均可
- 关闭selinux、firewalld
一、简介
全称:very security ftp
FTP(File Transfer Protocol,文件传输协议):用来在不同类型的计算机之间传输文件的协议。属于TCP/IP协议簇,工作在OSI模型的第七层及TCP/IP模型的第四层,是一种面向连接的协议。
FTP服务器:在网络中提供存储文件空间的计算机,应用FTP协议提供服务。用户可以连接到服务器上下载文件,也可以将文件上传到FTP服务器中。
FTP在对外提供服务时需要维护两个连接:一个是控制连接,负责监听21端口,用来传输控制命令;另一个是数据连接,在主动传输方式下监听20端口,用来传输数据。
FTP协议有两种工作模式,
主动模式(也就是PORT模式):主动模式FTP的客户端发送PORT命令到FTP服务器;
被动模式(也就是PSAV):被动模式FTP的客户端发送PSAV命令到FTP服务器。
协议:ftp 文件传输协议
端口:
建立tcp连接: 21
传输数据:20
1024+的随即端口
客户端软件:
浏览器
资源管理器
ftp
lftp(推荐)
安装软件
客户端
lftp-4.0.9-1.el6.x86_64
ftp-0.17-53.el6.x86_64
服务端
vsftpd-2.2.2-11.el6.x86_64
二、服务端配置
[root@ftpserver ~]# systemctl stop firewalld && setenforce 0
[root@ftpserver ~]# yum install -y vsftpd # 下载vsftpd的包
[root@ftpserver ~]# vim /etc/vsftpd/vsftpd.conf # 修改配置文件,修改一下配置
anonymous_enable=NO # 不允许匿名登录
anon_upload_enable=YES # 允许上传文件
anon_mkdir_write_enable=YES # 允许上传目录
注:修改后服务需要重启,客户端退出重新登录,ftp根目录不能高于755权限,pub和自创目录需要777权限才能上传成功。
[root@ftpserver ~]# passwd ftp # 修改ftp账号密码
[root@ftpserver ~]# systemctl start vsftpd # 启动ftp服务器
三、客户端配置
1、windows客户端
使用资源管理器或者浏览器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BwG5tUnT-1576505287017)(https://note.youdao.com/yws/res/6124/DDD30495B39443E8A6330792254A8943)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vB821ir4-1576505287018)(https://note.youdao.com/yws/res/6126/ED1FDF16A9044141B0920B03FEDA8039)]
2、linux 客户端
[root@localhost ~]# lftp 192.168.101.244 -u ftp
口令:
lftp ftp@192.168.101.244:~> ls
drwxr-xr-x 2 0 0 6 Jul 03 12:17 777
drwxr-xr-x 2 0 0 6 Oct 30 2018 pub
drwxrwxrwx 2 0 0 67 Jul 03 12:19 testput
lftp ftp@192.168.101.244:~>
#lftp 172.16.70.251
#lftp 172.16.70.251 -u wing -p 端口
> help
> help ls
> ls //查看文件
> dir //同上
> cd pub
> lcd /root/Desktop //切换本地目录
> get 文件1 文件2 文件3 -o /root/Desktop //下载文件,多个文件用空格隔开,-o指定下载目录
> mirror 目录 指定的下载目录 //下载目录
> put 文件 //上传文件
> mirror -R 目录 //上传目录
> mkdir 目录
> rmdir 目录
> mget -c aaa.txt
vsftpd扩展功能
常用全局配置
listen_address=192.168.4.1 //设置监听的IP 地址
listen_port=21 //设置监听FTP 服务的端口号
write_enable=YES //是否启用写入权限
download_enable=YES //是否允许下载文件
userlist_enable=YES //是否启用user_list 列表文件
download_enable=NO //禁止用户下载
anon_other_write_enable=YES //匿名用户可以删除和重命名 //文件在/etc/vsftpd目录下
userlist_deny=YES //是否禁用user_list 中的用户
max_clients=0 //限制并发客户端连接数
max_per_ip=0 //限制同一IP 地址的并发连接数
常用的匿名FTP 配置项
anonymous_enable=YES //启用匿名访问
anon_umask=022 //匿名用户所上传文件的权限掩码
anon_root=/var/ftp //匿名用户根目录
anon_upload_enable=YES //允许上传文件
anon_mkdir_write_enable=YES //允许创建目录
anon_other_write_enable=YES //开放其他写入权
anon_max_rate=0 //限制最大传输速率,单位为字节
常用的本地用户FTP 配置项
local_enable=YES //是否启用本地系统用户
local_umask=022 //本地用户所上传文件的权限掩码
local_root=/var/ftp //本地账户ftp根目录
local_max_rate=0 //限制最大传输速率(字节/秒)
chroot_local_user=YES //限制所有本地用户在家目录里