现在网上关于vsftpd的资料不少,但是版本已经比较老,配置起来各种错误,耽误不少时间,现将配置步骤更新如下,配置环境版本:Debian 9 + vsftpd: version 3.0.3

1.apt install vsftpd

2.安装完成后,vsftpd自动添加了ftp用户和ftp用户组

3.mkdir /ftp,添加ftp根目录

4.vi /etc/passwd || usermod -d /ftp ftp

修改ftp主目录 原:/srv/ftp 新 /ftp

5.修改/ftp目录所属组为ftp

chgrp ftp /ftp

6.创建vsftp用户目录

mkdir /ftp/vsftp

7.添加vsftp用户

useradd -g ftp -d /ftp/vsftp -s /sbin/nologin vsftp
passwd vsftp
******

8.添加FTP配置文件目录

mkdir /etc/vsftpd/
mkdir /etc/vsftpd/vconf

9.创建用户和密码文件

创建用户和密码文件,然后用db4工具把用户名和密码转换成系统识别的格式。
vi vftpuser.txt //新建文件写入用户名和密码
注:第一行写用户名,第二行写密码,以此类推,要创建多少虚拟用户,依次写下去。
例如:

abcd
*****
dcba
*****

创建了两个用户abc和cba密码分别为****和*****

接着使用工具将其转换,并且存放在适当的位置,如:、
db5.3_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db
命名为vsftpd_login.db。
注意:此时如果没有安装db4工具会出现错误。
解决方法:
apt install db5.3-util
db5.3_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db

10.设置PAM验证文件,并制定虚拟用户数据库文件进行读取

使用find / -name 'pam_userdb.so'查找
结果:/lib/x86_64-linux-gnu/security/pam_userdb.so
修改/etc/pam.d/vsftpd

添加:

auth    sufficient    /lib/x86_64-linux-gnu/security/pam_userdb.so    db=/opt/vsftp/vsftpd_login
account sufficient /lib/x86_64-linux-gnu/security/pam_userdb.so db=/opt/vsftp/vsftpd_login auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so

11.创建虚拟用户配置文件:

12.配置vsftpd参数 ,vi /etc/vsftpd.conf

vconf/default文件内容:

local_root=/home/ftp/ftpdir
#指定虚拟用户仓库的具路径
anonymous_enable=NO
#设定不允许匿名访问
write_enable=YES
#允许写的操作
local_umask=
#上传文件的权限掩码
anon_upload_enable=YES
#不允许匿名上传
anon_mkdir_write_enable=YES
#不允许匿名用户建立目录
idle_session_timeout=
#设定空闲链接超时时间
data_connection_timeout=
#设定单次传输最大时间
max_clients=
#设定并发客户端的访问数量
max_per_ip=
#设定客户端的最大线程数
local_max_rate=
#设定用户的最大传输速率,单位b/s
cmds_allowed=ABOR,CWD,LIST,MDTM,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,REST,SIZE,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
#这里是你给他设的权限,我这里给的权限符合上头所说的要求,可以上传下载,但不能删除文件,也不能创建文件夹
#完整权限:cmds_allowed=ABOR,CWD,LIST,DELE,RMD,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,REST,RNFR,RNTO,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

新用户配置文件通过默认直接复制(注意复制完修改local_root参数):

cp default abc
cp default cba

mkdir /ftp/abc
mkdir /ftp/cba
修改属主/组信息
chown abc:ftp /ftp/abc

13.配置vsftpd参数:

vi /etc/vsftpd

write_enable=YES
local_umask= # 手动添加以下项目 #启用虚拟用户功能
guest_enable=YES #指定虚拟的宿主用户
guest_username=vsftp #设定虚拟用户的权限符合他们的宿主用户
virtual_use_local_privs=YES #设定虚拟用户个人vsftp的配置文件存放路劲。这个被指定的目录里,将被存放每个虚拟用户个性的配置文件,注意的地方是:配置文件名必须和虚拟用户名相同。
user_config_dir=/etc/vsftpd/vconf listen_port=
pasv_enable=YES
pasv_min_port=
pasv_max_port=
pasv_promiscuous=YES
ftpd_banner=FTP service

vsftpd配置附件:vsftpd.rar

vsftpd参数参考:http://www.cnblogs.com/9426yu/p/4835443.html

