首先,先把服务器的配置说明一下:

操作系统:CentOS 6.6 64位
CPU:1核
内存:1GB
系统盘:20G(云硬盘)
公网带宽:1Mbps
对我来说挺合适的一个配置,把自己的爬虫放上面运行,数据存MySQL里面已经足够用了。

之前那篇写的是配置桌面环境,可是后来发现这个配置再加上个桌面环境,卡的我都不想说了….于是还是老老实实用字符界面了。

1.首先是安装ftp服务并且开启它:
sudo yum install vsftpd
等待它安装完成,之后开始配置相关文件

vi /etc/vsftpd/vsftpd.conf

进入到这个文件中,找到如下这几行:
anonymous_enable=YES,将其中的YES换成NO。
这个NO就表示禁止用户匿名登陆,也就是需要账号密码。

local_enbale=YES 确认这一项是YES,意思是允许本地账户进行ftp用户登陆。

我们还需要设置user_list,将其他所有的敏感账号给注释掉,然后添加自己的username(见下,你自己添加的登陆账号),之后再执行vi /etc/vsftpd/vsftpd.conf,在其中添加一行userlist_deny=NO,表示不禁用user_list里的账号。这个时候其中的账号只有你下面的步骤中添加的账号,也就是运行你用自己创建的账号登陆。

改了这三项,其他暂时不需要更改了,我们的目的是要配置好ftp服务,让自己通过设定的ftp账户登陆,上传文件到服务器上

