Ubuntu 搭建Ftp服务器

Ubuntu 搭建Ftp服务器一 搭建服务器 1 准备工作 1 给服务器创建一个目录 mkdir home ftpServer ftprepositor 2 创建匿名访问目录新建一个目录 anonymous 用来存放用户上传的文件 并修改目录的权限 cd home ftpServer ftprepositor 在 ftpftpreposi 目录下创建一个普通文件 用来做下载测试 如 test txt 假如其内容为 HelloWorld tou

一、搭建服务器

1、准备工作

(1)给服务器创建一个目录

mkdir /home/ftpServer/ftprepository 

(2)创建匿名访问目录
新建一个目录anonymous,用来存放用户上传的文件,并修改目录的权限:

cd /home/ftpServer/ftprepository mkdir anonymous chmod 755 anonymous 

在ftpftprepository目录下创建一个普通文件,用来做下载测试,如test.txt(假如其内容为:HelloWorld):

touch test.txt echo "HelloWorld' > test.txt 

(3)创建用户访问目录

cd /home/ftpServer/ftprepository mkdir FAE chmod 777 anonymous 

2、安装ftp服务器

apt-get install vsftpd 

3、配置vsftpd.conf文件

vi /etc/vsftpd.conf 

(1)设置匿名用户
修改以下设置,允许匿名用户:

(2)限制用户只能访问有权限的目录

(3)开启允许ftp用户访问列表

(4)防止报500错误

seccomp_sandbox=NO

(5)保存退出

4、创建登录用户

(1)添加用户

useradd -d /home/ftpServer/ftprepository -s /bin/bash ftpuser 

(2)设置用户密码

passwd ftpuser 

(3)设置ftp目录用户权限

chown ftpuser:ftpuser /home/ftpServer/ftprepository 

(4)添加vsftpd 登录用户
#新建文件/etc/vsftpd.user_list,用于存放允许访问ftp的用户:

touch /etc/vsftpd.user_list vim /etc/vsftpd.user_list 

在/etc/vsftpd.user_list中添加允许登录ftp的用户ftpuser

(5)添加vsftpd登录用户对目录树的权限
新建文件/etc/vsftpd.chroot_list,设置可列出、切换目录的用户:

touch /etc/vsftpd.chroot_list vim /etc/vsftpd.chroot_list 

5、重启服务器

重新加载/etc/vsftpd.conf 配置文件

/etc/init.d/vsftpd restart 

二、遇到的问题

1、无法登录:ftp: connect: Connection refused

从头到位检查了好几遍,后来发现是,同时ipv4和ipv6同时运行服务器报错。vsftpd.conf文件里的#listen_ipv6=YES被取消注释了。于是将上面那句注释掉,就可以了。我的网是ipv6的,但是注释掉不影响,依然可以ipv4和ipv6都可以。但是如果listen=YES和listen_ipv6=YES同时在就会报错。

2、客户端登录ftp服务器时会报FTP over TLS警告。

登录后状态提示的错误内容。在网上找到了一个回答:在Linux终端中把ftp_home_dir这个状态开启。

apt-get install policycoreutils setsebool ftp_home_dir = 1 sestatus -b|grep ftp //执行这步后会看到:ftp_home_dir on service vsftpd restart 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227619.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午8:53
下一篇 2026年3月16日 下午8:54


相关推荐

  • Sqlite #1 命令行工具sqlite3

    Sqlite #1 命令行工具sqlite3

    2021年9月3日
    65
  • 炫酷的数据可视化_人力资源看板 数据可视化

    炫酷的数据可视化_人力资源看板 数据可视化12个超炫数据可视化工具今天我们带来一篇来自Adobe工程师RohitBoggarapu的文章。他在文章中介绍了一些适合网页开发者的数据可视化和绘图工具,让你不必再花大力气与枯燥的数据抗争。部分工具不要求写代码也可以使用!我们诠释数据的方式和数据本身之间存在着巨大的鸿沟。尤其是当我们唯一的选择是盯着表格中一列列不知所云的数字时。这可能是最无聊的一种格式了。没有哪个网页开发者会喜欢电子…

    2026年4月15日
    5
  • mysql reload_MySQL reload权限

    mysql reload_MySQL reload权限MySQLreload 权限 reload 是 administrati 级的权限 即 serveradmini 这类权限包括 CREATEUSER PROCESS RELOAD REPLICATIONC REPLICATIONS SHOWDATABASE SHUTDOWN SUPER 这类权限的授权不是针对某个数据库的 因此须使用 on

    2026年3月18日
    2
  • Python元组

    在python中有六种内建的序列:列表、元祖、字符串、Unicode字符串、buffer对象hexrange对象。通用序列操作:1.索引(indexing)2.分片(slicing)3.

    2021年12月18日
    54
  • java数组 初始化_用Java初始化数组

    java数组 初始化_用Java初始化数组java 数组初始化具有使用 C 或 FORTRAN 等语言进行编程的经验的人熟悉数组的概念 它们基本上是一个连续的内存块 每个位置都是某种类型 整数 浮点数或您所拥有的 Java 中的情况与此类似 但有一些额外的折痕 一个例子数组让我们用 Java 制作一个由 10 个整数组成的数组 int ia newint 10 上面的代码是怎么回事 从左到右

    2026年3月26日
    1
  • svn和git的区别,为什么使用git?

    svn和git的区别,为什么使用git?为什么要使用 git 作为版本管理工具 git 和 svn 的区别是什么

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号