一、基本安装

  1.安装服务

yum -y install vsftpd  //centos Redhat
apt-get install vsftpd //debian ubuntu

  2.开启服务

service vsftpd status  //查看状态,默认是关闭的
service vsftpd start

  3.开机随操作系统启动

chkconfig vsftpd on

  4.添加账号

useradd -d /data/www/wwwroot -s /sbin/nologin vsftp
passwd vsftp //设置密码
chown -R vsftp.vsftp /data/www/wwwroot //设置指向目录

  其中,/demo指的是指向目录,vsftp是要添加的用户名,也可以使用usermod设置已有用户。

二、基本设置

  1.打开配置文件

vi /etc/vsftpd/vsftpd.conf

  2.参照如下设置

userlist_deny=YES
userlist_file=/etc/vsftpd/user_list
anonymous_enable=NO  //禁止匿名访问
local_enable=YES
write_enable=YES

  3.修改shell配置

vi /etc/shells  //如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去

  4.重启服务

service vsftpd start  //修改配置之后要重启服务

  

三、vsftp无法连接

service iptables stop //关闭防火墙

  或者修改配置文件

vi /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_conntrack_ftp"

  并添加规则

iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
service iptables save
service iptables restart

  

四、限制用户不能访问上级目录

  修改vsftp的配置文件vsftpd.conf

vi etc/vsftpd/vsftpd.conf

  修改下面的配置:  

chroot_local_user=YES
chroot_list_enable=YES //这行可以没有, 也可以有
chroot_list_file=/etc/vsftpd/chroot_list

  那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即可以浏览其主目录的上级目录。

  如果不希望指定的用户浏览其主目录上级目录中的内容,可以如下设置,然后在文件vsftpd/chroot_list中去掉或不添加该用户即可。

chroot_local_user=NO
chroot_list_enable=YES //这行必须要有, 否则文件vsftpd/chroot_list不会起作用
chroot_list_file=/etc/vsftpd/chroot_list

  

五、无法上传文件、创建文件/文件夹,或无法看到子目录

  这是由于selinux的机制,可以执行如下命令查看

getsebool -a|grep ftp

  使用如下命令重置权限

setsebool allow_ftpd_full_access=1

  修改目录权限

chmod  -R /var/ftp/pub

六、用户无法验证问题

  当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误。从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

  方法1:修改配置文件vi /etc/vsftpd/vsftpd.conf,添加allow_writeable_chroot=YES

  方法2:用命令chmod a-w /home/user去除用户主目录的写权限

sudo chown -R root:root /home/ftp
cd /home/ftp
sudo mkdir FTPFILES
sudo chown -R vsftpuser:vsftpuser FTPFILES

  

VSFTP的使用的更多相关文章

  1. Centos6.5中安装和配置vsftp详细总结

    一.vsftp安装篇 #查看是否安装:rpm -qa|grep vsftpd#卸载vsftpdrpm -e vsftpd-2.2.2-11.el6_3.1x86_64 --nodeps# 安装vsft ...

  2. asp.net core 简单部署之FTP配置(CentOS 7.0安装配置Vsftp服务器)

    配置过程原文地址:http://www.osyunwei.com/archives/9006.html 坑和结果 正确的跟着这个内容走,是靠谱的. 我自己给自己踩了个坑,请参照文章的朋友注意第七条:七 ...

  3. vsftp简单学习思考

    FTP的全称是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.它工作在OSI模型的第七层,即是应用层,使用TCP传输而不是UDP这样FTP客户端和服务器建立连 ...

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

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

  5. 大数据系列(4)——Hadoop集群VSFTP和SecureCRT安装配置

    前言 经过前三篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,当然,我相信安装的过程肯定遇到或多或少的问题,这些都需要自己解决,解决的过程就是学习的过程,本篇的来介绍几个Hadoop环 ...

  6. Centos安装vsftp服务

    1.安装vsftp yum install vsftpd 2.开启vsftp服务,设置开机自启 service vsftpd restart chkconfig vsftpd on 停止vsftpd: ...

  7. Linux系统Vsftp 传文件出现 553 Could Not Create File错误的解决方法

    解决方法: 登录出现了这个错误提示:553 Could not create file SELinux设置如下 查看SELinux设置 [root@localhost ~]# getsebool -a ...

  8. 腾讯云服务器centos 6.5(jdk+tomcat+vsftp)、腾讯mysql数据库 及 tomcat自启动 配置教程

    1.腾讯云数据库配置 1.考虑到安全性问题,,平常不使用root用户登录,新增一个用户名neil,用来管理项目的数据库 a.首先登录root创建db_AA数据库 b.在root用户下,创建neil用户 ...

  9. Vsftp精解之安装配置及原理(一)

    简介 Vsftp(Very Secure FTP)是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,是一款小巧而又易用FTP服务器程序,Vsftpd 在安全性.高性能及稳定性三个方面有很好 ...

  10. linux vsftp配置

    1.rpm -q ftp 查看是否安装ftp服务器 2.yum install vsftp 安装ftp服务器 3.修改配置文件/etc/vsftpd 下面的 ftpusers和user_list,这两 ...

随机推荐

  1. C#ATM

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  2. Vue中通过v-for动态添加图片地址

    由于组件化问题,webpake在打包以后,src目录下的assets里面存放的img图片,路径已经更换.很多入坑的前端程序员在使用的时候,可能专破头也弄不清地址是什么个情况: 这里在使用vue-cli ...

  3. 2019-04-18-day035-守护线程与池

    内容回顾 互斥锁 在同一个进程中连续锁两次以上会死锁 进程的数据共享 进程之间可以共享数据 提供共享数据的类是Manager 但是他提供的list\dict这些数据类型是数据不安全的 针对 += -= ...

  4. 3D数学基础(三)矩阵

    3D引擎中对于矩阵的使用非常多,介绍这些知识也是为了告诉开发者原理,更有助于开发者编写逻辑. (1)固定流水线 各种坐标系之间的转化是通过矩阵相乘得到的,这里面就涉及到了3D固定流水线.作为3D游戏开 ...

  5. C#中的Cookie

    cookie属性: name字段为一个cookie的名称. value字段为一个cookie的值. domain字段为可以访问此cookie的域名. path字段为可以访问此cookie的页面路径. ...

  6. 41.找出所有和为S的连续正数序列

    小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和, 他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数). 没多久,他就得到 ...

  7. linux中的baff/cache占用大量内存,如何清理?

    执行命令echo 3 > /proc/sys/vm/drop_caches,即可清空buff/cache 参考http://blog.csdn.net/kevins_lee/article/de ...

  8. JavaScript创建对象的方式

    一.工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程. 考虑到在 ECMAScript 中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的 ...

  9. Jenkins可持续集成项目搭建——配置邮件

    1.系统管理->系统设置 (1)填写系统管理员邮件地址 (2)填写邮箱配置.发件人邮箱.收件人邮箱 注:1>发件人邮箱地址必须和系统管理员邮箱地址一致 2> 部分邮箱配置输入的不是登 ...

  10. pycharm 01

    为了可以在pycharm中添加中文,应该在python文件第一行加入 # -*- coding: utf- -*-