当我再次被各种出站入站规则玩弄,在搜索引擎的帮助走出泥淖后,我决定记下这次经历

1. FTP服务器的部署

1.1 安装vsftpd

  笔者使用的是阿里云的ECS服务器(这不是广告,而是提醒:P),操作系统为CentOS7。首先,安装vsftp(very secure FTP daemon),这是一个开源的ftp服务器软件。

# 安装vsftpd
yum install vsftpd
# 设置开机启动
systemctl enable vsftpd

可以用systemctl管理vsftpd进程:

# 启动,终止,重启,查看运行状态
systemctl [start|stop|restart|status] vsftpd
# 设置开机自启动,关闭开机自启动
systemctl [enable|disable] vsftpd

1.2 填写配置文件

1.2.1 配置vsftpd.conf

vim /etc/vsftpd/vsftpd.conf
# 去掉注释并改写
anonymous_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=YES
chown_uploads=NO
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP service.
chroot_local_user=YES
# 添加
use_localtime=YES
listen_port=21
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=10000
pasv_max_port=10020
accept_timeout=5
connect_timeout=1

1.2.2 新建用户文件

vim /etc/vsftpd/virtusers
# 以下为实例内容,两行为一组,第一行为用户名,第二行为密码
qdh
qdh
wb
wb

1.2.3 生成用户数据文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.dbchmod 600 /etc/vsftpd/virtusers.db 

1.2.4 修改/etc/pam.d/vsftpd文件

vim /etc/pam.d/vsftpd
# 先将auth及account的所有配置行均注释掉,添加以下两行,如果为32位系统,lib64改为libauth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusersaccount sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

1.2.5 新建系统用户

# 新建系统用户vsftpd,家目录为/home/vsftpd
# 登录终端设为/bin/false,使之不能登录系统
useradd vsftpd -d /home/vsftpd -s /bin/false
chown -R vsftpd:vsftpd /home/vsftpd

1.2.6 建立虚拟用户个人配置文件

# 新建文件夹用来存放虚拟用户个人配置文件,并进入该文件夹
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf# 建立用户根目录
mkdir -p /home/vsftpd/qdh/
mkdir -p /home/vsftpd/wb/vim qdh
# 新建用户qdh的配置文件,内容如下,其他用户类似local_root=/home/vsftpd/qdh/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

1.3 防火墙设置

1.3.1 CentOS7的防火墙

# 查看防火墙状态
firewall-cmd --state
# 查看端口开放情况
firewall-cmd --query-port=21/tcp
# 开放20号和21号端口
firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
# 开放10060至10090号端口
firewall-cmd --zone=public --add-port=10000-10020/tcp --permanent
# 重新加载防火墙
firewall-cmd --reload

1.3.2 阿里云的安全组规则(老是忘)

  在“云服务器ECS->实例->管理->本实例安全组->配置规则”中,选择“添加安全组规则“。在本例中,添加的第一个规则填写如下:

2. 客户端的配置

  笔者在Windows10中,尝试用cmd的ftp命令和资源管理器两种方式尝试连接ftp服务器,其间出现了各种问题。进行以下操作时,结束后记得点击“确定”或“应用”之类的按钮以保存更改结果。

2.1 在使用ftp命令时出现“425 Failed to establish connection”

  在“控制面板->系统和安全->Windows 防火墙->允许的应用”中,点击更改设置,然后根据所用网络勾选“文件传送程序”。

2.2 在资源管理器中出现“Windows 无法访问此文件夹,请确保输入的文件夹是正确的,并且你有权访问此文件夹”

  在“控制面板->程序->启用或关闭Windows功能”中,找到“Internet信息服务”,把里面的“FTP服务器”中的“FTP服务”和“FTP扩展性”都打勾;找到“TFTP客户端”,并打勾。

  在“控制面板->网络和Interne->Internet高级选项->高级”中,将“使用被动FTP(防火墙和DSL调制解调器的兼容)”前面的勾取消。

  在“控制面板->系统和安全->Windows 防火墙->允许的应用”中,点击更改设置,然后根据所用网络勾选“文件传送程序”。

2.3 上传文件时出现“553 Could not create file”

  在CentOS中修改ftp用户文件夹的访问权限即可。

