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 ...
随机推荐
- 【转】请求处理机制其一:进入Django前的准备
一个 Request 到达了! 首先发生的是一些和 Django 有关(前期准备)的其他事情,分别是: 如果是 Apache/mod_python 提供服务,request 由 mod_python ...
- c#调用aapt查看apk文件信息功能实现
第一篇随笔就此开始. 1. 起源 思路源自于项目开发过程中.需要确认apk文件版本以验证其功能差异以便于定位问题,于是度娘,得到APK信息查看器(APK-info)这个工具,其版本号为0.2.它能显示 ...
- 使用python landport库快速实现排行榜
背景介绍 排行榜业务使用的频率实在太高了,各种活动都会使用排行榜.经过多次开发后我觉得实现一个简单的排行榜库,它能够完成当前我遇到的所有业务逻辑问题,也希望能够帮助到想要快速开发排行榜业务的同行. 我 ...
- Lambda&Java多核编程-6-方法与构造器引用
在Lambda&Java多核编程-2-并行与组合行为一文中,我们对Stream<Contact>里的每一位联系人调用call()方法,并根据能否打通的返回结果过滤掉已经失效的项. ...
- spring切面编程AOP 范例一
参照网上的spring AOP编程实例进行配置,但是碰到了几个坑.这篇文章重点讲解一下我踩过的两个坑: 1.使用@Service自动装配的时候,基础扫描包配置要正确: 2.xml中切面配置中的exec ...
- [ZooKeeper.net] 3 ZooKeeper的分布式锁
基于ZooKeeper的分布式锁 ZooKeeper 里实现分布式锁的基本逻辑: 1.zookeeper中创建一个根节点(Locks),用于后续各个客户端的锁操作. 2.想要获取锁的client都在L ...
- Linux块设备驱动(二) _MTD驱动及其用户空间编程
MTD(Memory Technology Device)即常说的Flash等使用存储芯片的存储设备,MTD子系统对应的是块设备驱动框架中的设备驱动层,可以说,MTD就是针对Flash设备设计的标准化 ...
- struts2(四) ognl表达式、值栈、actionContext之间的关系
今天来说说ognl表达式在struts2中的运用. --wh 一.什么是Ognl? 通过百度百科查询到的解释,其中详细的说明了OGNL的作用. 下面我们就对OGNL这5个作用进行讲解 1.存取对象的任 ...
- Android 中基于 Binder的进程间通信
摘要:对 Binder 工作机制进行了分析. 首先简述 Android 中 Binder 机制与传统的 Linux 进程间的通信比较,接着对基于 Binder 进程间通信的过程分析 最后结合开发实例 ...
- 【C语言】两种方式实现冒泡排序算法
题目要求 编写一个C语言程序,实现基本的冒泡排序算法. 算法 冒泡排序,用一句话来总结: 一组数中,相邻的两个数进行比较.交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序 要想对N个数字进行 ...