Centos 6.5使用vsftpd配置FTP服务器教程
什么是vsftpd

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。
1
2
3
当前登录用户获取root权限。执行su命令,输入当前用户密码。
执行: su

检测系统是否安装过vsftpd,
执行: rpm -qa | grep vsftpd

若已安装,会显示已安装的vsftpd版本号,

若没有安装,无显示。

若已安装过vsftpd,先卸载。卸载前,先停止服务 ,然后再卸载。
停止服务:service vsftpd stop
卸载:yum remove vsftpd

安装。用yum命令在线安装,命令如下:
yum -y install vsftpd

安装后默认是未启动,需执行start命令启动,然后就可以访问了,此时匿名账户即可访问,考虑安全,需进一步设置。
启动服务:service vsftpd start

此时在安装vsftpd的机器,用浏览器访问ftp://127.0.0.1 测试成功,且匿名可以访问,直接进入pub目录(因为/var/ftp/pub是匿名用户的默认访问目录),但是其他机器还不能访问 ,需要继续配置。

禁止匿名登陆,执行以下命令,配置vsftpb服务:
执行: vi /etc/vsftpd/vsftpd.conf

此时会进入编辑器窗口,这里需要简单了解vi编辑器的使用,可以参考:http://www.linuxidc.com/Linux/2013-03/80588.htm
简单的使用是按i进入插入模式,进行编辑,按esc退出编辑模式,然后输入:wq 保存修改并退出。
.
在vsftpd.conf文件中做如下修改:
按下i键,
设定不允许匿名用户访问(这行靠近文本内容上面,之前是disabled,改为NO即可):
anonymous_enable=NO

添加ftp用户(这两行比较靠下面,用#号注释掉了,删除#符号即可)
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

之后按esc,输入:wq 保存退出

上面配置的意义:userlist_enable=YES
此项配置/etc/vsftpd.user_list中指定的用户也不能访问服务器,若添加userlist_deny=No,则仅仅/etc/vsftpd.user_list文件中的用户可以访问,其他用户都不可以访问服务器。如过userlist_enable=NO,userlist_deny=YES,则指定使文件/etc/vsftpd.user_list中指定的用户不可以访问服务器,其他本地用户可以访问服务器

添加上面指定的 /etc/vsftpd/chroot_list 文件。
执行:vim /etc/vsftpd/chroot_list

进入编辑器界面,直接输入 :wq保存退出即可创建chroot_list文件。

此时使用 service vsftpd restart 重启服务,再次访问 ftp://127.0.0.1/,可以看到需要输入账号密码了,说明上面的配置生效了。(这步先不执行也行,执行只是为了及时看到修改效果。最后全部修改完,再执行一次也行,这样可以直接看到最后效果)

添加ftp用户,执行以下命令 (不换行,下面是一条命令):
useradd -d /var/www/html -g ftp -s /sbin/nologin test

说明:其中,-d命令是指定用户主目录,-g是指定用户分组,-s /sbin/nologin 是禁止用户登陆系统,最后test是本次新建用户的用户名。

设置test用户密码,根据提示,输入两次。
执行: passwd test

密码尽量设置字母加数字的组合,不要太过简单

修改ftp用户目录权限,依次执行以下两条命令:
执行: chown test:ftp /var/www/html
目的:设置test用户到文件夹

执行: chmod 777 /var/www/html –R
目的:设置权限 777代表修改它的权限为完全开放

chown用法
用来更改某个目录或文件的用户名和用户组的
chmod用法
用来修改某个目录或文件的访问权限。
参考
http://blog.csdn.net/doupei2006/article/details/8015986

此时重启服务 service vsftpd restart 在本机用test用户登陆测试成功,但是外部机器还不能访问,需要继续配置(这步先不执行也行,执行只是为了及时看到修改效果。最后全部修改完,再执行一次也行,这样可以直接看到最后效果)。

开放21端口 因为ftp默认的端口为21,而centos默认是没有开启的,所以要修改iptables文件
执行:vi /etc/sysconfig/iptables

进入编辑器界面,在行上面有22 -j ACCEPT 的那行下面另起一行输入
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

然后esc退出编辑模式,输入:wq保存退出。

重启iptables (这步先不执行也行,执行只是为了及时看到修改效果。最后全部修改完,再执行一次也行,这样可以直接看到最后效果)
执行:service iptables restart

此时测试,正常情况下,本机和其他机器应该都可以访问,但是无法返回文件列表。(就是只能登陆,无返回数据,因为有些浏览器会记住密码,再次刷新无登陆页面,只有无法访问页面,可以清除浏览器缓存或者换个之前没登陆过的浏览器访问)

修改selinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NAS)对于强制访问控制的实现,是 Linux上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

执行:getsebool -a | grep ftp

执行上面命令,在返回的结果看到两行都是off,代表没有开启外网的访问。

依次执行下面两条命令,这两条执行需要一定时间,耐心等待
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on

再次执行: getsebool -a | grep ftp,如图所示,修改成功:

开启passive模式(被动模式默认是开启的,但是要指定一个端口范围)
执行:vi /etc/vsftpd/vsftpd.conf

进入编辑模式,在最后面添加以下两行:
pasv_min_port=30000
pasv_max_port=30999

然后esc退出编辑模式,输入:wq 保存退出。
上面是指定被动模式端口范围:表示端口范围为30000~30999,这个可以随意改

由于指定了这段端口范围,iptables也要相应的开启这个范围。
执行: vi /etc/sysconfig/iptables

进入编辑模式,在21那一行下添加一行,和上面差不多,只是把21 改为30000:30999
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:30999 -j ACCEPT

