一、安装vsftpd

安装
yum install -y vsftpd
开机启动
chkconfig vsftpd on
启动
service vsftpd start
加入防火墙
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
重启防火墙
service iptables restart

二、修改配置文件

1、基础配置

#不允许匿名访问
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#开放本地用户写的权限
write_enable=YES
#新建目录/文件的权限
local_umask=022
#匿名用户不允许上传文件
anon_upload_enable=NO
#匿名用户不允许创建目录
anon_mkdir_write_enable=NO
#用户进入一个目录后,是否给出静态提示。
dirmessage_enable=YES
#链接端口
connect_from_port_20=YES
#日志文件
xferlog_file=/var/log/xferlog
#日志格式
xferlog_std_format=YES
#开启ipv4监听
listen=YES
#开启ipv6监听
listen_ipv6=YES
#使用pam模块控制,vsftpd文件在/etc/pam.d目录下
pam_service_name=vsftpd
#此选项被激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,vsftpd查到该用户名在列表中,vsftpd就直接禁止掉该用户,不会再进行询问密码等后续步聚
userlist_enable=YES
#是否允许tcp_wrappers管理
tcp_wrappers=YES

  

2、设置用户访问目录、权限

chroot_local_user=YES
chroot_list_enable=YES
#文件中的用户不限制目录
chroot_list_file=/etc/vsftpd/chroot_list

3、ssl密钥的配置

使用命令生成密钥:

openssl req -x509 -days 365 -newkey rsa:2048 -nodes -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

修改配置文件

# 启用TLS/SSL

ssl_enable=YES
# 强迫客户机在登录时使用TLS
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_ciphers=HIGH
rsa_cert_file=/etc/vsftpd/vsftpd.pem 4、FTP模式与数据端口
#设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高
pasv_min_port=64000
pasv_max_port=65535
#允许数据传输时使用PASV模式
pasv_enable=YES

  

5、别忘了在防火墙中添加对应的端口

三、FileZilla错误提示
错误: GnuTLS 错误 -15: An unexpected TLS packet was received.

chroot_list_file=/etc/vsftpd/chroot_list
user_config_dir=/etc/vsftpd/userconf
这两项配置,没有找到文件

错误: 无法建立数据连接: ETIMEDOUT - 连接尝试超时?

vsftpd配置文件有问题

  

无法访问目录?

有三处地方需要检查
1、首先vsftp运行在pasv模式,也就是被动(Passive)模式,需要配置一下:
#vi /etc/vsftpd/vsftpd.conf
增加:
pasv_min_port=6000
pasv_max_port=7000
pasv_enable=YES
2、如果运行了防火墙,设置一下:
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:6000:7000
这里的6000:7000对应被动模式的最小到最大端口
3、如果服务器是在外网,还需要将上面的最小到最大的端口在防火墙上设置映射到内网

  

四、参数说明

listen_address=ip address
指定侦听IP
listen_port=port_value
指定侦听端口,默认21
anonymous_enable=YES
是否允许使用匿名帐户
local_enable=YES
是否允许本地用户登录
nopriv_user=ftp
指定vsftpd服务的运行帐户,不指定时使用ftp
write_enable=YES
是否允许写入
anon_upload_enable=YES
匿名用户是否可上传文件
anon_mkdir_write_enable=YES
匿名用户是否建立目录
dirmessage_enable=YES
进入每个目录是显示欢迎信息,在每个目录下建立.message文件在里面写欢迎信息
xferlog_enable=YES
上传/下载文件时记录日志
connect_from_port_20=YES
是否使用20端口传输数据(是否使用主动模式)
chown_uploads=YES、chown_username=whoever
修改匿名用户上传文件的拥有者
xferlog_file=/var/log/vsftpd.log
日志文件
xferlog_std_format=YES
使用标准文件日志
idle_session_timeout=600
会话超时,客户端连接到ftp但未操作
data_connection_timeout=120
数据传输超时
async_abor_enable=YES
是否允许客户端使用sync等命令
ascii_upload_enable=YES、ascii_download_enable=YES
是否允许上传/下载二进制文件
chroot_local_user=YES
限制所有的本地用户在自家目录
chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list
指定不能离开家目录的用户,将用户名一个一行写在/etc/vsftpd/chroot_list文件里,使用此方法时必须chroot_local_user=NO
ls_recurse_enable=YES
是否允许使用ls -R等命令
listen=YES
开启ipv4监听
listen_ipv6=YES
开启ipv6监听
pam_service_name=vsftpd
使用pam模块控制,vsftpd文件在/etc/pam.d目录下
userlist_enable=YES
此选项被激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,vsftpd查到该用户名在列表中,vsftpd就直接禁止掉该用户,不会再进行询问密码等后续步聚
userlist_deny=YES
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。此选项在userlist_enable 选项启动后才生效。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入密码的提示。NO,只允许在文件中的用户登录FTP服务器
tcp_wrappers=YES
是否允许tcp_wrappers管理
local_root=/home/ftp
所有用户的根目录,,对匿名用户无效
anon_max_rate
匿名用户的最大传输速度,单位是Byts/s
local_max_rate
本地用户的最大传输速度,单位是Byts/s
download_enable= YES
是否允许下载
vsftpd如何设置pasv模式:
pasv_enable=yes (Default: YES) 设置是否允许pasv模式
pasv_promiscuous=no (Default: NO) 是否屏蔽对pasv进行安全检查,(当有安全隧道时可禁用)
pasv_max_port=10240 (Default: 0 (use any port)) pasv使用的最大端口
pasv_min_port=1024 (Default: 0 (use any port)) pasv使用的最小端口
pasv_address (Default: (none - the address is taken from the incoming connected socket)
) pasv模式中服务器传回的ip地址

