安装环境

OS:Centos 6.4

vsftp:vsftpd-2.2.2-11.el6_3.1.i686.rpm

vsftpd配置文件:/etc/vsftpd/vsftpd.conf

一、       使用匿名用户访问

(1)安装完成后,只需要启动vsftp服务,就可使用匿名anonymous用户访问ftp

anonymous_enable=YES(默认) 这行配置就是开启关闭匿名访问功能,此时已具备下载功能

ps:匿名用户目录-/var/ftp/pub drwxr-xr-x. 2 root root

(2)此时的anonyous用户是没有上传以及创建目录的权限

取消以下两行的注释:

anon_upload_enable=YES

anon_mkdir_write_enable=YES

然后进行测试上传功能和创建目录,结果却提示执行失败,这是由于/var/ftp/pub该目录的其他人没有写权限,使用chmod+x /var/ftp/pub,加上权限

ps:加上写权限后,配置文件的功能可能并不像想象中那么好用

二、       使用本地用户访问

(1)    创建本地用户

useradd ftp1

passwd ftp1

或创建不能登录的本地用户

useradd ftp2 –s /sbin/nologin

passwd ftp2

(2)    本地用户权限

local_enable=YES (默认) 开启本地用户访问

write_enable=YES(默认) 开启写权限,若关闭,则上传与创建目录功能不能使用

(3)    然后用创建的本地用户访问,结果访问失败

提示:

响应:   331 Please specify the password.

命令:   PASS *******

响应:     500 OOPS: cannot change directory:/home/dyz

起初以为是密码错误和目录无权限,重新修改密码并给予权限后,依然提示错误

检查iptables,已经关闭

ps:若没有关闭,请关闭或者放通tcp21号端口的数据

service iptables stop

检查selinux是否开启,显示为开启状态

getenforce  查看命令

若显示为enforcing,则是开启状态

若显示为Permissive,则是关闭状态

关闭selinux有两种访问

a.永久关闭

编辑/etc/selinux/config

SELINUX=enforcing改为SELINUX=disable 将其改为disable状态

ps:该方法需重启机器

b.临时关闭

setenforce 0   ##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

ps:该方法无需重启机器

然后访问,访问成功!

三、       user_lis与ftpuser文件

user_list文件取决于配置文件:

userlist_enable=YES(默认) 是否启用该文件的功能,若为NO时,userlist_deny无效

userlist_deny=YES(默认) 为YES时,该文件的用户不能访问ftp,如果是交互式的话甚至不提示输入密码,为NO时,只允许该文件的用户访问

ps:userlist_deny=YES 配置文件中没有,需添加,但功能默认是YES

只有当userlist_enable是开启的,userlist_deny才生效

ftpuser文件则是总是有效的,与配置文件无关,是一个黑名单性质的文件

ps:这两个文件有时需搭配使用,比如想使用root用户,则可以先配置:userlist_enable=YES

userlist_deny=NO

再编辑ftpuser,去掉文件root用户

四、       相关命令与文件

vsftpd配置文件:/etc/vsftpd/vsftpd.conf

匿名用户目录-:var/ftp/pub

日志文件:var/log/xferlog

服务的启动、停止,重启:/etc/init.d/vsftpd{start|stop|restart|try-restart|force-reload|status}

Service vsftpd {start|stop|restart|try-restart|force-reload|status}

