搭建 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
随机推荐
- hdoj1114 Piggy-Bank
Piggy-Bank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- windows党码农在linux下你最需要的软件列表TOP10
NO 10.QQ 神奇的TX,经常更新接口,使得linux社区的模仿软件总是跟不上步伐,一整就不能登陆使用.可是老大,您怎么自从2009-01-04发布了第一版QQ for Linux 1.0 Bet ...
- C/C++/C#/Python日志框架
俗话说,打得一手好log才是一个优秀的程序员. **打log的目的是为了迅速排错或在有争议时拿出证据证明自己.基于这个目的,log不在多,只要抓住一切对自己有利的信息,就可以了.** 日志框架列表 C ...
- cocos2dx遇到的坑1
记录下在cocos2dx 2.x时代遇到的问题 1.节点的观念,用节点来管理 2.pushscene popscene 和replacewithscene runwithscene对应 3.lua里释 ...
- MongoDB学习之(三)增删查改
发现一篇Java操作MongoDb不错的文章,记录一下: https://www.cnblogs.com/sa-dan/p/6836055.html 基本功能. import java.util.Ar ...
- Redis学习之(一)
Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数据存储系统 - Redis将其数据库完全保存在内存中, ...
- hibernate里联合主键composite-id映射,查询单个主键的问题
今天项目中遇到这个问题,搞了大半天,现在记录下来hibernate里联合主键配置(多个字段一起作为主键) <class name="com.cskj.hibernate.map.BbW ...
- tomcat7和jetty启动的pom.xml配置
<plugins> <!-- tomcat7 --> <plugin> <groupId>org.apache.tomcat.maven</gro ...
- 【WPF】TabControl垂直分页栏/选项卡
分页栏控件TabControl默认的选项卡是水平方向的,如下: 现在要改成垂直方向的: 给TabControl 标签添加属性 TabStripPlacement=”Left” , 如下: <Ta ...
- C#递归累计到父行
搞了半天 写了一个算法,希望能帮到需要的朋友 效果如下 水电费用是由 就是部门水费和电费累加的,而部门水费由科室水费累加起来的 表结构 DataTable dt = new DataTable(); ...