运维大法之vsftpd的部署及优化

实验环境

server主机:

node
172.25.254.20
selinux关闭
火墙开启
dnf安装设定完成

运维大法之vsftpd的部署及优化_第1张图片

client主机:

westos
172.25.254.10
selinux关闭
dnf安装设定完成
安装lftp #ftp协议文本浏览器

1.ftp介绍

ftp:file transfer proto

互联网中最老牌的文件传输协议

2.vsftpd安装及启用

dnf install vsftpd -y
关闭selinux
systemctl enable --now firewalld
systemctl enable --now vsftpd
systemctl restart firewalld 
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
firewall -cmd --permanent --add-source=172.25.254.10 --zone=trusted
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES #启动匿名用户的访问功能
systemctl restart vsftpd 

运维大法之vsftpd的部署及优化_第2张图片
运维大法之vsftpd的部署及优化_第3张图片运维大法之vsftpd的部署及优化_第4张图片在这里插入图片描述在这里插入图片描述在这里插入图片描述运维大法之vsftpd的部署及优化_第5张图片运维大法之vsftpd的部署及优化_第6张图片

测试安装发布:

firefox ftp://ip
lftp ip #此访问方式必须能列出资源才算访问成功
#在使用完成后请输入exit退出lftp

运维大法之vsftpd的部署及优化_第7张图片在这里插入图片描述

3.vsftpd基本信息

服务名称:vsftpd.service
配置目录: /etc/vsftpd
主配置文件: /etc/vsftpd/vsftpd.conf
默认发布目录: /var/ftp
报错信息:
550 #程序本身拒绝
553 #文件系统权限限制
500 #权限过大
530 #认证失败

4.匿名用户访问控制

lftp 192.168.0.10 #当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.0.10 -u westos #本地用户访问

登陆控制

anonymous_enable=YES|NO

在这里插入图片描述
家目录控制

anon_root=/westosdir

在这里插入图片描述
上传控制

anon_upload_enable=YES|NO
chmod 775 /var/ftp/pub
lftp 192.168.0.10
cd pub
put /etc/passwd

运维大法之vsftpd的部署及优化_第8张图片在这里插入图片描述运维大法之vsftpd的部署及优化_第9张图片
目录建立控制

anon_mkdir_write_enable=YES|NO

在这里插入图片描述
下载控制

anon_world_readable_only=NO #匿名用户可以下载不能读的文件

运维大法之vsftpd的部署及优化_第10张图片
删除重命令控制

anon_other_write_enable=YES|NO

运维大法之vsftpd的部署及优化_第11张图片
匿名用户上传文件权限设定

anon_umask=xxx
anon_umask=022 #当设定chown_username之后上传文权限将不是用此参数设定

在这里插入图片描述
匿名用户上传文件的用户身份设定

chown_upload=YES
chown_username=han#所有匿名用户在服务器生成的文件都是以han的身份生成
chown_upload_mode=0644

在这里插入图片描述
登陆数量控制:

max_clients=2

运维大法之vsftpd的部署及优化_第12张图片
上传速率控制

anon_max_rate=102400

运维大法之vsftpd的部署及优化_第13张图片

5.本地用户的访问

登陆控制

useradd westos
useradd lee
echo lee | passwd --stdin westos
echo lee | passwd --stdin lee
lftp 192.168.0.10 -u westos
local_enable=NO|YES

运维大法之vsftpd的部署及优化_第14张图片
家目录控制

local_root=/software

运维大法之vsftpd的部署及优化_第15张图片
写权限控制

write_enable=NO|YES

运维大法之vsftpd的部署及优化_第16张图片
上传文件权限控制

local_umask=077

运维大法之vsftpd的部署及优化_第17张图片
用户登陆控制

/etc/vsftpd/ftpusers #永久黑名单
/etc/vsftpd/user_list #默认黑名单

在这里插入图片描述运维大法之vsftpd的部署及优化_第18张图片则westos用户无法登录
运维大法之vsftpd的部署及优化_第19张图片
则westos用户仍无法登陆
用户登陆白名单

userlist_deny=NO #设定/etc/vsftpd/user_list位白名单,不在名单中的用户不能登陆ftp

开启此服务后,将westos用户加入名单则只有westos用户一人可登录
运维大法之vsftpd的部署及优化_第20张图片
锁定用户到自己的家目录中

chmod u-w /home/*
chroot_local_user=YES

锁定用户到自己的家目录中的白名单

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

6.虚拟用户访问

1.建立虚拟用户过程

vim /etc/vsftpd/ftp_auth_file #建立认证文件模板
westos1
123
westos2
123
westos3
123

运维大法之vsftpd的部署及优化_第21张图片
2.

db_load -T -t hash -f ftp_auth_file ftp_auth_file.db ##加密认证文件 -T 转换 -t type -f 指定转换文件

在这里插入图片描述
3.

vim /etc/pam.d/westos

account  required   pam_userdb.so   db=/etc/vsftpd/ftp_auth_file
auth     required   pam_userdb.so   db=/etc/vsftpd/ftp_auth_file

运维大法之vsftpd的部署及优化_第22张图片
4.

vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos #指定认证策略文件
guest_enable=YES #指定虚拟用户功能开启
guest_username=ftp#指定虚拟用户在ftp服务器上的用户身份

在这里插入图片描述

虚拟用户家目录的独立设定

mkdir -p /ftpuserdir/westos{1..3}
touch /ftpuserdir/westos1/westos1file
touch /ftpuserdir/westos2/westos2file
touch /ftpuserdir/westos3/westos3file
vim /etc/vsftpd/vsftpd.conf 
local_root=/ftpuserdir/$USER
user_sub_token=$USER
systemctl restart vsftpd

在这里插入图片描述
在这里插入图片描述
再次重启服务后虚拟用户家目录已经建立

用户配置独立

user_config_dir=/etc/vsftpd/westos_conf #在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/westos_conf
vim /etc/vsftpd/westos_conf/westos2
anon_upload_enable=YES

在这里插入图片描述
完成该设定后westos2用户可以上传文件,但是westos1和westos3不可以。

你可能感兴趣的:(运维大法之vsftpd的部署及优化)