使用如下命令查看是否设置成功:
cat /etc/vsftpd/vsftpd.conf | grep ^[^#]
这个^是正则表达式中的字符,单个^表示匹配以它后面那个字符开始的所有行,如^#:匹配以#开头的所有行,也就是全部注释行了。
[^] 这个恰恰相反,匹配不包括它后面的字符的所有行,[^#]也就是不包含#号的行,再加上一个^表明要匹配每个行。就找出所有没被注释的行了。
这里就稍微提一下,正则是个大学问,有待学习…..

输完上面的语句,就表明将所有的没被注释的行cat出来了,看看其中有没有刚才提到的两行,以及是否正确。

2.我们已经设定了什么人可以登陆,也安装好了ftp,现在添加认证账户

useradd -m -d /home/ftp -s /sbin/nologin username
这里的-m表示makedir建立目录,-d表示指定的目录这里是/home下建立一个指定的ftp目录。
-s是制定用户默认的shell权限,这里使用的/sbin/nologin,这个shell是专门使用于ftp,ssh,mail等服务。
它被禁止登陆系统,就是无法su,sudo等命令,也就无法获得最高权限,安全性高。

username是你自己设定的名字,这个home下的文件夹(我写的是ftp)也随你喜欢的名字设定。

为这个账号添加密码,这个简单,老早就学过,就是普通用户加密码:
passwd username

最后,依照腾讯给的官方帮助文档,说是要更改pam(可拔插认证模块)模块设置,针对ftp登陆的实体用户的过滤,但是我试过了更改不更改都能成功登陆ftp,但是为了安全起见,还是照着文档里来一下把。
vi /etc/pam.d/vsftpd

修改所有内容为:

%PAM-1.0

原先的第一行,看下面解释

auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required /lib64/security/pam_unix.so shadow nullok
auth required /lib64/security/pam_shells.so
account required /lib64/security/pam_unix.so
session required /lib64/security/pam_unix.so
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
但是我locate ftpusers好像出来的目录是/etc/vsftpd/ftpusers,所以上面的file应该改成对应的ftpusers路径。也是如上所示。

最后大功告成:
service vsftpd restart
重新启动vsftp服务,这个ftp服务就配置好了。

3.最后一步

到了这里,我们的ftp服务以及完全配好了。但是这时候你直接终端远程登陆可能会发现并不能登陆,总是报出connect time out,在网页下输入ftp://公网ip 也是一直进不去….

而我在本地实验过,ftp 127.0.0.1,是能验证用户名和密码登陆的,也就是说ftp服务没问题,这时候我们应该想到的是不是防火墙把你屏蔽了…..

根据这个点,最后终于找到了原因 …..我们用的是腾讯的云服务器,它默认有对服务器的内外网访问权限控制,也就是说是这个访问控制把我们的ftp请求屏蔽在了外面。

我们进到云服务器控制台,找到安全组,点击新建:
这里写图片描述
内容随便你写,你能看懂就行。

之后点击编辑,入站规则。新增一行:
这里写图片描述
添加一个21端口的tcp协议的规则,ftp协议就是基于tcp协议的。

点击加入云主机:
这里写图片描述

之后会连着默认的一个Linux安全组放通22端口加入云主机,再使用ftp,你会发现这时候提示你输入账号密码了,username和password,成功登陆。

4.文件上传
这个简单,最好将你要上传的文件打个包,在ftp下:
put 路径/example.tar.gz /home/ftp/example.tar.gz

这样就将要传的文件提交到了服务器上的/home/ftp/目录下,文件名字自己取。

有什么错误的地方希望指出,谢谢。

腾讯云服务器ftp部署及文件上传相关推荐

  1. linux的常用操作——基于ftp的windows10和腾讯云centos操作系统之间的文件上传和下载

    \qquad在腾讯云服务器的centos操作系统上,安装vsftpd并进行配置,然后基于ftp实现windows10操作系统和腾讯云centos系统之间的文件上传和下载. 文章目录 1.基于腾讯云服务 ...

  2. 如何将文件存放在ftp服务器,ftp如何将文件上传到服务器上

    ftp如何将文件上传到服务器上 内容精选 换一换 GaussDB(DWS)支持将存在远端服务器上的TEXT.CSV和FIXED格式的数据导入到集群中.本教程以CSV格式的数据为例进行演示.其他两种格式 ...

  3. 腾讯云cos对象存储服务文件上传api就是一个大坑

    一.介绍 对象存储服务(Cloud Object Service)是基于腾讯多年海量服务经验,对外提供的可靠.安全.易用的海量存储服务.提供多样化接入方式,以及全国部署的上传加速集群,可以无缝衔接CD ...

  4. SpringBoot整合腾讯云COS对象存储实现文件上传

    企业级项目开发中都会有文件.图片.视频等文件上传并能够访问的场景,对于初学者Demo可能会直接存储在应用服务器上:对于传统项目可能会单独搭建FastDFS.MinIO等文件服务来实现存储,这种方案可能 ...

  5. FTP服务器的搭建与使用FTP软件进行文件上传

    使用工具:VMware pro,windows server 2008 r2系统镜像文件 1.新建虚拟机,两个模式都可以创建 1.新建一个空白系统. 1.选择操作系统 2.选择操作系统版本 1.配置w ...

  6. Java实现FTP批量大文件上传下载

    用Java实现FTP批量大文件上传下载 <iframe id="I0_1416224567509" style="margin: 0px; padding: 0px ...

  7. 在Linux系统(CentOS 8.2)腾讯云服务器下部署原神云崽机器人(Yunzai-Bot)【保姆入门级】

    在决定记录这篇文章之前,我从几天前开始接触云服务器到一步步部署完成,确实是从无到有,一点点理解一点点实践.实践真的非常重要!!!因为肯定比你看书看教程视频强太多太多.这篇文章仅仅只是做一个我部署成功的 ...

  8. 【腾讯云服务器】部署云服务器(宝塔面板)——Flask项目+mysql+html全过程

    文章简介 本文章是记录我将自己的一个小web项目[(html+css+js)+Flask+Mysql]部署到腾讯的云服务器(宝塔腾讯云专属面板)上的过程,希望能帮到大家. (自己写的圣诞树和一个发送弹 ...

  9. 腾讯云服务器镜像部署 Java Web 环境

    操作场景 腾讯云市场中提供了例如包含多种操作系统.热门软件等不同类型的镜像.您可选择这些镜像,在腾讯云云服务器(CVM)上快速部署具有较高稳定性和安全性的软件环境以及个人网站. 本文档介绍在 Linu ...

  10. 本地电脑远程连接腾讯云服务器(windows系统)并传文件

    远程连接详解 进行远程连接需要几个数据:用户名.密码.公网IP 打开本地cmd,输入命令mstsc打开远程连接面板,在计算机输入框中输入阿里云服务器的IP地址 点击"选项"展开,点 ...

最新文章

  1. R语言——linux离线安装R包
  2. Arm64中的异常处理
  3. web前端培训分享Electron之IPC 通信
  4. 修改python的pip下载源
  5. python2和python3中encoding的差别
  6. 【CCCC】L2-003 月饼 (25分),贪心
  7. ps怎么更改背景图层大小_如何利用Photoshop软件修改图片尺寸的大小
  8. linux清理垃圾文件,linux如何清理系统垃圾
  9. linux编译n2n v2,在centos下安装n2n服务器
  10. php theexcerpt,wordpress函数get_comment_excerpt()用法示例
  11. java常用包名8个_java中常用包名的解释
  12. element-ui+vue给登录界面创建一个走马灯幻灯片切换
  13. Image Matching:SuperGlue论文阅读笔记
  14. 虚拟网络监控进阶之路-DeepFlow
  15. Simulink 3D Animation的使用(V_realm builder2.0)
  16. php中关于冬夏时令切换引发的问题
  17. C语言打印倒三角形代码
  18. 基于STM32的智能风扇系统
  19. 推荐系统:最大边缘相关多样性算法(MMR)(python实现)
  20. 浅谈互联网社交类产品更迭

热门文章

  1. 那些年陪伴我的老师+我期待的师生关系
  2. 性能优化之无阻塞加载脚步方法比较
  3. cetnos6.4 基础版安装
  4. ORACLE RMAN备份--差异增量与累积增量的策略实例图
  5. 触发器的创建及相关知识
  6. 11月7日简单标签与Listener培训日记
  7. wordpress知更鸟begin主题添加菜单字体图标
  8. OpenCV-图像处理(04、图像操作)
  9. 计算机音乐tfboys手机,TFBoys王源的iPhone挂了 别怕 手贱有得治
  10. php curl 12306,pany