CentOS7.0下安装FTP服务的方法
一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通。后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程。现在,代码先走FTP吧,挺稳。
FTP简介
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。
在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。
用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。
FTP安装
首先检查一下你的远程服务器是否已经安装了FTP服务。
|
1
|
#rpm -qa | grep vsftpd |
如果啥都没显示,恭喜你,没有安装ftp服务,你可以安心的进行下面的动作了。如果有vsftpd的版本,那该干啥干啥去,这章不适合你!!!
那我们首先安装vsftpd。
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。
运行下面的命令就可以完成vsftpd的安装
|
1
|
#yum -y install vsftpd |
安装完成再次利用上面的rpm命令检查一下是否完成安装,如果完成安装,那就可以继续。
开启vsftpd服务
|
1
|
#service vsftpd start |
在centos 中使用 systemctl start vsftpd
检查vsftpd服务
|
1
|
#service vsftpd status |
注意,ftp服务使用的是21端口,有时候也使用20端口。我们之前设置的iptables防火墙服务阻止了这一端口,所以也要添加下面的代码到/etc/sysconfig/iptables里去。
|
1
|
A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT |
重启防火墙服务
|
1
|
#systemctl restart iptables.service |
好的,到这里,我们的默认ftp服务就已经开始运作啦,让我们来测试一下吧。
|
1
|
#ftp localhost |
用户名称那一栏输入anonymous(匿名)
得到下面的信息就标识你的vsftp服务安装已完成。

在ftp>后面输入bye,先暂时和ftp告别,因为我们还有一些事没干呢。
配置vsftpd服务
打开vsftpd服务的配置文件
|
1
|
#vim /etc/vsftpd/vsftpd.conf |

改变这几个属性的值,具体是啥意思呢,当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。为了以后好控制,我们先打开这几个配置。
保存退出,我们新建一个chroot_list文件
|
1
|
#touch /etc/vsftpd/chroot_list |
重启vsftp服务
|
1
|
#service vsftpd restart |
新增ftp用户
|
1
|
#/usr/sbin/adduser -d /usr/www/ftptest -g ftp -s /sbin/nologin vftpuser |
新增用户vftpuser,用户的主目录是/usr/www/ftptest目录,用户组是ftp,不能登录的账户。
设置vftpuser密码
|
1
|
#passwd vftpuser |
修改/usr/www/ftptest的目录权限
|
1
|
#chmod 755 /usr/www/ftptest/ |
重启vsftp服务
|
1
|
#/sbin/service vsftpd restart |
设置权限
查看SElinux策略内ftp相关权限
|
1
|
#getsebool -a | grep ftp |
打开ftp权限
|
1
|
#setsebool allow_ftpd_full_access 1 |
重启vsftp服务
|
1
|
#/sbin/service vsftpd restart |
现在,可以在本机ftp远程服务器啦。不过,枫爷推荐大家一款比较实用的ftp软件:filezilla。相当好用,至于怎么用,大家自行百度即可。
可能遇到的问题
问题1:SElinux未关闭导致无法访问,可以尝试将selinux策略先行关闭。
|
1
|
#vim /etc/selinux/config |
将SELINUX一栏设置为disable即可

问题2:filezilla打开时会报以下的错误

打开你的站点管理,点击进入传输设置

按照图中的配置配置传输模式,即可完成链接。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
CentOS7.0下安装FTP服务的方法的更多相关文章
- 【CNMP系列】CentOS7.0下安装FTP服务
一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通.后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程.现在,代码先走FTP吧,挺稳. FTP简介 FTP 是 ...
- 【CNMP系列】CentOS7.0下安装Nginx服务
话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Ngi ...
- 【CNMP系列】CentOS7.0下安装PHP5.6.30服务
上一节我们讲过了如何在CentOS7.0下安装MySql服务,如果没有看到欢迎页面的朋友,可以加我的个人微信详聊:litao514148204 附上一节地址:http://www.cnblogs.co ...
- 【CNMP系列】CentOS7.0下安装MySql5.6服务
接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MyS ...
- 【Tomcat】CentOS7.0下安装多个Tomcat及其配置
安装前所需环境 在开始安装Tomcat之前,需要安装环境JDK,并配置JAVA环境.如果不知道如何配置,可参考这篇博客:[Linux]CentOS7.0下安装JDK环境 Tomcat安装 Tomcat ...
- 【Linux】CentOS7.0下安装JDK环境
写在前面:此次试验是在CentOS7上面安装的,亲测成功. 所需工具:JDK1.8安装包,xftp 具体步骤: 1,首先使用xftp连接到自己的虚拟机,然后查看是否有"/usr/java/j ...
- centos7.0 下安装jdk1.8
centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...
- Linux下安装FTP服务(Ubuntu)
在Ubuntu 14.04 上安装 FTP 服务 第一步>>更新库 linuxidc@linuxidc:~$ sudo apt-get update 第二步>>采用如下命令安装 ...
- CentOS7下安装FTP服务
1.安装vsftp 1.1.安装vsftp,测试安装的vsftpd的版本是:vsftpd.x86_64 0:3.0.2-11.el7_2 yum -y install vsftpd 1.2.修改配置文 ...
随机推荐
- python-None
今天偶然间,有人问了一个问题,项目中出现了一个这样的错误. 看到后,就想到是前后数据类型不一致.当时他定义了一些默认初始值为None(刚接触python代码,之前是c,java),然后就后边出现了这样 ...
- python深、浅拷贝
1.首先对于数字和字符串而言,深浅拷贝无实际意义,两者同时指向同一个内存地址. a = 123 print(id(a)) b = a print(id(b)) 495849744 495849744 ...
- 如何在Liferay 7中用html显示页面
liferay portlet默认的显示页面是view.jsp,虽然可以在jsp中用include标签包括html文件,但是如何直接通过修改配置文件让默认的显示页面为view.html呢? 1.用Li ...
- $.ajax中contentType: “application/json” 的用法
不使用contentType: “application/json”则data可以是对象 $.ajax({ url: actionurl, type: "POST", datTyp ...
- IE下的双外边距浮动bug
最常见且最容易发现的额一个bug是IE 6和最低版本中的双外边距浮动bug.这个bug是任何浮动元素上的外边距加倍. 上面代码中,div盒子向左边浮动,设置的margin-left的值是10px.在c ...
- SQLServer —— EXISTS子查询
一.删除数据库 use master go if exists (select * from sysdatabases where name = 'Demo') drop database Demo ...
- Python 基于 NLP 的文本分类
这是前一段时间在做的事情,有些python库需要python3.5以上,所以mac请先升级 brew安装以下就好,然后Preference(comm+',')->Project: Text-Cl ...
- python 数据分析领域常用的包
- More Effective C++: 05技术(25-28)
25:将constructor 和 non-member functions 虚化 所谓 virtual constructor是某种函数,视其输入可产生不同类型的对象.比如下面的代码: class ...
- WPF自定义控件 依赖属性绑定
控件cs文件 using System.ComponentModel; using System.Windows; using System.Windows.Controls; using Syste ...