搭建 FTP 文件服务vsftpd
安装并启动 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()
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的更多相关文章
- 腾讯云-搭建 FTP 文件服务
搭建 FTP 文件服务 目的:搭建认证登录的FTP具有读写权限 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...
- 腾讯云,搭建 FTP 文件服务
腾讯云,搭建 FTP 文件服务 腾讯云,搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...
- 基于 Ubuntu 搭建 FTP 文件服务
搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...
- 腾讯云:ubuntu搭建 FTP 文件服务
搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...
- 基于CentOS 搭建 FTP 文件服务
系统要求: CentOS 7.2 64 位操作系统 一. 安装 VSFTPD (vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.a ...
- 使用FileZilla快速搭建FTP文件服务
为了便于平时对文件的存储访问,特意搭建FTP服务 FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. F ...
- 搭建 FTP 文件服务
1.安装并启动 FTP 服务 2.配置 FTP 权限 3.准备域名和证书 4.访问 FTP 安装 VSFTPD 使用 yum 安装 vsftpd: yum install vsftpd -y vsft ...
- Linux CentOS安装搭建FTP文件服务
本文环境:centos7,IP=192.168.1.11 1.安装vsftpd和默认配置启动 1.1 安装vsftpd yum install -y vsftpd 1.2 启动vsftpd syste ...
- 基于 CentOS 搭建 FTP 文件服务
https://www.linuxidc.com/Linux/2017-11/148518.htm
随机推荐
- ny716 River Crossing
River Crossing 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 Afandi is herding N sheep across the expanses ...
- 微信支付V3版本的那些事
最近在接入微信支付这块功能,博客园也有很多博友发表了支付的各种吐槽和解决之道,基于那些经验分享之上,我也来说说我的填坑之路. 1:准备工作,首先去申请注册一个公众号——服务号,然后将微信支付功能开通, ...
- Ribbon负载均衡策略与自定义配置
Ribbon负载均衡策略 配置 对调用的某个服务启用某种负载策略 1)通过配置文件配置 hello: ribbon: NFLoadBalancerRuleClassName:com.netflix.l ...
- JAVA中的protected(详解),以及和clone()方法有关的一些问题
http://blog.csdn.net/ciawow/article/details/8262609 ************************************************ ...
- js事件委托及其原理
1,什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这 ...
- java 多线程5: java 终止线程及中断机制 (stop()、interrupt() 、interrupted()、isInterrupted())
JAVA中有3种方式可以终止正在运行的线程 ①线程正常退出,即run()方法执行完毕了 ②使用Thread类中的stop()方法强行终止线程.但stop()方法已经过期了,不推荐使用 ③使用中断机制i ...
- LocationActivity
package com.baidu.location.demo; import com.baidu.baidulocationdemo.R;import com.baidu.location.BDLo ...
- jquery全部版本
http://www.jb51.net/zt/jquerydown.htm 这个地方实时更新jquery版本
- 获取IP和mac地址
1.获取IP static string GetLocalIp() { string hostname = Dns.GetHostName();//得到本机名 //IPHostEntry localh ...
- [ubuntu]E: The package firmware-upgrade needs to be reinstalled, but I can't find an archive for it.
解决办法把firmware-upgrade卸载 sudo dpkg --remove --force-all firmware-upgrade 然后 sudo apt-get update 即可