五、另外推荐一篇文章:史上最详细的vsftpd配置文件讲解(http://os.51cto.com/art/201008/221842.htm)

centos关于vsftpd的配置、配置说明及常见问题的更多相关文章

  1. Centos 7 vsftpd ldap 配置

    #ldap 安裝配置 环境Centos7#安装 yum install -y openldap openldap-clients openldap-servers migrationtools pam ...

  2. centos yum安装与配置vsFTPd FTP服务器(转)

    vsftpd作为FTP服务器,在Linux系统中是非常常用的.下面我们介绍如何在centos系统上安装vsftp. 什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  3. CentOS 7.0安装配置Vsftp服务器

    一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

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

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

  5. CentOS安装vsftpd

    版本:vsftpd-3.0.2-9.el7.x86_64(CentOS是64位的). 1.安装vsftpd yum -y install vsftpd 2.配置vsftpd 修改配置前把原始配置文件备 ...

  6. centos 卸载vsftpd方法

    centos 卸载vsftpd方法 在服务器上安装了vsftpd,配置出错需要卸载vsftpd.卸载vsftpd的命令如下: 1 [root@localhost ~]# rpm -aq vsftpd2 ...

  7. Centos6.9安装vsftpd并配置多用户的方法

    本文介绍了Centos6.9安装vsftpd并配置多用户的方法,分享给大家,具体如下: 一.安装vsftpd ? 1 2 3 4 5 6 7 8 #安装vsftpd yum -y install vs ...

  8. ubuntu上vsftpd服务配置

    Ubuntu上提供两种常用的ftp服务应用:vsftpd 和 tftpd,区别如下: 1)vsftpd 支持客户端上下传文件,支持浏览器显示及下载,支持用户名密码认证,支持匿名访问,默认端口TCP:2 ...

  9. vsftpd安装配置以及常见问题解决

    vsftpd安装配置以及踩坑解决办法,Centos7 nginx已经配置成功了,但是使用http始终没办法访问到图片,那么你来对地方了(在文章末尾是原因) 配置nginx教程:http://blog. ...

随机推荐

  1. AC日记——「SCOI2016」美味 LiBreOJ 2016

    #2016. 「SCOI2016」美味 思路: 主席树: 代码: #include <bits/stdc++.h> using namespace std; #define maxa 26 ...

  2. JDK1.8源码泛读之Arrays

    jdk1.8包含的常用集合工具类,一般包括两个: 数组工具类:`java.util.Arrays ` 结合工具类:`java.util.Collections` 今天就结合源码对`java.util. ...

  3. python版本管理(python环境隔离)

    这将是一篇比较短的文章. 我发文向来注重文章质量,营养不够的宁可不发,但是我相信很多人需要这篇文章. 之所以要去搞清楚这个问题,是我在把 vscode 的 inspector 设置为 pipenv 生 ...

  4. win 10 用户上传头像保存的文件夹路径

    win 10 用户上传头像保存的文件夹路径 C:\Users\Administrator(用户名)\AppData\Roaming\Microsoft\Windows\AccountPictures

  5. Kerberos KDC not reachable

    水贴..我这里出现这个问题的原因是服务器上安装的是 oracle  jdk, 但是没有安装 JCE 拓展包. 解决方式有两个: 1. 换成 openJDK 2. 安装上 JCE 拓展包 java 8 ...

  6. Attacking JavaScript Engines: A case study of JavaScriptCore and CVE-2016-4622(转)

    转:http://phrack.org/papers/attacking_javascript_engines.html Title : Attacking JavaScript Engines: A ...

  7. 洛谷P1940买蛋糕

    题目传送门 题意:给定你一个数n,要求用最小个数的整数组成小于等于n的所有整数,并求出方案数. 很明显,擅长二进制的大犇们肯定一眼就看得出方案数是log2(n)+1,然而我并不擅长,但是推了一小会儿也 ...

  8. 关于std::ios::sync_with_stdio(false)

    std::ios::sync_with_stdio(false); 很多C++的初学者可能会被这个问题困扰,经常出现程序无故超时,最终发现问题处在cin和cout上,(甚至有些老oier也会被这个问题 ...

  9. CocurrentHashMap和HashTable区别分析

    集合是编程中最常用的数据结构.而谈到并发,几乎总是离不开集合这类高级数据结构的支持.比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap).这篇文章主 ...

  10. [BZOJ4836]二元运算(分治FFT)

    4836: [Lydsy1704月赛]二元运算 Time Limit: 8 Sec  Memory Limit: 128 MBSubmit: 578  Solved: 202[Submit][Stat ...