vsftp使用方法与问题解决的更多相关文章

  1. jpcap 配置方法,问题解决,模拟sniffer程序。(附JAVA程序,jar,dll包等环境)

    博文链接 http://www.cnblogs.com/xckk/p/4609444.html 一.   Eclipse环境下安装与配置Jpcap 相关源程序.jpcap jar包,dll包,帮助文档 ...

  2. visual studio 2015中的webapi生成helpPage,页面不显示方法说明问题解决

    环境: vs2015.win7 参考:http://www.cnblogs.com/Erik_Xu/p/5638381.html 生成的help页面如下:,并没有显示控制器和方法. 原因是:新建项目时 ...

  3. Ionic2 rc2 Events 跨界面调用的使用方法及问题解决

    Events:事件注册  在任意一界面注册事件之后可在任意界面根据事件名称进行调用. 首先看一下官方文档的调用方式 import { Events } from 'ionic-angular'; co ...

  4. 关于JPasswordField的getText()方法过时问题解决

    这几天想做一个登陆界面,用Jframe做,连接数据库时发现JPasswordField的getText()过时了,没法使用.查了资料发现改成了: try{ String sql="SELEC ...

  5. ubuntu 16.04 安装caffe2的方法及问题解决

    工作需要安装caffe2,从用户体验上来讲,caffe2的安装绝对是体验比较差的那种,花费了我那么多时间去倒腾,这样的用户体验的产品,估计后面是比较危险的. 废话少说,直接上步骤: 官网上有安装目录, ...

  6. Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决

    转载链接:https://blog.csdn.net/fuyuande/article/details/82915800 嵌入式开发通常是在linux环境下编译,windows下开发,这就需要在lin ...

  7. 关于python中第三方库安装方法和问题解决

    一.安装方法 方法一: 1.管理员身份启动命令行(运行--->cmd) 2.pip install 库的绝对路径和库的详细名称 :或者运用cd命令跳转到下载好的库所在的位置然后pip insta ...

  8. 多次读取HttpServletRequest的inputstream方法 问题解决

    原因:我要收集所有来自前台请求的参数信息,无论在任何地方的.当前请求参数都是json格式,都写在httpservlet的body中.这个只能通过流进行获取.然后问题来了,HttpServletRequ ...

  9. 用华为C8813调试LogCat不显示日志问题解决方法

    我用华为C8813调试代码时,Eclipse不输出LogCat日志,用其他Android Pad是正常输出的.找了几种解决方法都不行,最后发现如下的方法,问题解决!   华为Android手机打开Lo ...

随机推荐

  1. 【转】请求处理机制其一:进入Django前的准备

    一个 Request 到达了! 首先发生的是一些和 Django 有关(前期准备)的其他事情,分别是: 如果是 Apache/mod_python 提供服务,request 由 mod_python ...

  2. c#调用aapt查看apk文件信息功能实现

    第一篇随笔就此开始. 1. 起源 思路源自于项目开发过程中.需要确认apk文件版本以验证其功能差异以便于定位问题,于是度娘,得到APK信息查看器(APK-info)这个工具,其版本号为0.2.它能显示 ...

  3. 使用python landport库快速实现排行榜

    背景介绍 排行榜业务使用的频率实在太高了,各种活动都会使用排行榜.经过多次开发后我觉得实现一个简单的排行榜库,它能够完成当前我遇到的所有业务逻辑问题,也希望能够帮助到想要快速开发排行榜业务的同行. 我 ...

  4. Lambda&Java多核编程-6-方法与构造器引用

    在Lambda&Java多核编程-2-并行与组合行为一文中,我们对Stream<Contact>里的每一位联系人调用call()方法,并根据能否打通的返回结果过滤掉已经失效的项. ...

  5. spring切面编程AOP 范例一

    参照网上的spring AOP编程实例进行配置,但是碰到了几个坑.这篇文章重点讲解一下我踩过的两个坑: 1.使用@Service自动装配的时候,基础扫描包配置要正确: 2.xml中切面配置中的exec ...

  6. [ZooKeeper.net] 3 ZooKeeper的分布式锁

    基于ZooKeeper的分布式锁 ZooKeeper 里实现分布式锁的基本逻辑: 1.zookeeper中创建一个根节点(Locks),用于后续各个客户端的锁操作. 2.想要获取锁的client都在L ...

  7. Linux块设备驱动(二) _MTD驱动及其用户空间编程

    MTD(Memory Technology Device)即常说的Flash等使用存储芯片的存储设备,MTD子系统对应的是块设备驱动框架中的设备驱动层,可以说,MTD就是针对Flash设备设计的标准化 ...

  8. struts2(四) ognl表达式、值栈、actionContext之间的关系

    今天来说说ognl表达式在struts2中的运用. --wh 一.什么是Ognl? 通过百度百科查询到的解释,其中详细的说明了OGNL的作用. 下面我们就对OGNL这5个作用进行讲解 1.存取对象的任 ...

  9. Android 中基于 Binder的进程间通信

    摘要:对  Binder 工作机制进行了分析. 首先简述 Android 中 Binder 机制与传统的 Linux 进程间的通信比较,接着对基于 Binder 进程间通信的过程分析 最后结合开发实例 ...

  10. 【C语言】两种方式实现冒泡排序算法

    题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...