vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)

一.实验环境

server主机:westtest

172.25.254.20

selinux关闭

火墙开启

dnf安装设定完成

client主机:westcp

172.25.254.10

selinux关闭

dnf安装设定完成

安装lftp   #ftp协议文本浏览器

二.ftp介绍

ftp:file trnasfer proto

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

三.vsftpd安装

dnf install vsftpd -y

关闭selinux

systemctl enable --now firewalld

systemctl enable --now vsftpd

firewall-cmd --permanent --add-source=172.25.254.10 --zone=trusted

systemctl restart firewalld     #启动匿名用户的访问功能

vim /etc/vsftpd/vsftpd.conf

12行 annoymous_enable=YES|NO

systemctl restart vsftpd

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第1张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第2张图片

测试安装发布:

firefox ftp://ip       #此访问方式必须能列出资源才算访问成功

lftp ip      #使用完成后请输入exit退出lftp

四.vsftpd的基本信息

服务名称:

vsftpd.service

配置目录:

/etc/vsftpd

主配置文件:

/etc/vsftpd/vsftpd.conf

发布目录:

/var/ftp

报错信息:

550    #程序本身拒绝

553    #文件系统权限限制

500    #权限过大

530    #认证失败

五.匿名用户访问控制

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

lftp 172.25.254.20 -u westos       #本地用户访问

登录控制:

annoymous_enable=YES|NO

家目录控制:

anon_root=/westosdir

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第3张图片

上传控制:

anon_upload_enable=YES|NO(取消注释)

chmod 775 /var/ftp/pub

chgrp ftp /var/ftp/pub/

lftp 172.25.254.20

cd pub

put /etc/passwd

下载控制:

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

删除命令控制:

anon_other_write_enable=YES|NO

建立目录控制:

anon_mkdir_write_enable=YES

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第4张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第5张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第6张图片

登录数量控制:

max_clients=2   

上传访问压力:

anon_max_rate=51200

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第7张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第8张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第9张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第10张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第11张图片

匿名用户上传文件权限:

anon_umask=022       当设定chown_name之后上传文件权限将不使用此参数设定

匿名用户上传文件的用户身份设定:

chown_upload=YES

chown_username=lee

chown_upload_mode=0600(默认)

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第12张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第13张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第14张图片

 

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第15张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第16张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第17张图片

六.本地用户的访问控制

useradd westos

useradd lee

echo lee | passwd --stdin westos

echo lee | passwd --stdin lee

lftp 172.25.254.20 -u westos

local_enable=NO|YES

家目录控制:

local_root=/software

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第18张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第19张图片
写权限控制

write_enable=NO|YES

上传文件权限控制

local_umask=077

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第20张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第21张图片
用户登录控制

/etc/vsftd/ftpusers      #永久黑

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第22张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第23张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第24张图片

/etc/vsftpd/user_list    #临时黑

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第25张图片

将user_list用户登录黑名单变为白名单:

userlist_deny=NO      (名单外的人不可以登录)

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第26张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第27张图片

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

chmod u-w /home/*

chroot_local_user=YES

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第28张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第29张图片

黑名单:

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第30张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第31张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第32张图片

白名单:

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第33张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第34张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第35张图片

七.虚拟用户访问控制

1.建立虚拟用户过程 

(1)vim /etc/vsftpd/westos_users                  #建立认证文件模板

westos1

123

westos2

123

westos3

123

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

(3)vim /etc/pam.d/westos

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

(4)vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos        #指定认证策略文件

guest_enable=YES               #指定虚拟用户功能开启

guest_username=ftp             #指定虚拟用户指在ftp服务器上的用户身份

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第36张图片

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第37张图片

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

mkdir -p /ftpuserdir/westos{1..3}/pub

touch /ftpuserdir/westos1/file1

touch /ftpuserdir/westos2/file2

touch /ftpuserdir/westos3/file3

vim /etc/vsftpd/vsftpd.conf

local_root=/ftpuserdir/$USER

user_sub_token=$USER

systemctl restart vsftpd

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第38张图片

3.如何独立虚拟用户的配置

chmod 775  /ftpuserdir/westos{1..3}/pub

chgrp ftp /ftpuserdir/westos{1..3}/pub

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/westos_conf

mkdir /etc/vsftpd/westos_conf

vim /etc/vsftpd/westos_conf/westos2

anon_upload_enable=YES

systemctl restart vsftpd

vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制)_第39张图片

你可能感兴趣的:(vsftpd服务的部署及优化(ftp介绍,vsftpd的安装与基本信息,匿名用户,本地用户,虚拟用户访问控制))