【腾讯云】腾讯云服务器搭建ftp服务器

时间:2022-09-09 13:12:22

一、硬件描述

1.1 云服务器:腾讯云

云主机
操作系统:Ubuntu Server 14.04.1 LTS 32位
CPU:1核
内存:1GB
系统盘:20GB(本地磁盘)
数据盘:0GB
公网带宽:1Mbps

1.2 本地配置

操作系统:windows 8.1

二、远程登陆服务器(ubuntu为例)

2.1 操作教程

官方文档:如何远程登录linux服务器

2.2 踩过的坑

需要特别注意的是,在使用ssh与putty保存session登陆时,有一个坑!
【腾讯云】腾讯云服务器搭建ftp服务器
保存的session名称应避免与用户名冲突

三、搭建vsftpd服务器

3.1 下载vsftpd

redhat、centos等使用rpm包的发行版:

使用命令安装:yum install vsftpd
使用下载包安装:rpm -ivh vsftpd*.rpm

Debian、Ubuntu等使用DEB包党的发行版:

使用命令安装:apt-get install vsftpd

若权限不足,则在命令前加 sudo ,下同

3.2 关闭selinux(Debian、Ubuntu等使用DEB包的系统可跳过此步骤)

由于ftp涉及到端口开放的问题,所以我们把selinux关闭。

selinux的介绍见博文——SELinux深入理解
ftp命令连接使用21端口,数据连接则有两种方式,即主动ftp和被动ftp。详细见博文——FTP两种工作模式介绍

一般在redhat、centos等使用rpm包的发行版默认安装有selinux,而Debian、Ubuntu等使用DEB包的发行版不默认安装

故对于Debian、Ubuntu等使用DEB包的服务器:

临时关闭(重启后,selinux会被打开):setenforce 0
开启:setenforce 1
永久关闭:修改/etc/selinux/config文件,将SELINUX=enforcing改成SELINUX=disabled,重启机器

3.3 开启ftp服务

service vsftpd start/stop/restart

对于服务操作的一些命令:

service [service名] [对service的操作如:start/stop/restart/status]

3.4 ftp用户管理

出于安全考虑,一般不会使用系统用户来做登陆ftp的操作,因而大部分情况下会新建一个linux用户(单纯的一个用户,不具备bash),并用此用户进行ftp的登陆等操作

对于ftp用户的管理,其遵循linux的用户管理,根据/etc/passwd和etc/group来进行管理

新建用户:

useradd test,passwd test

此处的useradd仅仅只是创建用户,而可替换为adduser(创建用户家目录\home\test)
二者具体的区别在useradd 与adduser的区别有介绍

3.5 通过对 vsftpd 配置文件的修改实现对vsftpd的精细化配置

对于vsftpd具体的一些配置可通过修改配置文件来进行实现。

常见的配置文件有:
【腾讯云】腾讯云服务器搭建ftp服务器

对于主配置文件,一些常用的配置:

anonymous_enable=YES #是否开启匿名登陆
local_enable=YES #是否允许本地用户(即linux系统中的用户帐号)登录FTP服务器,默认设置为YES允许
write_enable=YES #是否允许本地用户对FTP服务器文件具有写权限,默认设置为YES允许

一项比较重要的配置:(文字不重要,重点看图)

用户登录FTP服务器后是否具有访问自己目录以外的其他文件的权限
设置为YES时,用户被锁定在自己的home目录中,vsftpd将在下面chroot_list_file选项值的位置寻找chroot_list文件
必须与下面的设置项配合
chroot_list_enable=YES
被列入此文件的用户,在登录后将不能切换到自己目录以外的其他目录
从而有利于FTP服务器的安全管理和隐私保护。此文件需自己建立
chroot_list_file=/etc/vsftpd/chroot_list

【腾讯云】腾讯云服务器搭建ftp服务器

关于主配置文件的使用,史上最详细的vsftpd配置文件讲解(1) 这篇文章写得很详细

四、踩过的坑

4.1 不同系统配置文件的目录不同

ubuntu不同于centos,ubuntu的配置文件目录不在 /etc/vsftpd/vsftpd.conf 而是在 /etc/vsftpd.conf

4.2 明确vsftpd.conf 文件中几个参数的作用

【腾讯云】腾讯云服务器搭建ftp服务器

4.3 记得打开21端口的安全组

购买云主机的时候,在做最初配置时,有引导安全组的配置。因为之前选了默认的打开“Linux安全组放通22端口”,而没打开ftp的21端口。
所以,在配置完成ftp服务器时发现只能在服务器上登陆ftp,而通过外网无法访问ftp。这是一个比较容易被忽略的问题!(这是一个大坑)

官方文档:如何配置安全组?

4.4 出现错误500 OOPS: vsftpd: refusing to run with writable root inside chroot()

如果启用chroot,必须保证ftp根目录不可写,这样对于ftp根直接为网站根目录的用户不方便,所以建议假如ftp根目录是/home/${cjh},则将访问权限改写如下
chmod a-w /home/cjh

4.5 写文件时遇到-bash: data1.txt: Permission denied

sudo sh -c "echo a > 1.txt"

避免’sudo echo x >’ 时’Permission denied’

五、参考文献

