###########配置流程###########

1 新建一个ftp用户,为了跟vsftp的虚拟用户对应

#useradd  -d /home/vftpuser   -s /sbin/nologin  vftpuser

2  创建虚拟用户列表

  vim /etc/vsftpd/vftpuser.txt

在里面写上

tom  #用户名

  #tom的ftp登录密码

jim  #跟上面一样,一行用户名,下面一行是对应的密码

  #jim的ftp登录密码

!wq   保存退出

2.1   新建虚拟用户配置文件

    mkdir /etc/vsftpd/user_config

    vim /etc/vsftpd/user_config/tom

    在里面写上

anon_world_readable_only=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_root=/usr/local/nginx/html/ #这个是网站根目录,方便修改

保存退出

    

3 把虚拟用户列表生成db文件,下面会用到

  db_load -T -t hash -f /etc/vsftpd/vftpuser.txt  /etc/vsftpd/vftpuser.db

4 修改虚拟用户验证文件

  vim /etc/pam.d/vsftpd

注销掉所有行,在最下面加上

auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser

注意pam_userdb.so的路径,参考的许多文章都是   auth required /lib64/security/pam_userdb.so,这个文件在centOS 6.4中没找到,直接换成pam_userdb.so

保存退出

5 重启vsftpd, 用tom这个用户登录,验证一下是否可以登录

###################以下是vsftpd的配置文件###########

# Example config file /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES

xferlog_std_format=YES

chroot_local_user=YES

listen=YES
#listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

guest_enable=YES
guest_username=vftpuser   #useradd  -d /home/vftpuser   -s /sbin/nologin  vftpuser (通过这个命令创建的用户,虚拟用户对应的实际用户)
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_config
#pasv_enable=1 #开启被动模式
pasv_min_port=4000 #随机最小端口
pasv_max_port=5000 #随机最大端口
anon_other_write_enable=YES

###############    可能会遇到的问题  ###############

1   chmod -R o+w /usr/local/nginx/html/test_dir/   # 把网站目录权限,设置成其它用户 可写 ,解决553 不能上传文件的问题

2 连接超时

编辑配置文件: vi /etc/vsftpd/vsftpd.conf

  在最下面加入:

#pasv_enable=YES #开启被动模式,这个报错
pasv_min_port=4000 #随机最小端口
pasv_max_port=5000 #随机最大端口

####### 以下是开启端口######

iptables   -A OUTPUT -p tcp --sport 4000:5000 -j ACCEPT

iptables  -A INPUT -p tcp --dport 4000:5000 -j ACCEPT

/etc/init.d/iptables save

4  setsebool -P allow_ftpd_full_access 1   #553无法上传文件的问题

5

5.1 modprobe ip_conntrack_ftp

    5.2  modprobe ip_nat_ftp  (连接超时的问题)

参考 : http://www.lingdus.com/thread-8189-1-1.html  连接超时问题

http://www.ha97.com/4113.html  配置参考,添加虚拟用户

http://www.oschina.net/question/13403_24332  553无法上传文件的问题

centOS 6.4 vsftpd 配置的更多相关文章

  1. centos 中的vsftpd 配置

    一.安装vsftpd 1.1 检查系统是否已经安装过vsftpd了 [root@localhost /]# rpm -aq vsftpd 如果返回结果显示: vsftpd--.el7.x86_64 # ...

  2. Centos 6.5使用vsftpd配置FTP服务器教程

    Centos 6.5使用vsftpd配置FTP服务器教程什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用.vsftpd 的名字代表”ver ...

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

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

  4. 运维之Centos apache vsftpd配置

    安装Apache yum install httpd -y chkconfig httpd on service httpd start 配置一下iptables iptables -I INPUT ...

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

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

  6. CentOS 7.0安装配置Vsftp服务器步骤详解

    安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需 ...

  7. CentOS下安装vsftpd

    因为FTP的端口是 两个,一个是固定21端口,还有一个任意端口的数据通道.关键是任意端口不好搞. 首先在vsftpd的配置文件中设置 任意端口的范围 [root@localhost root]# vi ...

  8. 【转发】【linux】【ftp】CentOS 7.0安装配置Vsftp服务器

    adduser -d /var/www/android -g ftp -s /sbin/nologin ftp2 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firew ...

  9. CentOS 5.11安装配置LAMP服务器(Apache+PHP5+MySQL)

    http://www.osyunwei.com/archives/8880.html 准备篇: CentOS 5.x系统安装配置图解教程 http://www.osyunwei.com/archive ...

随机推荐

  1. js学习之原型prototype(一)

    1.javascript中的每个引用类型(原生的.和自定义的)都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用. A.prototype ...

  2. PowerDesigner建数据库模型增加自定义扩展属性

    PowerDesigner自7.x新增加一个特性,就是允许用户通过扩展模型的方式扩展模型的属性,但到底怎用一直搞不清楚.今天和同事商量准备直接在程序的Metadata信息实现上直接使用pdm时,我们需 ...

  3. 为什么 var_dump("1" == "1e0"); 的结果为true

    今天,同学问我一个问题,如下:var_dump("1" == "1e0"); 的结果是什么. 我的第一反应,答案是false.因为很明显的要比较的是两个字符串, ...

  4. VersionCode和VersionName

    关于apk更新版本的问题   先上结论: Google为APK定义了两个关于版本属性:VersionCode和VersionName,他们有不同的用途. VersionCode:对消费者不可见,仅用于 ...

  5. [Unity] How to stop camera rendering?

    http://answers.unity3d.com/questions/147988/how-to-pause-the-main-camera-.html I would simply pause ...

  6. qsettings 中文键值 注释 支持

    #ifndef SETTINGS_H #define SETTINGS_H #include <QString> #include <QVariant> class QSett ...

  7. Why String is immutable in Java ?--reference

    String is an immutable class in Java. An immutable class is simply a class whose instances cannot be ...

  8. MySQL 数据库常用命令 超级实用版分享

    1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...

  9. web.xml配置文件 taglib

      web.xml的内容如下: <?xml version="1.0" encoding="UTF-8"?><web-app version= ...

  10. c++静态成员与静态函数

    1 静态成员的定义 1 静态变量 c++在类里面进行的仅是引用性声明,不会为之分配内存,要求必须单独对静态数据成员进行定义性的声明.形式为: 类型 类名::静态数据成员名: 此时的定义需要再加关键字s ...