在阿里云CentOS7上搭建ftp服务器相关推荐

  1. 在阿里云ECS上搭建Skynet服务器与Unity通信

    在阿里云ECS上搭建Skynet服务器与Unity通信 创建阿里云ECS实例 Skynet搭建 服务端代码部分 客户端部分(Unity) 创建阿里云ECS实例 这部分的话按照阿里云流程去做就可以了.也 ...

  2. centos+7虚拟机web服务器,CentOS7上搭建WEB服务器

    mysql 安装 直接yum install mysql-server是不可以的 1 wget http://repo.mysql.com/mysql-community-release-el7-5. ...

  3. 云环境下搭建FTP服务器(不使用21端口)

    云环境下搭建FTP服务器(不使用21端口) 背景: 1:服务在某云端环境中 2:业务需要在云端环境中部署FTP服务 3:为了安全考虑,在云:安全组中,关闭20.21端口 步骤: 1:使用新的端口在服务 ...

  4. 手把手教你在阿里云ECS上搭建惊艳的博客

    手把手教你在阿里云ECS上搭建惊艳的博客 相信大多数人都有自己搭建博客网站的想法,本文就手把手一步一步的进行,最终结果类似如下样式: 网站软件的选择 软件选择成熟而免费的WordPress,WordP ...

  5. Windows Server 2003上搭建FTP服务器(IIS同理)

    Windows Server 2003上搭建FTP服务器(IIS同理) FTP File Transfer Protocol(文件传输协议)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模 ...

  6. centos7上搭建git服务器

    centos7上搭建git服务器 环境 centos7,git 1.8.3,tortisegit 安装git和创建用户 注:$代表用root用户登录 # 安装Git $ yum install git ...

  7. 阿里云Centos7上安装MySQL教程

    阿里云Centos7上安装MySQL教程 1 基本安装过程 1.查看系统是否安装了mysql软件 # rpm -qa|grep -i mysql 2.将已经安装过的软件卸载掉.注意:这样的卸载是不彻底 ...

  8. 如何查看linux上的ftp服务器配置,ftp服务器配置:如何在Linux上搭建FTP服务器?

    Linux搭建FTP服务器的话,直接使用系统自带的vsftpd服务器即可,轻便灵活,容易操作,下面我简单介绍一下安装和使用过程,感兴趣的朋友可以尝试一下ftp服务器配置: 01安装vsftpd首先ft ...

  9. 工具-在WIN10上搭建Ftp服务器(转)

    在windows10上面搭建你的FTP服务器,正在学服务器这门课程,刚好学到搭建Ftp服务器.所以就在自己电脑上也搭建了一个Ftp服务器.我的电脑是win10的,所以本教程也是在win10上面搭建Ft ...

最新文章

  1. Android 环境搭建的错误解决方案
  2. “疫”不容辞,数据中心的“逆行之道”
  3. 《研磨设计模式》chap25 访问者模式Visitor(2)模式应用到场景
  4. 忍“乳”负重,身材好的女孩子究竟有多不容易?我从科学的角度算出来了……...
  5. HDU2795 Billboard
  6. 150W光速秒充!realme真我GT Neo3正式发布 售价1999元起
  7. ubuntu下点击安装VMware tools,没有压缩包文件
  8. Javascript脚本之清除浏览器历史数据
  9. MSSQL 2000 823错误原因分析及数据恢复方案
  10. 【20210305期AI简报】基于TensorRT完成NanoDet模型部署、Google AI发布TensorFlow 3D
  11. 白山搜索引擎优化收费_百度搜索引擎优化收费标准
  12. TableauとSFDCデータ整理
  13. Q_D以及Q_Q指针理解
  14. 预防猝死,8个心率监测方案随时监测的身体状况
  15. SpringCloud(H版alibaba)之基本框架篇
  16. 禅意茶艺茶道茶文化PPT模板
  17. 和石侃博士关于“香山”的一小时讨论
  18. 【STM32学习笔记】(5)—— STM32工程添加源文件和头文件
  19. 当人工智能变成美妆博主……
  20. 谷歌浏览器 一律不翻译英语 恢复

热门文章

  1. [滑模控制器浅述] (5) 基于分层滑模的吊车控制
  2. html抓取网址某链接,URL 筛选小工具 提取网页中的链接地址
  3. 血氧仪方案-血氧仪的功能及应用
  4. [Spark进阶]-- Spark Dataframe操作
  5. 债券价格和到期收益率的关系_债券价格、到期收益率与票面利率之间的关系是什么?...
  6. 三种主流RIA技术之争,你该如何选型?
  7. 统信软件宣布旗下深度社区全新规划 打造我国主导的全球桌面系统根社区
  8. Android Things 开发入门
  9. c++ stl栈容器stack用法介绍
  10. Praat将连续录制的声音文件切成小单位文件