vsftp使用方法与问题解决
安装环境
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使用方法与问题解决的更多相关文章
- jpcap 配置方法,问题解决,模拟sniffer程序。(附JAVA程序,jar,dll包等环境)
博文链接 http://www.cnblogs.com/xckk/p/4609444.html 一. Eclipse环境下安装与配置Jpcap 相关源程序.jpcap jar包,dll包,帮助文档 ...
- visual studio 2015中的webapi生成helpPage,页面不显示方法说明问题解决
环境: vs2015.win7 参考:http://www.cnblogs.com/Erik_Xu/p/5638381.html 生成的help页面如下:,并没有显示控制器和方法. 原因是:新建项目时 ...
- Ionic2 rc2 Events 跨界面调用的使用方法及问题解决
Events:事件注册 在任意一界面注册事件之后可在任意界面根据事件名称进行调用. 首先看一下官方文档的调用方式 import { Events } from 'ionic-angular'; co ...
- 关于JPasswordField的getText()方法过时问题解决
这几天想做一个登陆界面,用Jframe做,连接数据库时发现JPasswordField的getText()过时了,没法使用.查了资料发现改成了: try{ String sql="SELEC ...
- ubuntu 16.04 安装caffe2的方法及问题解决
工作需要安装caffe2,从用户体验上来讲,caffe2的安装绝对是体验比较差的那种,花费了我那么多时间去倒腾,这样的用户体验的产品,估计后面是比较危险的. 废话少说,直接上步骤: 官网上有安装目录, ...
- Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决
转载链接:https://blog.csdn.net/fuyuande/article/details/82915800 嵌入式开发通常是在linux环境下编译,windows下开发,这就需要在lin ...
- 关于python中第三方库安装方法和问题解决
一.安装方法 方法一: 1.管理员身份启动命令行(运行--->cmd) 2.pip install 库的绝对路径和库的详细名称 :或者运用cd命令跳转到下载好的库所在的位置然后pip insta ...
- 多次读取HttpServletRequest的inputstream方法 问题解决
原因:我要收集所有来自前台请求的参数信息,无论在任何地方的.当前请求参数都是json格式,都写在httpservlet的body中.这个只能通过流进行获取.然后问题来了,HttpServletRequ ...
- 用华为C8813调试LogCat不显示日志问题解决方法
我用华为C8813调试代码时,Eclipse不输出LogCat日志,用其他Android Pad是正常输出的.找了几种解决方法都不行,最后发现如下的方法,问题解决! 华为Android手机打开Lo ...
随机推荐
- IE浏览器img不显示解决
下面的只是一个我们在网页中插入一个图片的简单例子,浏览的时候我们也没有任何问题 <!doctype html> <html> <head> <meta cha ...
- Omi v1.0.2发布 - 正式支持传递javascript表达式
原文地址:https://github.com/AlloyTeam/omi/ 写在前面 Omi框架可以通过在组件上声明 data-* 把属性传递给子节点. Omi从设计之初,就是往标准的DOM标签的标 ...
- Android 增加(键盘)按键
以添加 camera按键为例(红色是需要添加的) 一.kernel键值定义 (1)键扫描码 ScanCode是由linux的Input驱动框架定义的整数类型,可参考input.h头文件,即geteve ...
- js正则表达式详解及示例讲解
所谓正则表达式,简单来说就是一种规则,一种计算机能读懂的规则.js中的正则表达式语法是Perl5(一种很早的编程语言)的正则语法的子集.本文将在基础知识的基础上添加示例帮助快速理解正则表达式. 学习正 ...
- iOS开发之UITableView及cell重用
1.UITanleview有的两种风格 一种是Plain,一种是Grouped,可以从这里设置风格: 他们样式分别如下: Plain: Grouped: 2.tableView展示数据的过程: (1) ...
- nodejs npm常用命令 转
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准.有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. 1.npm install m ...
- .net core版 文件上传/ 支持批量上传,拖拽以及预览,bootstrap fileinput上传文件
asp.net mvc请移步 mvc文件上传支持批量上传,拖拽以及预览,文件内容校验 本篇内容主要解决.net core中文件上传的问题 开发环境:ubuntu+vscode 1.导入所需要的包:n ...
- Python使用心得之魔法参数**kw
通过设置字典类型参数直接传递给接收魔法参数(**kw)的方法,对应赋值.示例如下: jdbcConnectionDict = {, , 'database': 'test', 'charset': ' ...
- iOS 将对象的属性和属性值拆分成key、value,通过字符串key来获取该属性的值
这篇博客光看标题或许就会产生疑问,某个对象,只要它存在某个属性,且值不是空的,不就能直接用点方法获取吗,为什么要拆分成key和value多此一举呢?下面,我用一个例子告诉大家,既然这方法是存在的,那就 ...
- 老李分享:Web Services 架构 1
老李分享:Web Services 架构 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...