16 - Debian如何配置vsftpd(1)实现匿名上传下载

作者:网络傅老师

特别提示:未经作者允许,不得转载任何内容。违者必究!

Debian如何配置vsftpd(1)实现匿名上传下载

《傅老师Debian小知识库系列之16》——原创


==前言==

傅老师Debian小知识库特点:

1、最小化拆解Debian实用技能;

2、所有操作在VM虚拟机实测完成;

3、致力于最终形成Debian小知识手册;

(文章尾部有傅老师的二维码,欢迎沟通交流:)

适合人群:

1、想通俗易懂地学习相关知识的同学;

2、正在学习Debian的同学;

阅读建议:

无。过于精炼易懂,正常看就行。

所用版本:Debian 12.4


一、概念

    作为一个完全免费的、开放源代码的FTP服务器软件,vsftpd具有很多其他FTP服务器所不支持的特征,如非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6以及高速率等。因此,vsftpd的“very secure FTP daemon”的缩写名也体现了其安全性的最大特点。。

二、前置知识

1、端口:

  • 控制连接:TCP 21,用于传输控制消息
  • 数据连接:TCP 20,用于上传、下载

2、FTP用户的类型

匿名用户、本地系统用户、虚拟用户

3、配置文件

  • 主配置文件 /etc/vsftpd.conf
  • 用户控制列表文件 /etc/ftpusers

三、操作方法

以下步骤可以实现匿名用户访问FTP服务器,并可以上传和下载。

1、安装

root@Debian:~# apt install vsftpd

2、编辑配置文件

root@Debian:~# nano /etc/vsftpd.conf

确认相关内容配置如下:

anonymous_enable=YES    //允许匿名用户访问
anon_root=/var/ftp      //匿名用户登录的家目录。
anon_umask=022          //匿名用户的权限反码
write_enable=YES        //开放服务器的写权限
anon_upload_enable=YES   //允许匿名用户上传文件
anon_mkdir_write_enable=YES   //允许匿名用户创建目录

3、准备目录

    注意:/var/ftp/pub/并不是匿名用户的家目录。匿名用户是不允许在家目录里写入的。因此如果需要匿名用户上传,则可以在家目录中创建一个子目录并赋予权限。

root@Debian:~# chown ftp /var/ftp/pub/        //更改属主为ftp
root@Debian:~# chmod 755 /var/ftp/pub/       //为属主赋予读写权限
root@Debian:~# ls -ld /var/ftp/pub/
drwxr-xr-x 2 ftp root 4096 Apr 16 11:23 /var/ftp/pub/

4、启动服务

root@Debian:~# systemctl restart vsftpd

5、客户端验证

(1)在另一台机器安装客户端工具lftp

root@ns2:~# apt install lftp

(2)匿名访问并测试权限

root@ns2:~# lftp ftp://192.168.9.57

如图16.1所示。

图16.1 访问FTP服务器并测试权限

配置匿名访问还是很简单的。同学们快操练起来~~

下次咱们实现系统用户访问。

恒大的事,普华永道可能干净吗?还在洗地呢。呵呵

傅老师的微信名片

欢迎沟通交流:)

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

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

相关文章

微信小程序获取蓝牙信标

