vsftpd: version 2.2.2
一、安装:因对版本要求不高,所以采用yum安装

yum install -y vsftpd
ckconfig vsftpd on

二、配置:

1、建立ftp用户vuser作为虚拟用户的宿主,不允许ssl登录:

adduser vuser -s /sbin/nologin

2、建立虚拟用户列表:在/etc/vsftpd/下创建vuser.txt文件,在里面填写用户名和账号,第一行账号,第二行密码,依次类推。

3、建立虚拟用户口令库,(如果系统提示找不到db_load命令,则需先安装yum –y install db4 )

db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

注意文件名保持 统一!

4、进入/etc/pam.d/中创建vsftpd.vuser,在其中添加如下信息:

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

5、生成pem文件

openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem

6、创建虚拟用户配置文件存放目录

mkdir /etc/vsftpd/vsftpd_conf/

7、创建与虚拟用户名相同名称的文件(虚拟用户名即vuser.txt中的用户名),比如创建demo

vim /etc/vsftpd/vsftpd_conf/demo

8、在demo中填写如下信息

#此路径根据虚拟用户要访问的目录对应修改
local_root=/www/web
anon_world_readable_only=NO
anon_umask=022
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES

9、编辑配置文件

vim /etc/vsftpd/vsftpd.conf

编辑内容如下:

#设定不允许匿名访问
anonymous_enable=NO
#设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
tcp_wrappers=YES
#虚拟用户配置:PAM认证文件名,PAM将根据/etc/pam.d/vsftpd进行认证
pam_service_name=vsftpd.vuser
userlist_enable=yes
#启用虚拟用户
guest_enable=yes
#虚拟用户配置文件存放目录
user_config_dir=/etc/vsftpd/vsftpd_conf
#虚拟用户映射到的系统账号
guest_username=vuser
#配置PASV
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40080
pasv_promiscuous=YES
#启用TLS/SSL
ssl_enable=YES
#强迫客户机在登录时使用TLS
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_ciphers=HIGH
rsa_cert_file=/etc/vsftpd/vsftpd.pem

10、启动

service vsftpd start

11、目录权限

chown -R root:vuser /www/web

一般链接不上,大部分是目录权限的问题

可以看:centos关于vsftpd的配置、配置说明及常见问题  里面写了两种配置vsftpd用户的方式、配置项的详细说明和一些常见为题,供大家参考!

最新文章

  1. Java网络编程--简单聊天程序
  2. 在SQL Serve里停用行和页层级锁
  3. C#设计模式-简单工厂
  4. .net下的跨域问题
  5. 传智博客.NET培训第13季 Ajax教程(共十三季) 学习资源
  6. scrum1.4---Sprint 计划
  7. 深入理解Redis中的主键失效及其实现机制
  8. ORACLE 中的 锁 介绍
  9. 工作流--JBPM简介及开发环境搭建
  10. 使用pycharm进行远程开发部署调试设置 与 远程部署调试是否必须使用远程主机的解释器?
  11. Vue父组件向子组件传递一个动态的值,子组件如何保持实时更新实时更新?
  12. MySQL-监控告警系统
  13. Asp.Net Core 2.0 项目实战(5)Memcached踩坑,基于EnyimMemcachedCore整理MemcachedHelper帮助类。
  14. DevExpress WPF v18.2新版亮点(六)
  15. 二进制数值Byte [] 转Base64字符串
  16. Codeforces Round #258 (Div. 2)-(A,B,C,D,E)
  17. Dictionary的应用
  18. C#知识
  19. tp5 数据库相关操作笔记
  20. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第10章节--SP2013中OAuth概览 应用程序验证

热门文章

  1. vue模糊搜索&select取值
  2. 关于DRY原则
  3. 转:nginx+CGI/FASTCGI
  4. SOAP消息的结构
  5. Poj2182 Lost Cows(玄学算法)
  6. Python安装scrapy提示 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++
  7. (转)求质数算法的N种境界[1] - 试除法和初级筛法
  8. URL获取并修改参数【转】
  9. CSS 笔记——文本字体
  10. <四边形不等式优化>[NOI1995]石子合并