Vsftpd服务的部署及优化详解(图文)

news2024/11/21 1:43:10

目录

前言

实验环境

一、vsftpd的安装及启用

1、具体步骤

2、开启匿名用户访问功能并测试

二、vsftpd基本信息

三、匿名用户访问控制

四、本地用户访问控制 

五、虚拟用户访问 

1、建立虚拟用户访问

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

3、用户配置独立


前言

vsftpd是“very secure TTP daemon”的缩写,是一个完全免费的、开放源代码的ftp服务器软件,主打安全的FTP服务器,有很多的选项设置。也一款在Linux发行版中最受推崇的ftp服务器程序,小巧轻快,安全易用,支持虚拟用户,支持带宽限制等功能。

实验环境

1.主机名
2.软件仓库
3.网络
4.关闭selinux(修改后需要重启)
5.开启火墙

  

一、vsftpd的安装及启用

1、具体步骤

在vsftpd服务器中进行如下操作:

(1)dnf install vsftpd -y     安装vsftpd,安装前要保证该主机dnf功能可正常使用

(2)vim /etc/sysconfig/selinux   关闭selinux  

(3)systemctl enable --now vsftpd         启动vsftpd服务

   (4)   firewall-cmd --permanent --add-service=ftp      保证ftp服务通过防火墙
   firewall-cmd --reload           重新加载防火墙设置

 (5)dnf install lftp      安装lftp服务来

在客户端主机中安装lftp服务来查看vsftpd服务端共享的文件:

2、开启匿名用户访问功能并测试

 vim /etc/vsftpd/vsftpd.conf   

        anonymous_enable=YES     编辑vsftpd的主配置文件,启动匿名用户的访问功能

修改了配置文件一定要重启服务 

ls可以列出资源就证明登录成功

二、vsftpd基本信息

服务名称:vsftpd.service
配置目录:/etc/vsftpd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
550报错程序本身拒绝(服务相应功能未开启)
553报错文件系统权限限制
500报错权限过大
530报错认证失败(一般是输入密码错误)

三、匿名用户访问控制

lftp ip                    当访问ftp服务时后面没有加入用户认证时为匿名访问
lftp ip -u username           本地用户访问
vim /etc/selinux/config    相应控制在该配置文件中修改、编写


(1)登陆控制
anonymous_enable=YES|NO   为YES时表示匿名访问开启

(2)家目录控制
anon_root=/westosdir       设置家目录,没有设置时默认为/var/ftp

(3)上传控制
anon_upload_enable=YES|NO  为YES时表示可以上传文件,使用Put命令上传,eg:Put /etc/passwd
chmod 775 /var/ftp/pub     为相应目录设置权限,并设置拥有组
chgrp ftp /var/ftp/pub
lftp ip
cd pub/
put /etc/passwd

(4)目录建立控制
anon_mkdir_write_enable=YES|NO   为YES时表示匿名用户可以建立目录

(5)下载控制
anon_world_readable_only=NO        为NO时匿名用户可以下载不能读的文件,下载命令为get,在哪里下载的,文件就存储在哪个位置

(6)删除命令控制
anon_other_write_enable=YES|NO      当为YES时,匿名用户可以删除文件

