安装环境

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. IE浏览器img不显示解决

    下面的只是一个我们在网页中插入一个图片的简单例子,浏览的时候我们也没有任何问题 <!doctype html> <html> <head> <meta cha ...

  2. Omi v1.0.2发布 - 正式支持传递javascript表达式

    原文地址:https://github.com/AlloyTeam/omi/ 写在前面 Omi框架可以通过在组件上声明 data-* 把属性传递给子节点. Omi从设计之初,就是往标准的DOM标签的标 ...

  3. Android 增加(键盘)按键

    以添加 camera按键为例(红色是需要添加的) 一.kernel键值定义 (1)键扫描码 ScanCode是由linux的Input驱动框架定义的整数类型,可参考input.h头文件,即geteve ...

  4. js正则表达式详解及示例讲解

    所谓正则表达式,简单来说就是一种规则,一种计算机能读懂的规则.js中的正则表达式语法是Perl5(一种很早的编程语言)的正则语法的子集.本文将在基础知识的基础上添加示例帮助快速理解正则表达式. 学习正 ...

  5. iOS开发之UITableView及cell重用

    1.UITanleview有的两种风格 一种是Plain,一种是Grouped,可以从这里设置风格: 他们样式分别如下: Plain: Grouped: 2.tableView展示数据的过程: (1) ...

  6. nodejs npm常用命令 转

    npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准.有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. 1.npm install m ...

  7. .net core版 文件上传/ 支持批量上传,拖拽以及预览,bootstrap fileinput上传文件

    asp.net mvc请移步 mvc文件上传支持批量上传,拖拽以及预览,文件内容校验 本篇内容主要解决.net core中文件上传的问题  开发环境:ubuntu+vscode 1.导入所需要的包:n ...

  8. Python使用心得之魔法参数**kw

    通过设置字典类型参数直接传递给接收魔法参数(**kw)的方法,对应赋值.示例如下: jdbcConnectionDict = {, , 'database': 'test', 'charset': ' ...

  9. iOS 将对象的属性和属性值拆分成key、value,通过字符串key来获取该属性的值

    这篇博客光看标题或许就会产生疑问,某个对象,只要它存在某个属性,且值不是空的,不就能直接用点方法获取吗,为什么要拆分成key和value多此一举呢?下面,我用一个例子告诉大家,既然这方法是存在的,那就 ...

  10. 老李分享:Web Services 架构 1

    老李分享:Web Services 架构   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...