ubuntu1804服务器开启ftp,局域网共享特定文件给匿名用户

news2025/4/18 10:27:19

要在 Ubuntu 18.04 上设置一个 FTP 服务器,满足以下要求:

  1. 允许匿名登录(无需账号密码)。
  2. 指定分享特定目录下的文件。
  3. 只允许只读下载。

可以使用 vsftpd(Very Secure FTP Daemon)来实现。以下是详细步骤:

1. 安装 vsftpd

首先,安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

2. 配置 vsftpd

编辑 vsftpd 的配置文件:

sudo nano /etc/vsftpd.conf

根据需求修改或添加以下配置项:

(1) 基本配置
# 允许匿名登录
anonymous_enable=YES

# 禁止本地用户登录
local_enable=NO

# 禁止写入权限(只读)
write_enable=NO

# 设置匿名用户的根目录
anon_root=/home/cicd/workspace/build-images/

# 允许匿名用户下载文件
anon_download_enable=YES

# 禁止匿名用户上传文件
anon_upload_enable=NO

# 禁止匿名用户创建目录
anon_mkdir_write_enable=NO

# 启用被动模式(推荐用于局域网)
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10100

# 日志设置
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

# 其他安全设置
# connect_from_port_20=YES
# chroot_local_user=YES
# allow_writeable_chroot=YES
(2) 关闭不必要的功能

确保禁用了与需求无关的功能:

  • 禁止本地用户登录:local_enable=NO
  • 禁止写入权限:write_enable=NO
(3) 设置匿名用户的根目录

指定匿名用户的根目录为 /home/cicd/workspace/build-images/(你可以根据需要更改此路径)。

3. 创建共享目录并设置权限

(1) 创建共享目录

假设你希望共享 /home/cicd/workspace/build-images/ 目录下的文件:

sudo mkdir -p /srv/ftp/shared

设置目录的所有者和组
将目录的所有者设置为本地用户(例如 cicd),并将目录的组设置为一个特定的组(例如 ftpusers):

sudo chown cicd:ftpusers -R /home/cicd/workspace/build-images/
# 如果ftpusers不存在
sudo groupadd ftpusers
sudo usermod -aG ftpusers nobody
# 设置目录权限,7所有者有读写执行权限,5组有读和执行权限,没有写权限,5其他用户没有权限
# 匿名登录在ftp里使用nobody登录,使用nobody组,所以other权限改成可读可执行
sudo chmod 755 /home/cicd/workspace/build-images/
# 确保子目录和文件权限一致
sudo find /home/cicd/workspace/build-images/ -type d -exec chmod 755 {} \;
sudo find /home/cicd/workspace/build-images/ -type f -exec chmod 644 {} \;
#启用 setgid 位
sudo chmod g+s /home/cicd/workspace/build-images/

4. 启动并启用 vsftpd 服务

(1) 启动 vsftpd
sudo systemctl start vsftpd
(2) 设置开机自启
sudo systemctl enable vsftpd
(3) 检查服务状态

确保服务正常运行:

sudo systemctl status vsftpd

5. 测试 FTP 服务器

(1) 在局域网中访问

从另一台设备(例如 Windows 或其他 Linux 设备)访问 FTP 服务器。可以使用浏览器、命令行工具或 FTP 客户端。

示例:使用浏览器访问

在浏览器中输入:

ftp://<服务器IP地址>
示例:使用命令行访问
ftp <服务器IP地址>
(2) 匿名登录

无需输入用户名和密码,直接按回车即可登录。

(3) 下载文件

尝试下载共享目录中的文件,确保只读权限生效。

7. 注意事项

  1. 安全性

    • 匿名 FTP 服务器可能会被滥用,建议仅在受信任的局域网中使用。
    • 如果需要更高的安全性,可以考虑使用 SFTP(基于 SSH 的文件传输协议)。
  2. 日志监控

    • 查看 FTP 日志以监控访问情况:
      sudo tail -f /var/log/vsftpd.log
      
  3. 磁盘空间

    • 确保共享目录所在的磁盘分区有足够的空间。

