Centos 6.5使用vsftpd配置FTP服务器教程
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服务器教程的更多相关文章
- 如何在CentOS 7上使用vsftpd设置ftp服务器
一.前言介绍 FTP(文件传输协议)是一种标准的客户机-服务器网络协议,允许用户在远程网络之间传输文件. 有几个开源的FTP服务器可用于Linux.最受欢迎和广泛使用的是pureftpd.proftp ...
- Ubuntu 用vsftpd 配置FTP服务器
网上的文章好难懂啊..只想要简单粗暴,弄好能用就行啊,复杂的以后研究不行吗...折腾好久,其实弄出来能用不就这么点内容吗... 本文在Ubuntu Server 14.04 amd64系统测试. Ma ...
- [转]Ubuntu 用vsftpd 配置FTP服务器
FROM : http://www.cnblogs.com/CSGrandeur/p/3754126.html 网上的文章好难懂啊..只想要简单粗暴,弄好能用就行啊,复杂的以后研究不行吗...折腾好久 ...
- Ubuntu 14.04 配置vsftpd实现FTP服务器 - 通过FTP连接AWS
测试主机:亚马逊AWS EC2 系统:Ubuntu 14.04 想用AWS来做服务器玩,结果发现其不能像简单使用阿里云服务器那样用ftp连接,反正也不熟悉ftp服务器搭建,那就乘这个机会学习一下如何利 ...
- CentOS 6.5下快速搭建ftp服务器[转]
CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...
- CentOS 6.5下快速搭建ftp服务器
来源:Linux社区 作者:Linux CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了v ...
- Ubuntu 配置FTP服务器
第三方的文件传输软件用着很不爽,想着自己搭建一个FTP来干活. 首先检查是否已经安装了FTP,输入命令: vsftpd -v 可以查看版本,如果没有安装,无法执行. 安装FTP p.p1 { mar ...
- 安装与配置FTP服务器
概: 文件传输协议 (File Transfer Protocol,FTP),用于在网络上进行文件传输的协议.如果用户需要将文件从本机发送到另一台计算机,可以使用FTP上传操作:反之,用户可以使用 ...
- windows2003通过iis配置ftp服务器
以前习惯于用filezilla作为windows的ftp服务器,但是现在新版本的filezilla已经不支持windows2003了,所以趁机试一下iis配置ftp服务器. 前面都是很常规的配置 参考 ...
随机推荐
- 继承RelativeLayout 自定义布局
public class HomeToolbarView extends RelativeLayout { TextView tvTitle; public HomeToolbarView(Conte ...
- three.js的组合与合并,raycaster射线无法获取group
1.组合 创建一个组非常简单,在组中添加子元素的效果是,你可以对组进行移动.缩放和变形,而所有的子对象都会受到影响.使用组的时候,你依然可以引用.修改每一个单独的几何体.但是,使用raycaster射 ...
- idea中使用MyBatis Generator
1.新建maven项目 2.新建Generator配置文件 generator_config.xml <?xml version="1.0" encoding="U ...
- Best Practices and Recommendations for RAC databases with SGA size over 100GB (文档 ID 1619155.1)
Best Practices and Recommendations for RAC databases with SGA size over 100GB (文档 ID 1619155.1) APPL ...
- 缓存--Redis
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
- ubuntu环境部署项目
安装python3.6 第一步:sudo add-apt-repository ppa:jonathonf/python-3.6 如果报错为:sudo: add-apt-repository: com ...
- js动态添加、删除行
<meta charset="utf-8"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transiti ...
- python标签值标准化到[0-(#class-1)]
python 处理标签常常需要将一组标签映射到一组数字,数字还要求连续. 比如 ['a', 'b', 'c', 'a', 'a', 'b', 'c'] ==(a->0, b->1, c-& ...
- 重写 final关键字 多态调用子类特有的属性及行为(向上向下转型)
1.override 重写:在继承中,子类与父类方法名相同,参数列表相同,的方法叫重写,与返回值有关; 主要应用于系统升级. 2.final 关键字: 可修饰:1.类-->被修饰后该类不能被继 ...
- Canvas 实现绘制图表
这里用canvas实现了两个简单的图表,用到了canvas的基本用法,效果如下 新建 chart.js 文件,封装绘制方法 构造方法 function myChart(config){ this.wi ...