安装并启动 FTP 服务

安装 VSFTPD

使用 yum 安装 vsftpd

yum install vsftpd -y

vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.appspot.com/vsftpd.html],它可能是 UNIX-like 系统下最安全和快速的 FTP 服务器软件。

启动 VSFTPD

安装完成后,启动 FTP 服务:

service vsftpd start

启动后,可以看到系统已经[监听了 21 端口]

netstat -nltp | grep 21

此时,访问 ftp://<您的 CVM IP 地址> 可浏览机器上的 /var/ftp 目录了。

FTP 协议默认使用 21 端口作为服务端口

配置 FTP 权限

目前 FTP 服务登陆允许匿名登陆,也无法区分用户访问,我们需要配置 FTP 访问权限

了解 VSFTP 配置

vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:

  • vsftpd.conf 为主要配置文件
  • ftpusers 配置禁止访问 FTP 服务器的用户列表
  • user_list 配置用户访问控制

阅读上述配置以了解更多信息。如果您准备好了,点击下一步开始修改配置来设置权限。

阻止匿名访问和切换根目录

匿名访问和切换根目录都会给服务器带来[安全风险],我们把这两个功能关闭。

编辑 /etc/vsftpd/vsftpd.conf[找到下面两处配置]并修改:

# 禁用匿名用户
anonymous_enable=NO # 禁止切换根目录
chroot_local_user=YES

编辑完成后,按 Ctrl + S 保存配置,重新启动 FTP 服务,如:

service vsftpd restart

匿名访问让所有人都可以上传文件到服务器上而无需鉴权,而允许切换根目录则可能产生越权访问问题。

在代码编辑器中,用 Ctrl + F 进行搜索,Mac 用户用 Cmd + F 进行搜索

创建 FTP 用户

创建一个用户 ftpuser [?]

useradd ftpuser

为用户 ftpuser 设置密码 [?]

echo "Password" | passwd ftpuser --stdin

为了方便后面的实验步骤,不建议使用其它的用户名

下面命令中的密码为实验室为您生成,为了方便后面的实验步骤,不建议使用其他密码

限制该用户仅能通过 FTP 访问

限制用户 ftpuser 只能通过 FTP 访问服务器,而不能直接登录服务器:

usermod -s /sbin/nologin ftpuser

为用户分配主目录

为用户 ftpuser 创建[主目录]并约定:

/data/ftp 为主目录, 该目录不可上传文件

/data/ftp/pub 文件只能上传到该目录下

mkdir -p /data/ftp/pub

创建登录欢迎文件 [?]

echo "Welcome to use FTP service." > /data/ftp/welcome.txt

设置访问权限:

chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub

设置为用户的主目录:

usermod -d /data/ftp ftpuser

用户的主目录是用户通过 FTP 登录后看到的根目录

方便用户登录后可以看到欢迎信息,并且确定用户确实登录到了主目录上。

准备域名和证书

注:如果您不需要通过域名访问 FTP 服务器则可以直接点击“已完成,下一步”跳过域名和证书的准备环节

域名注册

域名解析

ping www.yourdomain.com

如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。

注意替换下面命令中的 www.yourmpdomain.com 为您自己的注册的域名

访问 FTP 服务

FTP 服务已安装并配置完成,下面我们来使用该 FTP 服务

访问 FTP 服务

根据您个人的工作环境,选择一种方式来访问已经搭建的 FTP 服务

通过 Windows 资源管理器访问

Windows 用户可以复制下面的[链接]到资源管理器的地址栏访问:

ftp://ftpuser:Password@<您的 CVM IP 地址>

通过 FTP 客户端工具访问

FTP 客户端工具众多,下面推荐两个常用的:

  • WinSCP - Windows 下的 FTP 和 SFTP 连接客户端
  • FileZilla - 跨平台的 FTP 客户端,支持 Windows 和 Mac

下载和安装 FTP 客户端后,使用下面的凭据进行连接即可:

[主机]

用户:

ftpuser

密码:

Password

如果能够正常连接,那么大功告成,您可以开始使用属于您自己的 FTP 服务器了!

接下来,请上传任意一张图片到您的 FTP 服务器上的pub目录下,然后,就可以在 /data/ftp/pub 中看到了。

注意: 请不要直接上传文件到根目录下,您应该选择上传到 pub 目录下

如果您申请了域名,可以将链接中的 Ip 地址替换为对应的域名访问 FTP 服务

如果您申请了域名,可以将Ip 地址替换为对应的域名作为访问凭据

大功告成

常用错误:

1. 解决方法 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

#vi /etc/vsftpd.conf (或者是在/etc/vsftpd/vsftpd.conf,总之知道自己服务器的配置文件)
添加 allow_writeable_chroot=YES
 