(7)匿名用户上传文件权限设定
anon_umask=xxx                  当设定chown_username之后上传文权限将不是用此参数设定(因为设定完chown_username之后将不再是匿名用户

(8)匿名用户上传文件的用户身份设定
chown_upload=YES               开启后可设置指定用户上传指定权限的文件
chown_username=username
chown_upload_mode=0644

(9)登陆数量控制:
max_clients=2                 设置完该数量之后,最多只能有该数量个登录,超过则无法登录

(10)上传速率控制
anon_max_rate=102400         当用户数量过多,而流量有限的时候,可以通过该设置来限制用户的上传速度以达到资源的合理分配

家目录控制:

上传控制: 

 

 

 

下载控制: 

 

 

 

删除命令控制: 

 

 

目录建立控制: 

 

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

 注:当设定chown_username之后上传文件权限将不使用此参数设定

 

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

 

登陆数量控制和上传速率控制: 

默认情况下ftp不显示用户登录数量

四、本地用户访问控制 

lftp ip -u username   指定某个本地用户访问

vim /etc/vsftpd/vsftpd.conf   编辑主配置文件中的相应内容

实验素材,创建两个用户:

登陆控制

家目录控制 

写权限控制

上传文件权限控制 

用户登陆设置

用户登陆控制
/etc/vsftpd/ftpusers #永久黑
/etc/vsftpd/user_list #默认黑
用户登陆白名单
userlist_deny=NO #当为NO时表示设定/etc/vsftpd/user_list为白名单,不在名单中的用户不能登陆ftp

黑名单:

 

 

 

 

白名单

把/etc/vsftpd/user_list 变为白名单
当此参数设定只有在/etc/vsftpd/user_list文件中指定的用户才可以登录ftp

 

锁定用户到自己家目录中 

1.锁定用户到自己的家目录中
chmod u-w /home/ *         为了防止用户访问时随意切换目录并做不合法操作而导致系统异常,开启此功能后可使用户访问时锁定到自己的家目录中而避免一些误操作
chroot_local_user=YES


2.锁定用户到自己的家目录中的白名单
chroot_local_user=YES         为YES且下面两行开启时,chroot_list为白名单,即在该名单中的用户在访问时可以切换到其他目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list


3.锁定用户到自己的家目录中的黑名单
chroot_local_user=NO         为YES且下面两行开启时,chroot_list为黑名单,即在该名单中的用户在访问时不可以切换到其他目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

 

 

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

 

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

 

五、虚拟用户访问 

1、建立虚拟用户访问

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

(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

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

 

 

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

(1)mkdir  -p /ftpuserdir/westos{1..3}  为每个目录创建家目录
touch  /ftpuserdir/westos1/westos1file   在各自相应的家目录下创建文件用来在访问的时候验证家目录是否创建成功
touch  /ftpuserdir/westos2/westos2file
touch  /ftpuserdir/westos3/westos3file

(2)vim /etc/vsftpd/vsftpd.conf   编辑配置文件,保证每个不同的用户在访问时都能正常的进入到各自的家目录中
local_root=/ftpuserdir/$USER
user_sub_token=$USER

(3)systemctl restart vsftpd     重启该服务,使主配置文件中的设置生效

3、用户配置独立

 

(1)chmod 775 /var/ftphome/user{1..3}/test
chgrp ftp /var/ftphome/user{1..3}/test

(2)vim /etc/vsftpd/vsftpd.conf 
注释下面内容(之前做匿名用户访问时的设置):
#anon_upload_enable=YES
#anon_other_write_enable=YES
#anon_umask=022
#anon_world_readable_only=NO
#anon_root=/westos_ftp

(3)在该文件末尾加:user_config_dir=/etc/vsftpd/user_config  #在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/指定用户
anon_upload_enable=YES

(4)设定完成后指定用户可以上传文件,其它用户不可以

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/159149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TapTap 算法平台的 Serverless 探索之路

分享人:陈欣昊,TapTap/IEM/AI平台负责人 摘要:本文主要介绍心动网络算法平台在Serverless上的实践。 《TapTap算法平台的 Serverless 探索之路》 Serverless 在构建应用上为我们节省了大量的运维与开发人力,在基本没投入基建人力…

(02)Cartographer源码无死角解析-(49) 2D点云扫描匹配→相关性暴力匹配1:SearchParameters

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 文末…

LeetCode分类刷题----链表篇

链表链表1.移除链表元素203.移除链表元素707.设计链表2.反转链表206.反转链表3.两两交换链表中的节点24.两两交换链表中的节点4.删除链表中的倒数第N个节点19.删除链表的倒数第N个节点5.链表相交07.链表相交6.环形链表141.环形链表142.环形链表II链表 1.移除链表元素 203.移除…

成功解决VMware安装操作系统出现分辨率的问题

文章目录问题重现问题原因问题解决方法一:拓展:1. 电脑分辨率:2. xrandr命令3. 查询后如果没有合适的分辨率解决方案参考资料问题重现 如下图: 在VMware16上安装ubuntu操作系统的时候,出现分辨率问题, 导致…

如何录屏有声音?如何录制带声音的视频

平常我们会通过录屏的方式录制电脑画面,然后再保存下来。那您是不是遇到过这种情况:录制的录屏文件只有画面没有声音。没有声音的视频还能修复吗?如何录屏有声音?怎样才能录制带声音的视频?今天小编教大家如何在录屏的…

前端基础(十三)_定时器(间歇定时器、延迟定时器)

定时器 定时器共两种,setInterval及setTimeout: 1、setInterval:重复执行或者叫间歇执行,即隔某个时间就执行一次 2、setTimeout:延迟执行,延迟某个特定的时间开始执行,只执行一次 语法&#x…

代码随想录算法训练营第10天 232.用栈实现队列、225. 用队列实现栈

代码随想录算法训练营第10天 232.用栈实现队列、225. 用队列实现栈 用栈实现队列 力扣题目链接(opens new window) 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部。 pop() – 从队列首部移除元素。 peek() – 返回队列首部的元素。 empty() –…

十分好用的跨浏览器测试工具,建议收藏!!!

跨浏览器测试是确保web应用程序的功能在不同浏览器、浏览器版本和操作系统直接保持功能和质量一致的过程,可以为用户提供更好的用户体验,帮助企业通过更易访问的网站获得满意客户,可以使web应用程序在不同平台上兼容。在跨浏览器测试过程中&a…

Vulnhub靶机:DIGITALWORLD.LOCAL_ DEVELOPMENT

目录介绍信息收集主机发现主机信息探测网站探测SSH登录lshell绕过sudo提权介绍 系列:digitalworld.local(此系列共9台) 发布日期:2018 年 12 月 28 日 难度:中级 运行环境:Virtualbox运行失败,…

写作的“收益”超乎想象

十余年写作经验倾囊相授,全面提升你的技术写作能力! 前言 技术从业人员普遍比较务实,也就是用心做好分配给自己的任务,努力担负起自己应尽的责任,因为大家都相信,付出必有回报,金字总会闪光。 …

【干货】普通单双面板的生产工艺流程(二)

衔接上文,继续为朋友们分享普通单双面板的生产工艺流程。 如图,第二道主流程为钻孔。 钻孔的目的为: 对PCB进行钻孔,便于后续识别、定位、插件及导通。 目前,行业内主流的PCB钻孔方式为:机械钻孔、激光钻…

引蜘蛛软件哪款有效果?多少钱怎么购买?

引蜘蛛软件哪款有效果?多少钱怎么购买?怎教你查看一个IP地址是不是搜索引擎官方蜘蛛的参考方法#IP地址#官方蜘蛛#搜索引擎官 大家好,今天给大家分享的是关于怎么查看一个 ip 地址是不是搜索引擎官方蜘蛛的参考方法。 很多做网站的小伙伴们肯定会用到这个方式。 有…

用 Python 制作空间数据可视化

大数据时代到来,随着智能设备与物联网技术的普及,人在社会生产活动中会产生大量的数据。在我们的日常活动中,手机会记录下我们到访过的地点;在使用城市公交IC卡、共享单车等服务时,服务供应商会知道这些出行需求产生的…

gdb相关知识

cdir和cwd 当我们用gdb的命令show dir的时候,显示源码搜寻目录: cdir: 代表编译路径,可以打个断点,然后用info source命令查看。 cwd: 代表当下调试的目录,直接用pwd就可以。 添加新的搜索路径 dir /opt/nmt搜索路…

Gemini撕DCG诉感情被骗,灰度百亿大饼持仓却不会爆雷?

插播:《刘教链比特币原理》音频课正在连载中。今天次条是第一章第2节“1-2 比特币的特点和使用”,推荐每一位读者学习。点击此处查看付费合集详情[链接]以及上一课“1-1 五分钟告诉你什么是比特币和区块链”[链接]。* * *比特币今晨突然急速上涨&#xf…

Qt OpenGL(09)在着色器中实现旋转的彩色正方体

文章目录在着色器中实现旋转的彩色正方体旋转矩阵沿x轴旋转:沿y轴旋转:沿z轴旋转:在顶点着色器中实现顶一个vec3的变量 theta计算余弦和正弦值定义3个旋转矩阵最终代码在着色器中实现旋转的彩色正方体 一直觉得用OpenGL 画一个立方体或者彩色…

黑马学ElasticSearch(八)

目录: (1)黑马旅游案例-搜素-分页 (2)黑马旅游案例-条件过滤 (3)黑马旅游案例-我附近的酒店 (4)黑马旅游案例-广告置顶 (1)黑马旅游案例-搜素…

C语言 自定义类型 之 【结构体】

文章目录前言结构体类型的声明结构的自引用结构体变量的定义和初始化定义初始化结构体内存对齐结构体传参结构体实现位段什么是位段?位段的内存分配位段的跨平台问题位段的应用写在最后前言 C语言中结构体是一种用户自定义的数据类型,它相当于一个小型的…

Python3 微信支付(小程序支付)V3接口

起因: 因公司项目需要网上充值功能,从而对接微信支付,目前也只对接了微信支付的小程序支付功能,在网上找到的都是对接微信支付V2版本接口,与我所对接的接口版本不一致,无法使用,特此记录下微信支付完成功能…

中缀表达式怎么转后缀表达式

对于中缀表达式:1 2 * 3 中缀表达式是相对于人来说的,因为我们人是会判断和*的运算优先级谁高谁低 但是计算机是不会判断的,因为计算机是默认从左向右读取数据,它先遇到 就会计算,其结果是不对的。它不会提前看到后面…