Vsftpd服务的部署及优化

Vsftpd服务的部署及优化


前言

本章主要学习vsftpd服务的安装和启用以及基本操作,包括匿名用户、本地用户及虚拟用户的使用。


一、vsftpd的安装与启用

ftp:file transfer proto,是互联网中最老牌的文件传输协议。

dnf install vsftpd lftp -y 安装vsftpd lftp 注意:两个服务是独立的
Vsftpd服务的部署及优化开启服务,设定火墙

systemctl enable --now vsftpd	开启服务
firewall-cmd --permanent --add-service=ftp	设置火墙并刷新
firewall-cmd --reload 

Vsftpd服务的部署及优化
网页输入网址: ftp://172.25.254.139
Vsftpd服务的部署及优化登陆需要认证。
取消匿名用户认证:

vim /etc/vsftpd/vsftpd.conf ----> anonymous_enable=YES 
systemctl restart vsftpd		

重启服务,可无需认证登陆
Vsftpd服务的部署及优化shell中进入:
Vsftpd服务的部署及优化输入quit或exit退出。

二、基本信息

vsftpd基本信息:

服务名称 vsftpd.service
配置目录 /etc/vsftpd
主配置文件 /etc/vsftpd/vsftpd.conf
默认发布目录 /var/ftp

报错信息:

报错代码 含义
550 程序本身拒绝
553 文件系统权限限制
500 权限过大
530 认证失败

三、匿名用户访问控制

当访问ftp服务时没有加入用户认证即为匿名访问

 lftp 172.25.254.139

Vsftpd服务的部署及优化1.匿名用户访问控制
/etc/vsftpd/vsftpd.conf 访问修改主配置文件。

Vsftpd服务的部署及优化yes为允许匿名用户访问。
2.家目录控制
先创建新的家目录

mkdir /westos touch haha	建立目录和文件

ls -Zd /westos		
chcon -t public_content_t /westos/	修改文件安全上下文
ls -Zd /westos

Vsftpd服务的部署及优化

vim /etc/vsftpd/vsftpd.conf	编辑主配置文件
---->anon_root=/westos

Vsftpd服务的部署及优化重启服务,
Vsftpd服务的部署及优化家目录修改成功。
3.上传控制
修改前,上传失败,报错550,程序本身拒绝。
Vsftpd服务的部署及优化设定vsftpd服务的波尔权限打开

getsebool -a | grep ftp		
setsebool -P ftpd_full_access on	

Vsftpd服务的部署及优化

vim /etc/vsftpd/vsftpd.conf	修改主配置文件
anon_upload_enable=YES

Vsftpd服务的部署及优化

重启服务,进入lftp
Vsftpd服务的部署及优化再次上传又失败,报错553,文件系统权限限制
Vsftpd服务的部署及优化

chgrp ftp /var/ftp/pub/		
chmod 775 /var/ftp/pub		

修改文件权限,如果是777仍然会报错500,权限过大

再次上传成功。
Vsftpd服务的部署及优化4.目录建立控制
修改前创建目录失败
Vsftpd服务的部署及优化

anon_mkdir_write_enable=YES
Vsftpd服务的部署及优化重启服务
Vsftpd服务的部署及优化5.下载控制
修改前下载不被允许。
Vsftpd服务的部署及优化进入主配置文件进行修改
Vsftpd服务的部署及优化重启服务
Vsftpd服务的部署及优化6.删除控制
修改前,无法删除
Vsftpd服务的部署及优化进入主配置文件进行修改
Vsftpd服务的部署及优化重启服务,删除成功。
Vsftpd服务的部署及优化
7.匿名用户上传文件权限设定
修改前
Vsftpd服务的部署及优化

进入主配置文件进行修改,anon_umask=022
Vsftpd服务的部署及优化重启服务
Vsftpd服务的部署及优化8.匿名用户上传文件的用户身份设定 修改后,上传之前文件权限修改将失效

chown_uploads=YES
chown_username=westos
chown_upload_mode=0644

Vsftpd服务的部署及优化
重启服务,
Vsftpd服务的部署及优化
9.登陆数量控制

max_clients=2

Vsftpd服务的部署及优化重启服务
Vsftpd服务的部署及优化Vsftpd服务的部署及优化Vsftpd服务的部署及优化可以看到,当打开第三个窗口进行lftp访问时需要等待,直到最大登陆数量小于2时,才可进入。

10.上传速率控制

先创建测试文件,

dd if=/dev/zero of=westoshyl bs=1M count=2000

Vsftpd服务的部署及优化上传测试文件到lftp
Vsftpd服务的部署及优化需要时间7s,上传速度268.79M/s。
修改配置文件,限制匿名用户上传速率。

anon_max_rate=1024000

Vsftpd服务的部署及优化重启服务,重新上传
Vsftpd服务的部署及优化上传速度控制在1M左右。


四、本地用户的访问

 lftp 172.25.254.139 -u westos 
本地用户访问

提前创建好用户
Vsftpd服务的部署及优化1.登陆控制
修改前,本地用户登陆控制被拒绝
Vsftpd服务的部署及优化
进入主配置文件进行修改

local_enable=YES

重启服务
Vsftpd服务的部署及优化2.写权限控制

write_enable=YES

Vsftpd服务的部署及优化3.上传文件权限控制

local_umask=077

Vsftpd服务的部署及优化
重启服务
Vsftpd服务的部署及优化4.用户登陆控制

黑名单
/etc/vsftpd/ftpusers 永久黑名单
/etc/vsftpd/user_list 默认黑名单
userlist_deny=NO 白名单

设定/etc/vsftpd/user_list 为白名单,不再名单中的用户不能登陆ftp。

5.锁定用户到自己的家目录

chmod u-w /home/*		否则会因为权限过大而把报错
chroot_local_user=YES

Vsftpd服务的部署及优化
重启服务
Vsftpd服务的部署及优化用户被锁定到自己的家目录中,无法进入根目录下。

锁定白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
锁定黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

五、虚拟用户的访问

vim /etc/vsftpd/authfile 建立认证文件模板

user1
123
user2
123

Vsftpd服务的部署及优化

db_load -T -t hash -f authfile authfile.db
加密认证文件

Vsftpd服务的部署及优化

vim /etc/pam.d/westos_auth	
可参考/usr/lib64/security/pam_userdb.so
account         required        pam_userdb.so   db=/etc/vsftpd/authfile
auth            required        pam_userdb.so   db=/etc/vsftpd/authfile

Vsftpd服务的部署及优化

vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos_auth	指定认证策略
guest_enable=YES		指定虚拟用户开启功能
guest_username=ftp		指定虚拟用户再ftp服务器上的用户身份

Vsftpd服务的部署及优化

重启服务,登陆认证
Vsftpd服务的部署及优化


总结

本章我们主要学习了vsftpd服务的部署以及优化。

上一篇:FTP服务完成Linux和win10之间的信息传输


下一篇:Centos7.5搭建FTP服务-vsftpd【详细】