保存退出
service vsftpd restart 重启vsftp服务,即可正常登录
 
2.

vsftp出现550 Failed to change directory.错误分析

出现上面的错误分析

/etc/vsftpd/vsftp.conf

文件发现

修改下面2条记录:

# users to NOT chroot().

chroot_list_enable=NO

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

# Default umask for local users is 077. You may wish to change this to 022,

# if your users expect that (022 is used by most other ftpd's)

#local_umask=022

之后问题解决。

或者

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

在/etc/vsftpd/chroot_list

故障解决方案一:

Server sent passive reply with unroutable address 172.18.202.164, using host address instead.
监测到超时!
无法获得目录列表
Entering Passive Mode (172,18,202,164,78,195)
列出'/'的目录项时出错。

搭建 FTP 文件服务vsftpd的更多相关文章

  1. 腾讯云-搭建 FTP 文件服务

    搭建 FTP 文件服务 目的:搭建认证登录的FTP具有读写权限 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...

  2. 腾讯云,搭建 FTP 文件服务

    腾讯云,搭建 FTP 文件服务 腾讯云,搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...

  3. 基于 Ubuntu 搭建 FTP 文件服务

    搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...

  4. 腾讯云:ubuntu搭建 FTP 文件服务

    搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...

  5. 基于CentOS 搭建 FTP 文件服务

    系统要求: CentOS 7.2 64 位操作系统 一. 安装 VSFTPD (vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.a ...

  6. 使用FileZilla快速搭建FTP文件服务

    为了便于平时对文件的存储访问,特意搭建FTP服务 FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. F ...

  7. 搭建 FTP 文件服务

    1.安装并启动 FTP 服务 2.配置 FTP 权限 3.准备域名和证书 4.访问 FTP 安装 VSFTPD 使用 yum 安装 vsftpd: yum install vsftpd -y vsft ...

  8. Linux CentOS安装搭建FTP文件服务

    本文环境:centos7,IP=192.168.1.11 1.安装vsftpd和默认配置启动 1.1 安装vsftpd yum install -y vsftpd 1.2 启动vsftpd syste ...

  9. 基于 CentOS 搭建 FTP 文件服务

    https://www.linuxidc.com/Linux/2017-11/148518.htm

随机推荐

  1. angular学习笔记(二十七)-$http(5)-使用$http构建RESTful架构

    在angular中有一个特别为RESTful架构而定制的服务,是在$http的基础上进行了封装. 但是为了学习,我们先看看用直接$http是如何构建RESTful架构的: 假设有一个银行卡的列表.需要 ...

  2. Spark RDD、DataFrame和DataSet的区别

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   转载请标明出处:小帆的帆的专栏 RDD 优点: 编译时类型安全 编译时就能检查出类型错误 面向对象的编程风格 直接通过类 ...

  3. 简单的Ajax实例

    由于刚刚接触Ajax,所以在网上搜了一下如何实现简单的Ajax,在此写下来,也方便自己以后学习 什么是Ajax? 通过在后台与服务器进行少量的数据交换,Ajax可以使网页实现异步更新,这意味着可以在不 ...

  4. POj 1753--Flip Game(位运算+BFS)

    Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30669   Accepted: 13345 Descr ...

  5. linqtosql 实现数据分页

    cs代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syst ...

  6. DDD CQRS和Event Sourcing的案例:足球比赛

    在12月11日新的有关DDD CQRS和Event Sourcing演讲:改变心态- 以更加面向对象视角看待业务领域建模中,作者以足球比赛football Match为案例说明传统编程方法和CQRS的 ...

  7. DRAM 各项基本参数记录

    记录一下DRAM的各项基本参数 tCL CAS Latency CAS 潜伏期, 列地址寻找/读写命令执行完毕,准备要读出来,需要一个延时缓一缓 tRAS: RAS Active Timeing 行有 ...

  8. 【Qt Tips】QLineEdit内容过滤之setValidator和setInputMask浅析

    1.QValidator分析 2.InputMask格式 3.测试代码和用例 项目路径: GitHub: https://github.com/Qunero/NeoQtTestDemo/tree/ma ...

  9. tar -cvzf a.tar.gz a --remove-files,tar命令执行原理

    tar -cvzf  a.tar.gz a --remove-files [root@nfs01 backup]# tar -zcvf  88.tar.gz    --remove-files  /b ...

  10. Mysql: Connect/C++ 使用过程中发现返回 std::string 造成的内存泄露

    在使用 Connect/C++ ,测试时发现在调用 getString 出现了内存增长的情况. ConstructOutput(); //打印出当前内存 ;i<;++i) { prepareSt ...