通过以上步骤,你可以在 Ubuntu 18.04 上成功设置一个匿名访问、只读下载的 FTP 服务器,并指定共享特定目录下的文件。

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

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

相关文章

蓝桥杯常考排序

1.逆序 Collections.reverseOrder() 方法对列表进行逆序排序。通过 Collections.sort() 方法配合 Collections.reverseOrder()&#xff0c;可以轻松实现从大到小的排序。 import java.util.ArrayList; // 导入 ArrayList 类&#xff0c;用于创建动态数组 import java.util.C…

深度学习基础:从入门到理解核心概念

引言 近年来&#xff0c;深度学习(Deep Learning)已成为人工智能领域最热门的研究方向之一。从AlphaGo战胜人类围棋冠军&#xff0c;到ChatGPT等大型语言模型的惊艳表现&#xff0c;深度学习技术正在深刻改变我们的生活和工作方式。本文将系统介绍深度学习的基础知识&#xff0…

科技项目验收测试报告有哪些作用?需要多长时间和费用?

在当今快速发展的科技环境中&#xff0c;科技项目的有效验收至关重要。对于公司、开发团队以及客户来说&#xff0c;科技项目验收测试报告更是一个不可缺少的一项重要环节。 科技项目验收测试报告是对一个项目在开发完成后所进行的一系列测试结果的总结。这份报告不仅用于证明…

CCLinkIE转ModbusTCP借网关之力打破组态王与三菱PLC通讯隔阂​

在某自动化生产线项目中&#xff0c;客户采用了三菱PLC作为现场控制核心&#xff0c;该PLC支持CCLinkIE现场总线协议。同时&#xff0c;客户希望使用组态王上位机软件进行生产过程的监控与管理&#xff0c;然而组态王上位机更擅长与ModbusTCP协议设备进行通讯。为了解决这一协议…

Linux网络编程第一课:深入浅出TCP/IP协议簇与网络寻址系统

知识点1【网络发展简史】 **网络节点&#xff1a;**路由器和交换机组成 交换机的作用&#xff1a;拓展网络接口 路由&#xff1a;网络通信路径 1、分组交换 分组的目的&#xff1a; 数据量大&#xff0c;不能一次型传输&#xff0c;只能分批次传输&#xff0c;这里的每一批…

GESP2023年12月认证C++七级( 第三部分编程题(2)纸牌游戏)

参考程序&#xff1a; #include <iostream> #include <cstring> // for memset #include <vector> using namespace std;const int max_n 1005; int n; int a[max_n], b[max_n], c[max_n]; // a[]: 得分系数&#xff1b;b[]: 换牌惩罚&#xff1b;c[]: …

HarmonyOS学习 实验九:@State和@Prop装饰器的使用方法

HarmonyOS应用开发&#xff1a;父子组件状态管理实验报告 引言 在HarmonyOS应用开发领域&#xff0c;组件之间的状态管理是一个至关重要的概念。通过有效的状态管理&#xff0c;我们可以确保应用的数据流动清晰、可预测&#xff0c;从而提升应用的稳定性和可维护性。本次实验…

【Ai】MCP实战:手写 client 和 server [Python版本]

什么是mcp MCP 是一个开放协议&#xff0c;它为应用程序向 LLM 提供上下文的方式进行了标准化。你可以将 MCP 想象成 AI 应用程序的 USB-C 接口。就像 USB-C 为设备连接各种外设和配件提供了标准化的方式一样&#xff0c;MCP 为 AI 模型连接各种数据源和工具提供了标准化的接口…

Java与C在典型场景下的性能对比深度剖析

&#x1f381;个人主页&#xff1a;User_芊芊君子 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 &#x1f50d;系列专栏&#xff1a;AI 【前言】 在计算机编程领域&#xff0c;Java和C语言都是举足轻重的编程语言。Java以其跨平台性、自动内存管理和丰富…