/*** 搜索设备界面*/ import Dialog from vant/weapp/dialog/dialog; Page({data: {list: []},onPullDownRefresh: function () {wx.request({url: https://wwz.jingyi.icu/app/Explain/index,data: {scenic_id: 3},method: POST,success: (res) > {console.log(res);let th…

重磅!国内首个基于单张图片的3D人脸重建课程

3D人脸重建在计算机视觉和图形学中一直是一个经典且热门的研究方向,在游戏、影视、娱乐等众多行业也有着广泛的应用。早期人脸重建主要基于多视角相机或深度相机,随着深度学习的兴起,基于单张图片的人脸重建成为可能,且重建的精度…

数学建模---Matlab学习笔记

1.经典例题 (1)判断质数 给定一个大于100的数字,判断是否为质数 先设定布尔值是true,也就是假设这个数字是质数,利用for循环进行遍历直到n-1,如果被任意的数字整除,就说明不是质数,我们就把布…

python笔记(13)循环

目录 1. for循环 1.1 使用range()函数 2. while循环:基于条件的持续执行 3. 循环控制语句 3.1 break语句 3.2 continue语句 3.3 else子句(仅适用于for和while循环) 4. 循环的最佳实践与注意事项 本文将深入探讨Python中两种主要的循环…

2024 年排名前 5 的 CSS 框架

文章目录 1、Bootstrap2、Tailwind CSS3、Foundation4、Bulma5、UIKit 1、Bootstrap Bootstrap框架是由Twitter的设计师Mark Otto和Jacob Thornton合作开发的,于2011年8月在GitHub上发布。它是目前最受欢迎的前端框架之一,被广泛应用于各种Web项目中。Bo…

使用 usePrevious 实现 React 函数组件中上一状态值的追踪

在 React 开发过程中,有时我们需要在函数组件的某个阶段或事件处理函数中访问到上一次的状态值。然而,React 并未提供直接获取上一状态的内置机制。为了解决这个问题,我们可以采用一种名为 usePrevious 的自定义 Hook。本文将详细介绍 usePre…

mac apktool安装

在macOS上安装Apktool需要几个步骤。以下是安装Apktool的一般指南: 安装Java: 确保你的Mac上安装了Java。你可以通过在终端运行java -version来检查Java是否已经安装。如果还没有安装,你可以从Oracle官网下载并安装Java。 下载Apktool&#…

最新Latex2024安装教程 超简单

Latex是一款常用的论文写作工具,今天小菜介绍Latex的安装配置过程。 1. 来到官网下载镜像文件 https://www.tug.org/texlive/ 按步骤点击: 就会进入一个最近的镜像网站,选择textlive2024.iso即可 下载完成之后解压,安装路径…

Linux02(项目部署,手动和自动部署,JDK版本问题,安装软件,安装软件,安装JDK,Tomcat,MySQL,Irzsz)

目录 一、安装软件 1. 安装准备工作 1 Linux里的软件安装方式 2 上传软件到Linux 3 拍照虚拟机快照 2. 安装JDK 1 卸载自带jdk 2 解压JDK 3 配置环境变量 4 测试JDK 3. 安装Tomcat 1 解压Tomcat 2 修改防火墙设置 3 测试Tomcat 启动Tomcat 访问Tomcat 查看Tom…

javascript 统计按钮点击量

要实现计算按钮被点击的次数,我们可以借助JavaScript中的事件监听器。事件监听器可以帮助我们捕获用户在网页上的各种操作,如点击按钮、输入文本等。通过监听按钮的点击事件,我们可以在每次点击时进行相应的操作,例如增加点击计数…

Python 配置文件config.ini用法详解

1、介绍config.ini文件 config.ini是一种配置文件,常用于存储程序或系统的配置信息。它通常采用键值对的形式,每一行表示一个配置项,用等号()将键和值分隔开。config.ini文件可以包含多个节(section&#x…

git 小记

一、 github新建仓库 git clone 。。。。。。。。。。。 (增删查补,修改) git add . git commit -m "修改” git push (git push main) 二、branch 分支 branch并不难理解,你只要想像将代码拷贝到不同目录…

如何在Python中使用环境变量? —— Python环境变量的应用:安全和灵活的配置方法

在Python中,可以使用os模块来访问和操作环境变量。 要访问一个环境变量的值,可以使用os.environ字典。例如,要获取PATH环境变量的值,可以使用os.environ[PATH]。 要设置一个环境变量的值,可以使用os.environ字典的索…

vue一键复制实现(实测)

vue一键复制实现&#xff08;实测&#xff09; 描述&#xff1a;能够通过点击事件完成复制链接的功能 1. 安装clipboard npm install clipboard --save 2. 在vue组件中使用 <template><button class"btn" :data-clipboard-text"link">复制&…

MongoDB的CURD(增删改查操作)

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f525; 欢迎来到我的博客 &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️寻至善的主页 ✈️如果喜欢这篇文章的话 &#x1f64f;大大们可以动动发财的小手&#x1f449;&#…

刷代码随想录有感(34):前k个高频元素

本题代码涉及到了多个陌生概念&#xff0c;题干如下&#xff1a; 代码; class Solution { public:class mycomparison{//自定义规则&#xff0c;使优先队列可以自动排序public:bool operator()(pair<int, int> & lhs, pair<int, int> & rhs){return lhs.s…

第十五届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组(基础题)

试题 C: 好数 时间限制 : 1.0s 内存限制: 256.0MB 本题总分&#xff1a;10 分 【问题描述】 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位 &#xff09;上 的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位 &…

SQLSERVER对等发布问题处理

问题1&#xff1a; 无法对 数据库Sast_Business 执行 删除&#xff0c;因为它正用于复制。 (.Net SqlClient Data Provider) 处理&#xff1a; USE [master]; GO EXEC sp_replicationdboption dbname NSast_Business, optname Npublish, value Nfalse; EXEC sp_replica…

如何保障UDP传输中数据文件不丢失?

UDP协议因其低时延和高速传输的特性&#xff0c;在实时应用和大量数据传输领域中发挥着不可或缺的作用。但是&#xff0c;由于UDP是一种无连接的通讯协议&#xff0c;它并不确保数据包的顺序、完整性和可靠性。 为了解决UDP传输中数据一致性的问题&#xff0c;技术专家们进行了…

【Linux系统编程】第四弹---基本指令(二)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、echo指令 2、cat指令 3、more指令 4、less指令 4、head指令 5、tail指令 6、时间相关的指令 7、cal指令 8、find指…