FTP
一、概述
FTP
FTP服务:用来传输文件的协议
- 默认使用TCP协议的20、21端口
- 20端口用于建立数据连接,传输文件数据
- 21端口用于建立控制连接,传输FTP控制命令
模式
FTP数据连接分为主动模式和被动模式
- 主动模式:服务器主动发起数据连接
- 被动模式:服务器被动等待数据连接
二、使用FTP
2.1 软件包安装
yum install -y vsftpd
2.2 修改服务权限
编辑配置文件
- 进入文本
[root@ccc ~]# cd /etc/vsftpd/ # 进入服务目录
[root@ccc vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@ccc vsftpd]# vim vsftpd.conf # 编辑文本
- 编辑文本
anonymous enable=YES #开启匿名用户访问。默认已开启
write enable=YES #开放服务器的写权限(若要上传,必须开启)。默认已开启
anon umask=022 #设置匿名用户所。上传数据的权限掩码(反掩码),需添加
anon upload enable=YES #允许匿名用户上传文件。默认注释,需取消注释
anon mkdir write enable=YES #允许匿名用户创建(上传)目录。默认注释,需取消注释
anon other write enable =YES #允许删除、重命名、覆盖等操作。需添加
为pub目录设置最大权限
为了方便匿名用户上传数据,需要设置 ftp 根目录下的 pub 目录最大权限
- chmod 777 /var/ftp/pub/
开启服务
关闭防火墙和增强型安全功能
- systemctl stop firewalld.service
- 关闭防火墙
- setenforce 0
- 关闭增强型安全功能
- systemctl start vsftpd
- 开启vsftpd
匿名访问测试
在Windows系统测试
- 进入cmd命令提示符
- ftp 192.168.253.11
- 由于是匿名访问,用户名为ftp,密码不需要,直接空格完成登录
上传文件
-
匿名用户上传
-
服务器查看
-
退出
quit
三、本地用户访问ftp
3.1 修改配置文件
local enable= YES #启用本地用户
write enable=YES #开放服务器的写权限(若要上传,必须开启)
anonymous enable=NO #关闭匿名用户访问
local umask=077 #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot local user=YES #将访问禁锢在用户的宿主目录中
allow writeable chroot=YES #允许被限制的用户主目录具有写权限,需添加
3.2 重启服务
systemctl restart vsftpd
3.3 测试
此时匿名用户已经无法登录
登录普通用户
3.4 其他设置
修改匿名用户、本地用户登录的默认根目录
进入vsftp.cof文本
- anon_root=/var/www/html
- anon_root针对匿名用户
- local_root=/var/www/html
- local_root 针对系统用户
添加黑白名单
-
vim /etc/vsftpd/user_list
- 用户文件
- 用户文件
-
vim /etc/vsftpd/vsftpd.conf
- 设置完后再进入此文本开启
-
userlist_enable=YES
- 启用user_list 用户列表文件
- 启用user_list 用户列表文件
-
userlist_deny=NO
- NO表示仅允许文件内的用户访问,为白名单
- YES表示黑名单,禁止访问