多智能体 AI 游戏框架(开源程序):竞争、发展、适应

一、软件介绍 文末提供程序和源码下载 SamoAI 在人类和 AI 之间创建了一个无缝的多代理叙事层&#xff0c;实现了跨多个平台的自然协作。通过一致的身份保留和情境记忆&#xff0c;它允许通过一系列行动随着时间的推移而演变的交互&#xff0c;就像人际关系一样。 二、核心概念…

java实现二叉树的前序、中序、后序遍历(递归和非递归方式)以及层级遍历

java实现二叉树的前序、中序、后序遍历以及层级遍历 一、二叉树节点定义二、递归方式1.前序遍历2.中序遍历3.后序遍历 三、非递归方式1.前序遍历2.中序遍历3.后序遍历4.层级遍历5.分层打印 四、测试用例 一、二叉树节点定义 class TreeNode {int val;TreeNode left;TreeNode r…

Solr admin 更新文档

<add><doc><field name"id">1904451090351546368</field><field name"companyName" update"set">测试科技有限公司</field></doc> </add>

【Netty篇】EventLoopGroup 与 EventLoop 详解

目录 开场白&#xff1a;话说 Netty 江湖第一段&#xff1a;EventLoopGroup——“包工头”的角色第二段&#xff1a;EventLoop——“身怀绝技的工人”第三段&#xff1a;EventLoop 如何处理 I/O 事件、普通任务和定时任务第四段&#xff1a;Handler 执行中如何换人&#xff1f;…

操作系统之shell实现(上)

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C语言的相关知识。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给更…

数据结构与算法——链表OJ题详解(2)

文章目录 一、前言二、OJ续享2.1相交链表2.2环形链表12.2环形链表2 三、总结 一、前言 哦了兄弟们&#xff0c;咱们上次在详解链表OJ题的时候&#xff0c;有一部分OJ题呢up并没有整理完&#xff0c;这一个星期呢&#xff0c;up也是在不断的学习并且沉淀着&#xff0c;也是终于…

Linux 基础知识详解

Linux 基础知识详解 一、快照与克隆 1. &#x1f4f8;快照&#xff08;Snapshot&#xff09; 快照是虚拟机当前运行状态的一次“瞬间拷贝”&#xff0c;包括内存、磁盘、配置等信息。这使得管理员能够快速恢复到某个特定的时间点。 用途&#xff1a; 安全实验前保存状态&am…

centOs7配置有限网络

最简单快速的是使用nmtui命令&#xff0c;采用图形页面修改。 点击编辑连接并回车&#xff1a; 选中编辑然后回车&#xff1a; 千万记住DNS服务器就是子网掩码&#xff0c;不是常说的DNS域名。把地址&#xff0c;网关&#xff0c;子网掩码配置好。只要ip不冲突&#xff0c;网…

C语言 —— 指尖跃迁 刻印永恒 - 文件操作

目录 1. 什么是文件 1.1 程序文件 1.2 数据文件 1.3 文件名 2. 二进制文件和文本文件 3. 文件的打开与关闭 3.1 流和标准流 3.2 文件指针 3.3 文件的打开与关闭 fopen fclose 4. 文件的顺序读写 4.1 fgetc和fputc fgetc fputc 4.2 fgets和fputs fgets fputs…

网络安全与信息安全的区别​及共通

在数字化时代&#xff0c;网络安全与信息安全已成为保障个人、企业乃至国家正常运转的重要防线。尽管二者紧密相关且常被混为一谈&#xff0c;但实则存在显著差异。当然&#xff0c;它们也有一些相同点&#xff0c;比如都以保障数字环境下的安全为核心目标&#xff0c;均需要通…

【愚公系列】《Python网络爬虫从入门到精通》052-Scrapy 编写 Item Pipeline

&#x1f31f;【技术大咖愚公搬代码&#xff1a;全栈专家的成长之路&#xff0c;你关注的宝藏博主在这里&#xff01;】&#x1f31f; &#x1f4e3;开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主&#xff01; &#x1f…