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

打印 上一主题 下一主题

主题 1971|帖子 1971|积分 5913

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

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

  • 允许匿名登录(无需账号密码)。
  • 指定分享特定目次下的文件。
  • 只允许只读下载。
可以利用 vsftpd(Very Secure FTP Daemon)来实现。以下是详细步调:
1. 安装 vsftpd

首先,安装 vsftpd:
  1. sudo apt update
  2. sudo apt install vsftpd -y
复制代码
2. 设置 vsftpd

编辑 vsftpd 的设置文件:
  1. sudo nano /etc/vsftpd.conf
复制代码
根据需求修改或添加以下设置项:
(1) 根本设置

  1. # 允许匿名登录
  2. anonymous_enable=YES
  3. # 禁止本地用户登录
  4. local_enable=NO
  5. # 禁止写入权限(只读)
  6. write_enable=NO
  7. # 设置匿名用户的根目录
  8. anon_root=/home/cicd/workspace/build-images/
  9. # 允许匿名用户下载文件
  10. anon_download_enable=YES
  11. # 禁止匿名用户上传文件
  12. anon_upload_enable=NO
  13. # 禁止匿名用户创建目录
  14. anon_mkdir_write_enable=NO
  15. # 启用被动模式(推荐用于局域网)
  16. pasv_enable=YES
  17. pasv_min_port=10000
  18. pasv_max_port=10100
  19. # 日志设置
  20. xferlog_enable=YES
  21. xferlog_file=/var/log/vsftpd.log
  22. xferlog_std_format=YES
  23. # 其他安全设置
  24. # connect_from_port_20=YES
  25. # chroot_local_user=YES
  26. # allow_writeable_chroot=YES
复制代码
(2) 关闭不须要的功能

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


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

指定匿名用户的根目次为 /home/cicd/workspace/build-images/(你可以根据需要更改此路径)。
3. 创建共享目次并设置权限

(1) 创建共享目次

假设你希望共享 /home/cicd/workspace/build-images/ 目次下的文件:
  1. sudo mkdir -p /srv/ftp/shared
复制代码
设置目次的所有者和组
将目次的所有者设置为本地用户(例如 cicd),并将目次的组设置为一个特定的组(例如 ftpusers):
  1. sudo chown cicd:ftpusers -R /home/cicd/workspace/build-images/
  2. # 如果ftpusers不存在
  3. sudo groupadd ftpusers
  4. sudo usermod -aG ftpusers nobody
  5. # 设置目录权限,7所有者有读写执行权限,5组有读和执行权限,没有写权限,5其他用户没有权限
  6. # 匿名登录在ftp里使用nobody登录,使用nobody组,所以other权限改成可读可执行
  7. sudo chmod 755 /home/cicd/workspace/build-images/
  8. # 确保子目录和文件权限一致
  9. sudo find /home/cicd/workspace/build-images/ -type d -exec chmod 755 {} \;
  10. sudo find /home/cicd/workspace/build-images/ -type f -exec chmod 644 {} \;
  11. #启用 setgid 位
  12. sudo chmod g+s /home/cicd/workspace/build-images/
复制代码
4. 启动并启用 vsftpd 服务

(1) 启动 vsftpd

  1. sudo systemctl start vsftpd
复制代码
(2) 设置开机自启

  1. sudo systemctl enable vsftpd
复制代码
(3) 查抄服务状态

确保服务正常运行:
  1. sudo systemctl status vsftpd
复制代码
5. 测试 FTP 服务器

(1) 在局域网中访问

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

在欣赏器中输入:
  1. ftp://<服务器IP地址>
复制代码
示例:利用命令行访问

  1. ftp <服务器IP地址>
复制代码
(2) 匿名登录

无需输入用户名和密码,直接按回车即可登录。
(3) 下载文件

尝试下载共享目次中的文件,确保只读权限生效。
7. 注意事项


  • 安全性

    • 匿名 FTP 服务器可能会被滥用,发起仅在受信任的局域网中利用。
    • 假如需要更高的安全性,可以考虑利用 SFTP(基于 SSH 的文件传输协议)。

  • 日志监控

    • 查看 FTP 日志以监控访问情况:
      1. sudo tail -f /var/log/vsftpd.log
      复制代码

  • 磁盘空间

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

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

熊熊出没

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表