然后esc退出编辑模式,输入:wq 保存退出。

配置完成,重启iptables和vsftp服务
执行:service iptables restart
执行:service vsftpd restart

为便于演示效果,可以在用户主目录 /var/www/html 添加一个文件,
执行:vi /var/www/html/test.txt

打开编辑器窗口,按i,输入内容,然后按esc退出编辑模式,输入:wq 保存退出。

用另一台机器访问本机配置的服务,访问 ftp://服务器ip ,例如 ftp://192.168.122.133/

使用windows系统下的ftp客户端端软件 FileZilla 测试,上传下载都正常,配置成功。

配置开机默认启动vsftp服务
执行:chkconfig vsftpd on
以上就是简单配置过程,vsftpd.conf 文件还有更详细的配置,比如欢迎语、上传下载速度等,可以自行百度了解。
本文如有疏漏或错误,欢迎指出。

Centos 6.5使用vsftpd配置FTP服务器教程的更多相关文章

  1. 如何在CentOS 7上使用vsftpd设置ftp服务器

    一.前言介绍 FTP(文件传输协议)是一种标准的客户机-服务器网络协议,允许用户在远程网络之间传输文件. 有几个开源的FTP服务器可用于Linux.最受欢迎和广泛使用的是pureftpd.proftp ...

  2. Ubuntu 用vsftpd 配置FTP服务器

    网上的文章好难懂啊..只想要简单粗暴,弄好能用就行啊,复杂的以后研究不行吗...折腾好久,其实弄出来能用不就这么点内容吗... 本文在Ubuntu Server 14.04 amd64系统测试. Ma ...

  3. [转]Ubuntu 用vsftpd 配置FTP服务器

    FROM : http://www.cnblogs.com/CSGrandeur/p/3754126.html 网上的文章好难懂啊..只想要简单粗暴,弄好能用就行啊,复杂的以后研究不行吗...折腾好久 ...

  4. Ubuntu 14.04 配置vsftpd实现FTP服务器 - 通过FTP连接AWS

    测试主机:亚马逊AWS EC2 系统:Ubuntu 14.04 想用AWS来做服务器玩,结果发现其不能像简单使用阿里云服务器那样用ftp连接,反正也不熟悉ftp服务器搭建,那就乘这个机会学习一下如何利 ...

  5. CentOS 6.5下快速搭建ftp服务器[转]

    CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...

  6. CentOS 6.5下快速搭建ftp服务器

    来源:Linux社区 作者:Linux CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了v ...

  7. Ubuntu 配置FTP服务器

    第三方的文件传输软件用着很不爽,想着自己搭建一个FTP来干活. 首先检查是否已经安装了FTP,输入命令: vsftpd -v  可以查看版本,如果没有安装,无法执行. 安装FTP p.p1 { mar ...

  8. 安装与配置FTP服务器

    概:   文件传输协议 (File Transfer Protocol,FTP),用于在网络上进行文件传输的协议.如果用户需要将文件从本机发送到另一台计算机,可以使用FTP上传操作:反之,用户可以使用 ...

  9. windows2003通过iis配置ftp服务器

    以前习惯于用filezilla作为windows的ftp服务器,但是现在新版本的filezilla已经不支持windows2003了,所以趁机试一下iis配置ftp服务器. 前面都是很常规的配置 参考 ...

随机推荐

  1. [UE4]模拟物理

    一.默认情况下Actor的Mobility(可移动性)是Static(静止),Simulate Physics(模拟物理):如果勾选Simulate Physics,则Mobility会自动变成Mov ...

  2. [UE4]Spline使用注意事项

    一.如果在Character中使用Spline,则使用Add Spline Mesh Componet的时候,要注意设置Transform.Mobility为Movable 二.使用Predict P ...

  3. sc.exe用法详解

    sc.exe是帮助开发 WindowsNT 服务的工具,这里我来说说如何使用好sc.exe. 我们打开命令提示符(以管理员身份运行): 输入sc delete ServiceName(服务名)  即可 ...

  4. cucumber soapui test web services

    没有UI,所以不需要Selenium. 首先Cucumber: 每个web service形成一个feature文件,描述完成的业务场景. 是否引入参数? 如果引入参数,可能需要根据某种方式保存参数, ...

  5. flutter 底部按钮切换页面

    界面如图: 我们就从上节里面的app.dartt修改 目录:lib lib/story 其它两个目录一样. 图片配置一下 app.dart import 'package:flutter/materi ...

  6. Python 内置函数math,random

    内置函数的一些操作 - math(数学模块) - random(随机模块) - 使用内置函数时注意需要导入 math - (ceil)向上取整,返回取整数 # 向上取整,返回向上取整的数 import ...

  7. rest_framework目录

    一  REST API规范 二  rest framework框架的基本使用

  8. Subline_Text3消除更新提示

    很简单的一个小问题,去除SubLine text的更新问题,在网上看了很多资料也不可以,原来是因为注册码和版本的问题,在这简单做个记录. 关于安装问题就不说啦 百度文库安装方法 安装完成之后一定要注册 ...

  9. 【学习】数据规整化:清理、转换、合并、重塑(续)【pandas】

    @合并重叠数据 还有一种数据组合问题不能用简单的合并或连接运算来处理.比如说,你可能有索引全部或部分重叠的两个数据集 使用numpy的where函数,它用于表达一种矢量化的if - else a = ...

  10. 【C语言基础】变量

    1.什么是变量? 变量的本质就是内存中一段储存空间 2.变量为什么必须初始化? 所谓初始化就是赋值的意思 3.如何定义变量 数据类型 变量名 = 要赋的值 举例子: int i = 3:等价于 int ...