一、ftp服务基本信息
服务名称:vsftp.service
配置目录: /etc/vsftpd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
查看帮助:man 5 vsftpd
- 报错信息
550 | 程序本身拒绝 |
---|---|
553 | 文件系统权限拒绝 |
500 | 权限过大 |
530 | 认证失败 |
二、ftp服务的启用
-
ftp服务的安装与启动设定 ------> 提前搭建好软件仓库
dnf install lftp.x86_64 -y
安装ftp协议文本浏览器
dnf install vsftpd.x86_64 -y
安装ftp的应用程序vsftpd
systemctl --now enable vsftpd
开启vsftpd服务并设定为开机自启 -
火墙的设定
(1) 方法1:非图形化设定
systemctl status firewalld
查看火墙是否是开启的状态
firewall-cmd --permanent --add-service=ftp
将ftp添加到火墙设定中
firewall-cmd --reload
重新加载火墙
( 2) 方法二:图形化设定
dnf install firewall-config.noarch -y
下载火墙图形化工具
firewall-config
打开火墙图形控制界面
-
关闭加强型火墙selinux
vim /etc/selinux/config
修改selinux配置文件修改selinux的状态
reboot
需重启主机,selinux设定才能生效
getenforce
查看selinux的状态,应显示为disabled -
ftp服务启用设定 -------- 启动匿名用户访问功能(ftp默认不允许匿名用户访问)
vim /etc/vsftpd/vsftpd.conf
修改主配置文件,设置允许匿名 用户访问
systemctl restart vsftpd.service
重启服务
lftp 172.25.254.110
匿名用户访问
三、匿名用户安全优化
-
匿名用户的登录控制
-
更改匿名用户的默认发布目录
-
匿名用户上传文件控制(默认匿名用户不能上传文件)
-
匿名用户建立目录控制(默认不允许)
-
匿名用户删除和重命名功能控制
-
匿名用户下载功能的控制
-
匿名用户上传文件权限设定
-
匿名用户上传文件身份和文件权限设定
-
登陆数量控制
-
上传速率的控制
四、本地用户安全优化
- 本地用户的登录方式:lftp 172.25.254.110 -u username
-
本地用户的登录控制 (默认可以上传文件)
-
ftp写功能的控制 (默认开启)
-
上传文件权限控制
-
本地用户登录的控制 (默认情况下本地用户都可以登录)
;注:白名单和黑名单的文件时不存在的需要手动的进行添加(1)黑名单:加入黑名单的用户将不能使用ftp
(2)用户登陆白名单
userlist_deny=NO 当此参数生效时,默认所有用户都不能登陆
user_list 名单中的人可以进行登陆,此时该名单变成白名单
-
家目录控制
-
锁定用户到自己的家目录中
-
锁定用户到自己家目录中的白名单
注:只有白名单中的用户是可以访问其他目录的
-
锁定用户到自己家目录中的黑名单
注:只有黑名单中的用户是不能访问其他目录的
五、ftp虚拟用户的建立和认证
vim /etc/vsftpd/virt_users
建立认证文件,文件所在目录不变,名称可以随意
- 认证文件加密
- 建立认证策略
vim /etc/pam.d/virt_user
文件所在目录必须位/etc/pam.d/,名称可随意
- 使验证策略生效并使用
六、虚拟用户家目录的独立设定
七、给虚拟用户配置独立设置
注:实验前提,关闭匿名用户的所有权限