1、qcloud文档中心, https://www.qcloud.com/doc/product
2、专题:vsftpd入门——安装、配置、案例与常见问题。玩转vsftpd服务器的四大高级配置, http://os.51cto.com/art/201008/222036.htm
3、FTP两种工作模式介绍, http://www.softbar.com/blog/post/117.html
4、SELinux深入理解, http://blog.csdn.net/myarrow/article/details/9856095/
5、useradd 与adduser的区别, http://blog.csdn.net/deit_aaron/article/details/9984701
5、史上最详细的vsftpd配置文件讲解(1), http://os.51cto.com/art/201008/221842.htm
6、避免’sudo echo x >’ 时’Permission denied’, http://blog.csdn.net/hejinjing_tom_com/article/details/7767127

【腾讯云】腾讯云服务器搭建ftp服务器的更多相关文章

  1. 如何在阿里云服务器搭建FTP服务器,在本地电脑连接并操作

    首先你需要有一个阿里云的ECS服务器 并且开通了公网宽带(话说也不贵,开来玩玩还是可以的,第一次买会比较便宜,第二次买1M的宽带两天是九毛多吧~) 开通了宽带之后,ECS服务器就可以上网了 如果嫌弃阿 ...

  2. 腾讯云服务器linux centOS7.4 搭建ftp服务器 vsftpd

    腾讯云服务器linux centos 7.4 搭建ftp服务器 vsftpd 在centos 7.3测试也是OK的,其它版本没有实验 # 安装 vsftpd $ yum install vsftpd ...

  3. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器

    最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  4. [FTP]通过FileZilla在阿里云主机上搭建ftp服务器

    前一阵子租了一台服务器主机来玩,正好周末有时间研究了一下怎么搭建ftp server. 准备.首先要下载filezilla client和filezilla server, 下载地址: server: ...

  5. 关于阿里云专有网络搭建FTP服务器的深坑

    之前用的FTP服务器都是,随便搭建一下就能用了, 昨天因为服务器的问题,换了个服务器,搭建FTP服务器的时候发现, 搭建的服务器居然只能使用 主动模式访问,改成被动后 无法获取目录, 百度了 各大论坛 ...

  6. Python一秒搭建ftp服务器,帮助你在局域网共享文件【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  7. 白嫖永久免费云服务器教程,永久免费虚拟主机、永久免费云数据库、搭建FTP服务器、服务器安装Linux / windows操作系统、服务器部署网站、宝塔一键部署多网站、独立ip、永久国内高速云服务器

    一.准备工作 1. 注册账号 声明:切记不可用服务器做违法的事情 申请地址:https://www.sanfengyun.com/ 图文教程地址:https://www.cnblogs.com/zwn ...

  8. 服务器linux centos 7.4 搭建ftp服务器

    此操作是在腾讯云服务器linux centos 7.4 完成搭建ftp服务器 vsftpd 的: 安装 vsftpd $ yum install vsftpd -y 启动 $ service vsft ...

  9. 手把手教你搭建WEB服务器和FTP服务器

    注:本次教程的环境是在“Windows 10 PC中远程控制的Windows Server 2012 R2服务器”,你可以自己在自己电脑中安装虚拟机再安装Windows Server 2012 R2服 ...

随机推荐

  1. http执行过程分析

    执行过程: 1.用户在浏览器(客户端)里输入或者点击一个网址链接: 2.浏览器通过网址域名查找ip地址.DNS查找方式是通过浏览器缓存(会记录DNS记录)→系统缓存→TCP/IP参数中设置的首选DNS ...

  2. PHP 线程安全与非线程安全版本的区别深入解析

    Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍 ...

  3. JavaScript——事件模型

    DOM事件流: DOM(文档对象模型)结构是一个树型结构,当一个HTML元素产生一个事件时,该事件会在元素结点与根节点之间按特定的顺序传播,路径所经过的节点都会收到该事件,这个传播过程可称为DOM事件 ...

  4. AC自动机题目汇总

    POJ 4052 ZJU 3430 HDU 4117 HNU 10104 HDU 2457 HNU 11187 ZJU 3545 HDU 3341

  5. git config找到下载的路径URL

      有时想在别的机器上下载自己的上传的源代码,发现git不像svn那么方便一眼就能看到下载地址,这两天在网上查了一下,终于找到方法了. 一般本地的github目录下总会有一个.git目录,点击进入,可 ...

  6. 使用Dapper.Contrib 开发.net core程序,兼容多种数据库

    关于Dapper的介绍,我想很多人都对它有一定的了解,这个类似一个轻型的ORM框架是目前应用非常火的一个东西,据说各方面的性能都不错,而且可以支持多种数据库,在开始介绍这个文章之前,我花了不少功夫来学 ...

  7. Excel技巧--实现交叉查询

    如上图,要实现某个地区和某个产品的销售额查询显示.可以使用Match和Index函数的使用来实现: 1.产品名称和城市栏,制作成列表可选:使用“数据”-->“数据验证”的方法. 2.先在旁边空位 ...

  8. laravel框架入门

    本文摘自网络,个人感觉写的很不错,决定收藏一下纯属本人学习之用 本文介绍如何开始使用 Laravel. 读完本文,你将学到: 如何安装 Laravel,新建 Laravel 程序,如何连接数据库: L ...

  9. BFS广搜题目(转载)

    BFS广搜题目有时间一个个做下来 2009-12-29 15:09 1574人阅读 评论(1) 收藏 举报 图形graphc优化存储游戏 有时间要去做做这些题目,所以从他人空间copy过来了,谢谢那位 ...

  10. .NET源代码已经下载,潜心研读…

    有兴趣的弟兄可以从这里下载:http://referencesource.microsoft.com