ftp服务器搭建

article/2025/8/21 3:05:38

一,vsftpd的安装

1.为了方便后续的配置建议用root登录。或者切换到root用户。
2.检查是否安装vsftpd。

[root@localhost ~]# vsftpd -v

在这里插入图片描述
如果没有安装使用yum安装。

[root@localhost ~]# yum -y install vsftpd

3.安装完成后,查看位置

[root@localhost ~]# whereis vsftpdvsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

4.启动VSFTP服务

[root@localhost ~]# systemctl start vsftpd.service

5.查看是否启动成功

[root@localhost ~]# netstat -npal|grep vsftpd
在这里插入图片描述
或者通过查询是vsftpd服务是否存在systemctl status vsftpd.service

如果vsftpd启动失败,可能由以下原因导致(本人启动失败原因):

21端口占用:ftp默认启动端口号是21。当端口被占用时无法启动。
解决办法:

```cnetstat -anp |grep 21 //查看21端口的占用情况
```如果被占用,查看占用此端口号的进程PID```clsof -i :21
```
释放端口:```c
kill -9 4110    //4110为进程ID
```
至此端口已解除占用。

6.关闭SELinux限制,添加防火墙白名单
①设置关闭SELinux对ftp的限制

[root@localhost ~]# getsebool -a | grep ftp

ftp_home_dir --> on

ftpd_anon_write --> off

ftpd_connect_all_unreserved --> off

ftpd_connect_db --> off

ftpd_full_access --> on

ftpd_use_cifs --> off

ftpd_use_fusefs --> off

ftpd_use_nfs --> off

ftpd_use_passive_mode --> off

httpd_can_connect_ftp --> off

httpd_enable_ftp_server --> off

sftpd_anon_write --> off

sftpd_enable_homedirs --> off

sftpd_full_access --> off

sftpd_write_ssh_home --> off

tftp_anon_write --> off

tftp_home_dir --> off

[root@localhost ~]# setsebool -P ftpd_full_access on

②将ftp加入防火墙白名单(防火墙已关闭可以忽略此处)

firewall-cmd --permanent --zone=public --add-service=ftp

firewall-cmd --reload

查看防火墙状态:firewall-cmd --list-all

二、修改配置参数

1.建立用户和指定目录

useradd -d /home/ftpbus ftpuser //ftpuser是用户名,ftpbus 是该用户指定目录
passwd ftpuser //给用户设置密码

开启ftpbus权限:chmod 777 ftpuser

2.修改vsftpd.conf配置文件:

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

修改一下几个参数:

#不允许匿名访问
anonymous_enable=NO
#将用户限制在为其配置的主目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#添加以下内容-其中ftpbus为可访问的目录
local_root=/home/ftpbus

userlist_enable=YES这个选项如果是YES,那/etc/vsftpd/user_list中的用户将被禁止访问ftp。如果是NO,则只有user_list里面的用户才能访问ftp。

3.新建chroot_list文件
在/etc/vsftpd下新建chroot_list文件,在文件中添加ftpuser用户,使其只允许访问指定目录。

vim chroot_list

写入ftpuser

三、重启以及连接

重启命令:

systemctl restart vsftpd.service

访问:
在浏览器中输入:ftp://ip地址。我这里使用的事阿里云的测试服务器,一直访问不到连接超时,后经过各种查找,才发现是测试服务器的21端口没有在安全组中设置导致的。如何设置阿里云服务器安全组:https://blog.csdn.net/lzc2644481789/article/details/108210351
设置完成后,再访问就会出现输入用户名密码的弹框。输入上面配置的账号密码即可。
在这里插入图片描述

其他问题:

在弹框输入账号密码过程中一直出现,弹框不消失,一直让输入账号密码。考虑是账号密码输入错误。但由于浏览器不会报错也不给提示,大家可以通过cmd命令连接ftp,这样更加方便定位问题所在。使用方式如下:
1.打开cmd
2.输入ftp
3.输入 open ip地址
4.cmd提示输入用户和密码
5.常见提示错误对应原因:

  • 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
    在/etc/vsftpd/vsftpd.conf添加配置。
    allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置。

  • 530 Login incorrect.登录失败。用户密码错误请检查。


http://chatgpt.dhexx.cn/article/tGPA4kU3.shtml

相关文章

WEB、FTP服务器的搭建

一、Web服务器搭建 打开控制面板。 点击程序。 点击启动或关闭Windows功能。 找到Internet Information services两栏,进行打钩(注意.NET Framework 3.5 (.NET2.0和3.0)若没有显示小黑点,则需要去官网下载&#…

Ubuntu FTP服务器搭建(内网和公网)

1、安装vsftpd # sudo apt-get install vsftpd 若提示Unable to locate package(未发现软件包),则需要先更新源列表/etc/apt/source.list文件。 Ubuntu源:http://wiki.ubuntu.org.cn/%E6%BA%90%E5%88%97%E8%A1%A8 执行&#x…

frp内网穿透实现外网可访问的ftp(FileZillaServer)服务器(web服务器,远程桌面连接都可以)

目录 1.总结和资源链接 2.搭建frp服务器 3.windows客户端连接到frp服务器,实现内网穿透 4.在windows本机开启ftp服务,即完成了外网可访问的ftp服务器搭建 1.总结和资源链接 本教程以系统为centos7的阿里云服务器ECS作为frp服务器,windows本…

在NAT内网搭建FTP服务器,并允许外网访问

零 由于本人主机位于路由器NAT后,所以校园网其他用户无法访问本地局域网内的FTP服务器,因此需要在路由器及本地主机进行一些设置,使路由器转发外网数据到本地主机。 一 由于Windows自带的FTP管理繁琐,所以选择FileZilla Server…

ftp服务器搭建并通过外网访问

内网FTP如何端口映射到外网连接访问?通过公网路由器映射或nat123端口映射均可实现。前者是硬件公网端口映射,后者是软件内网端口映射,目的一样,方法不一。 工具/原料 FTP内网nat123客户端 方法/步骤 ftp搭建: 1. 按【W…

设置frp端口映射实现ftp服务内网穿透

设置frp端口映射实现ftp服务内网穿透 前提: frp服务器需要首先在VPS上搭建好,搭建教程:http://koolshare.cn/thread-65379-1-1.html 1. 设置被动端口范围 这里以本机搭建FileZilla Server为例子,首先设置被动模式的端口范围。 此处设置为50000-50002。可…

【计算机网络课程设计】内网穿透、搭建FTP服务器(局域网和广域网)以及对于花生壳发送X11包得一些推测

搭建FTP服务器、对X11包的推测 FTP概述一、FTP工作模式及传输模式FTP工作模式1、主动模式2、被动模式 FTP传输模式1、ASCLL传输模式2、二进制数据传输模式 二、FTP服务器搭建1、搭建工具2、Serv_U服务器配置 三、基于局域网的文件传输1、主机通过资源管理器、浏览器FTP服务器2、…

用旧手机搭建服务器并实现内网穿透不需要root(本人亲测很多次最简单的一个)

相信每个人都有一部或几部旧手机,放着也是放着还不如使其变废为宝,接下来我就向大家介绍如何搭建属于自己的服务器,并实现内网穿透。 相关软件已放到最后 首先我们要搭建一个本地服务器KSWEB,Aidlearning,这两款软件…

内网windows server搭建ftp服务器

一. 有两种方式 1.windows中使用IIS搭建ftp服务器(本人尝试并未成功,fileZilla只能主动模式下才能连接,未达到想要的效果) 2.使用fileZilla server 搭建ftp服务器 二.本次讲解第二种方式 使用fileZilla server搭建ftp服务器 1.下载FileZilla Server …

FileZilla搭建FTP服务器图解教程,并允许外网访问NAT内网

FTP是用来在两台计算机之间传输文件,是Internet中应用非常广泛的服务之一。FTP服务是网络中经常采用的资源共享方式之一。FTP协议有PORT和PASV两种工作模式,即主动模式和被动模式 。今天我分享一个最近我自己在WINDOWS 10搭建FTP服务器的经验给大家&…

使用JAVA连接Mysql数据库,并完成相关操作

Java 访问 MySQL 通过使用JDBC让JAVA程序连接到数据库,并完成增删改查等操作。 大致步骤: 1、Mysql与eclipse、jdk等的下载(以及环境变量配置等,这里不做详细说明)。 2、将mysql-connector-java-5.1.8-bin.jar添加到ec…

javamysql

文章目录 1、初识MySQL1.1、数据库分类 2、列类型2.1、数值2.2、字符串2.3、事件日期 3、字段属性4、表操作4.1、字符集编码4.2、修改表结构4.3、清除表 5、DQL查询数据(最重点)5.1、DQL5.2、查询去重5.3、数据库的表达式5.4、模糊查询5.5、连表查询5.6、…

java实现操作MySQL

java对mysql数据库的操作分为以下几个步骤: 1.加载mysql jdbc驱动 //加载mysql jdbc驱动Class.forName("com.mysql.cj.jdbc.Driver");2.获取连接 获取连接需要两步,一是使用DriverManager来注册驱动,二是使用DriverManager来获取…

Java+MysQL:Java连接MysQL及进行简单的查询操作

最近想学习一下Java操作MySQL等数据库的教程,但是把整个网络翻遍也没找到令人满意的教程,各种报错,所以就决定,把自己的学习过程记录下来和大家分享,既可以作为日后复习巩固之用,又可以帮到需要的人,希望可以帮助以后想学习的朋友们少走一些弯路。大家一起交流共勉吧。 …

简单介绍Java连接MySQL数据库执行数据库操作

简介:在一般的项目开发中,无不用到对数据库的操作,这些操作无非也就是一些增删改查等操作。那么我们的Java如何操作数据库进行相关的数据操作呢,这里我们需要一个驱动程序,即JDBC驱动,JDBC包含两层&#xf…

数据库 —— Java操作MySQL

系列文章 数据库 —— MySQL 01 数据库 —— MySQL 02 数据库 —— Java操作MySQL 文章目录 系列文章十、JDBC10.1 什么是JDBC10.2、JDBC程序10.2.1、封装工具类10.2.2、SQL注入问题及解决 10.3、使用IDEA连接数据库10.4、JDBC操作事务10.5、数据库连接池 十、JDBC 10.1 什么…

Java-mysql:MYSQL数据操作

添加记录:1.一次添加一条记录:INSERT [INTO] 数据表名[(字段名称1,2……)] {VALUE|VALUES}(值1,2……);2.一次添加多条记录:INSERT [INTO] 数据表名[(字段名称1,2……)] VALUES(值1,2……),(值1…

java JDBC操作Mysql解析

一. 概念: Java DataBase Connectivity Java 数据库连接, Java语言操作数据库。JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提…

java对mysql的简单操作——增加数据

java连接mysql5.1教程(含代码) 查询数据 下面是数据添加片段的代码 Connection conn null; Statement stmt null; PreparedStatement psnull;try{// 注册 JDBC 驱动Class.forName(JDBC_DRIVER);// 打开链接//连接数据库conn DriverManager.getConne…

Java和MySQL的连接和操作(JDBC)

一、数据库的连接 1. 引入JDBC驱动程序 1.1 如何获取驱动程序 驱动程序由数据库提供商提供下载。 MySQL 的驱动下载地址:http://dev.mysql.com/downloads/ 依次点击 Connector/J -> Platform Independent ,如然后下载下面那个 1.2 如何在Java …