Debian 9 vsftpd: version 3.0.3 配置的更多相关文章

  1. Unsupported major.minor version 51.0 在配置/运行Maven工程时,JDK与Maven所引用的jdk版本不一致

    在配置Maven工程,部署到tomcat服务器运行的过程中,遇到如下错误: "Unsupported major.minor version 51.0 " 错误原因是由于maven ...

  2. JDK1.8环境下依然报错 Unsupported major.minor version 52.0

    JDK1.8环境下依然报错 Unsupported major.minor version 52.0 在配置elasticsearch-rtf全文搜索引擎时,按照Github上项目readme.md来 ...

  3. 配置Tomcat出现Unsupported major.minor version 51.0

    在配置tomcat时,配置好jdk1.6,下载的tomcat8.0,结果执行start-up.bat,总是一闪而过,网上查了大量的资料,都说是可能是jdk没配置好,但实际上jdk的环境变量设置正常,后 ...

  4. 创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文件或程序集“System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个依赖项。系统没找到指定的文件

    创建 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文 ...

  5. MyEclipse配置tomcat报错 - java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0

    1 开发Servlet程序时,MyEclipse配置好tomcat与JDK之后,启动时控制台报下列错误: 1 java.lang.UnsupportedClassVersionError: org/a ...

  6. hibernate 注解配置<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/X

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  7. eclise配置tomcat出现服务Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4 and Java EE 5 Web modules

    当部署项目Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, 1.5 and Java EE 5 Web modules错;解决方案,如下面: 空 ...

  8. 配置IIS提示打开目录浏览时的问题:未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的解决办法

    错误消息: 未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的 ...

  9. Unsupported major.minor version 52.0错误解决 Ubuntu JDK8 安装配置

    Unsupported major.minor version 52.0错误一般是因为应用程序需要JDK8而ubuntu默认的是jdk7,所以需要切换到jdk8才能解决这个问题. 本文使用PPA方式安 ...

随机推荐

  1. 八个常用的js正则表达式

    开篇:开发中如果有input输入框,难免就要写正则表达式,因此在这里总结了一些常见常用的正则表达式的书写方法,希望会大家有所帮助: 附图: 一.手机号码 $(document).ready(funct ...

  2. C# 时间操作类

    using System; namespace DotNet.Utilities { /// <summary> /// 时间类 /// 1.SecondToMinute(int Seco ...

  3. 实例-PHP_SELF、 SCRIPT_NAME、 REQUEST_URI区别-获取前台公用文-dirname-PHP的"魔术常量"-str_replace

    Part1:实例 $_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使 ...

  4. I/O处理小练习--保存用户账号密码

    I/O处理小练习--保存用户账号密码 用户输入姓名和密码,将每一个姓名和密码保存到文件中,输入done时程序结束 import java.io.*; public class Example { pu ...

  5. MySQL常见常用的SQL优化

    应尽量避免在where中使用!=或<>操作符.否则会进行全表查询 对于查询,避免全盘扫描,考虑在where或order by涉及到的列上建立索引 避免在where中进行null值判断,否则 ...

  6. .NET 垃圾回收浅解

    在说明垃圾回收的实现机制之前,先说明一下垃圾回收存在的背景. 垃圾回收器(GC)是.NET平台中一个很重要的组成部分,.NET垃圾回收机制降低了编写程序的复杂程度,使程序员不用耗费精力去处理析构,成功 ...

  7. java设计模式-----7、装饰模式

    首先,什么是装饰者模式呢??? 装饰( Decorator )模式又叫做包装模式.通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案.他是23种设计模式之一,英文叫Decorator ...

  8. OpenStack IceHouse 部署 - 4 - 计算节点部署

    Nova计算服务(计算节点)  参考 本页内容依照官方安装文档进行,具体参见Configure a compute node(nova service) 前置工作 数据库 由于我们在Nova(计算管理 ...

  9. SQLServer数据库系统概念

    数据模型是一种抽象模型,现实世界中的客观事物是彼此相互联系的 (1)数据模型是一组集成的概念,用户描述和操作组织内的数据,数据间的联系以及对数据的约束,它包含了数据结构,数据操作和完整性约束 (2)概 ...

  10. css的高级选择器,后代选择器,子代选择器,并集选择器,交集选择器

    高级选择器: 后代选择器 子代选择器 并集选择器 交集选择器 一.后代选择器: 使用空格表示后代选择器,父元素的后代(包括儿子,孙子,从孙子) 也就是说,box类下的所有span标签 字体颜色都被设置 ...