当前位置: 首页 > news >正文

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

要在 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 服务器,并指定共享特定目录下的文件。

相关文章:

  • 二、小白如何用Pygame制作一款跑酷类游戏(主角和背景音乐的添加)
  • 【Kubernetes基础--Pod深入理解2】--查阅笔记3
  • JavaScript事件循环
  • Qt实现文件传输客户端(图文详解+代码详细注释)
  • WPF 图标原地旋转
  • 4.16学习总结 IO流综合练习
  • 新闻业务--草稿箱
  • 坚持每日Codeforces三题挑战:Day 3 - 题目详解(2024-04-16,难度:900, 1200, 1200)
  • 库洛游戏一面+二面
  • C#中同步任务和异步任务
  • 【计算机网络】3数据链路层①
  • Mathematica 中,将含有小数的表达式转换为整数或分数形式
  • springboot异步线程事务丢失
  • MAC-​​基于 Spring 框架的高并发批量任务处理方案​
  • 【AI】SpringAI 第二弹:接入 DeepSeek 官方服务
  • Spring Boot系列之使用Arthas Tunnel Server 进行远程调试实践
  • CTF--好像需要管理员
  • gemini讲USRP
  • 【Java】时间区间内按天、周、月份索引后缀计算方法
  • 通过金融科技(Fintech)掌控财务:智能理财管理指南
  • 汕头市营商环境建设监督局网站/企业网站怎么推广
  • 南昌做网站比较好的公司/宁波seo关键词
  • 淘宝客建设网站/宁波免费建站seo排名
  • 外包公司做网站价格/网站seo的优化怎么做
  • 新买的服务器怎么做网站/seo基础培训机构
  • 做网站baidunongmin/留号码的广告网站不需要验证码