Vsftpd服务的部署及优化

# 实验环境 #

server主机:

westos_lue  

172.25.254.20

selinux关闭

火墙开启

dnf安装设定完成

Vsftpd服务的部署及优化_第1张图片

vim /etc/sysconfig/selinux

Vsftpd服务的部署及优化_第2张图片

systemctl start firewalld   火墙开启

vim /etc/yum.repos.d/westos.repo

Vsftpd服务的部署及优化_第3张图片

client主机:

westos_linux

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

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

systemctl restart firewalld 

vim /etc/vsftpd/vsftpd.conf

12 anonymous_enable=YES      启动匿名用户的访问功能

systemctl restart vsftpd 

测试安装发布:

firefox ftp://ip

lftp ip

此访问方式必须能列出资源才算访问成功

在使用完成后请输入exit推出lftp 

Vsftpd服务的部署及优化_第4张图片

Vsftpd服务的部署及优化_第5张图片

vim /etc/vsftpd/vsftpd.conf

测试:

Vsftpd服务的部署及优化_第6张图片

#   3.vsftpd基本信息 #

服务名称:

vsftpd.service

配置目录:

/etc/vsftpd

主配置文件:

/etc/vsftpd/vsftpd.conf

默认发布目录:

/var/ftp

报错信息:

550     程序本身拒绝

553     文件系统权限限制

500     权限过大

530     认证失败

#  4.匿名用户访问控制 #

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

lftp 172.25.254.20 -u westos   本地用户访问

Vsftpd服务的部署及优化_第7张图片

Vsftpd服务的部署及优化_第8张图片

Vsftpd服务的部署及优化_第9张图片

登陆控制

anonymous_enable=YES|NO    匿名访问用户 YES表示允许匿名访问

家目录控制

anon_root=/westosdir

Vsftpd服务的部署及优化_第10张图片

vim /etc/vsftpd/vsftpd.conf

Vsftpd服务的部署及优化_第11张图片

systemctl restart vsftpd

Vsftpd服务的部署及优化_第12张图片

上传控制

30 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

Vsftpd服务的部署及优化_第13张图片

Vsftpd服务的部署及优化_第14张图片

Vsftpd服务的部署及优化_第15张图片

目录建立控制

anon_mkdir_write_enable=YES|NO

Vsftpd服务的部署及优化_第16张图片

Vsftpd服务的部署及优化_第17张图片

下载控制

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

Vsftpd服务的部署及优化_第18张图片

Vsftpd服务的部署及优化_第19张图片

删除重命令控制

anon_other_write_enable=YES|NO

Vsftpd服务的部署及优化_第20张图片

匿名用户上传文件权限设定

anon_umask=xxx

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

Vsftpd服务的部署及优化_第21张图片

Vsftpd服务的部署及优化_第22张图片

Vsftpd服务的部署及优化_第23张图片

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

chown_upload=YES

chown_username=lee

chown_upload_mode=0644

Vsftpd服务的部署及优化_第24张图片

Vsftpd服务的部署及优化_第25张图片

登陆数量控制:

max_clients=2

上传速率控制

anon_max_rate=102400

Vsftpd服务的部署及优化_第26张图片

#  5.本地用户的访问 #

登陆控制

useradd westos1

useradd lee

echo 1234 | passwd --stdin westos1

echo 1234 | passwd --stdin lee

lftp 172.25.254.20 -u westos1

local_enable=NO|YES  NO表示本地用户不能登录

Vsftpd服务的部署及优化_第27张图片

Vsftpd服务的部署及优化_第28张图片

Vsftpd服务的部署及优化_第29张图片

Vsftpd服务的部署及优化_第30张图片

Vsftpd服务的部署及优化_第31张图片

Vsftpd服务的部署及优化_第32张图片

家目录控制

local_root=/westosdir

Vsftpd服务的部署及优化_第33张图片

Vsftpd服务的部署及优化_第34张图片

写权限控制

write_enable=NO|YES  NO不可写

Vsftpd服务的部署及优化_第35张图片

Vsftpd服务的部署及优化_第36张图片

传文件权限控制

local_umask=077

Vsftpd服务的部署及优化_第37张图片

用户登陆控制

/etc/vsftpd/ftpusers   永久黑

/etc/vsftpd/user_list    默认黑

Vsftpd服务的部署及优化_第38张图片

Vsftpd服务的部署及优化_第39张图片

用户登陆白名单

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

Vsftpd服务的部署及优化_第40张图片

Vsftpd服务的部署及优化_第41张图片

Vsftpd服务的部署及优化_第42张图片

Vsftpd服务的部署及优化_第43张图片

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

chmod  u-w /home/*

chroot_local_user=YES

Vsftpd服务的部署及优化_第44张图片

Vsftpd服务的部署及优化_第45张图片

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

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list   其他的都不可以,只有Lee可以指定到/

Vsftpd服务的部署及优化_第46张图片

Vsftpd服务的部署及优化_第47张图片

Vsftpd服务的部署及优化_第48张图片

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

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

Vsftpd服务的部署及优化_第49张图片

Vsftpd服务的部署及优化_第50张图片

Vsftpd服务的部署及优化_第51张图片

Vsftpd服务的部署及优化_第52张图片

 

#6.虚拟用户访问#

1.建立虚拟用户过程

1.vim /etc/vsftpd/ftp_auth_file     建立认证文件模板

westos2    用户

123         密码

westos3

123

Vsftpd服务的部署及优化_第53张图片

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

-T 转换 -t type -f 指定转换文件

Vsftpd服务的部署及优化_第54张图片

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 

4.vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos 指定认证策略文件

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

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

Vsftpd服务的部署及优化_第55张图片

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

mkdir /ftpuserdir

mkdir  /ftpuserdir/westos{2..3}

mkdir /ftpuserdir/westos{2..3}/pub

touch  /ftpuserdir/westos2/westos2file

touch  /ftpuserdir/westos3/westos3file

vim /etc/vsftpd/vsftpd.conf

local_root=/ftpuserdir/$USER

user_sub_token=$USER

systemctl restart vsftpd 

Vsftpd服务的部署及优化_第56张图片

systemctl restart vsftpd

测试:

Vsftpd服务的部署及优化_第57张图片

#用户配置独立#

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/user_config    在此目录中与用户名称相同的文件为用户

配置文件

mkdir /etc/vsftpd/user_config

vim /etc/vsftpd/user_config/westos2

anon_upload_enable=YES

设定完成后westos2用户可以上传文件 

westos3不行

Vsftpd服务的部署及优化_第58张图片

Vsftpd服务的部署及优化_第59张图片

Vsftpd服务的部署及优化_第60张图片

你可能感兴趣的:(Vsftpd服务的部署及优化)