基于虚拟账号的vsftp

简介:

虚拟用户账号是为了保证FTP服务器的安全性,由vsftpd服务器提供的非系统用户账号。虚拟用户FTP登录后把指定的目录作为FTP根目录。虚拟用户与本地用户具有类似的功能,由于虚拟用户相对安全,因此正逐步替代本地用户账号。

vsftpd虚拟用户账号设置过程:

⑴ 建立虚拟账号库文件。

⑵ 生成vsftpd的认证数据库文件。

⑶ 建立虚拟用户所需的PAM配置文件。

⑷ 建立虚拟用户所要访问的目录并设置相应权限。

⑸ 设置vsftpd.conf配置文件。

一:安装vsftp服务器:

[root@lyt ~]# mkdir /mnt/cdrom

[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/

[root@lyt ~]# cd /mnt/cdrom/Server/

[root@lyt Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm      #安装vsftp主程序

[root@lyt Server]# service vsftpd start

[root@lyt Server]# chkconfig vsftpd on      #设置开机自动启动

二:创建虚拟账号库:

[root@lyt Server]# cd /etc/vsftpd/

[root@lyt vsftpd]# vim viruser.txt       #创建虚拟的账号库文件

image

三:生成vsftp的认证数据库文件:(使用db_load命令)

[root@lyt Server]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm      #安装包含db_load命令的软件包

[root@lyt Server]# db_load -T -t hash –f  /etc/vsftpd/viruser.txt  /etc/vsftpd/viruser.db    #使用该指令将viruser.txt文件转换为认证数据库文件viruser.db

[root@lyt Server]# cd /etc/vsftpd/

[root@lyt vsftpd]# vim /etc/pam.d/vsftpd

image

四:创建虚拟用户所要访问的目录并设置相应权限

[root@lyt vsftpd]# useradd user1     #新建用户user1

[root@lyt vsftpd]# passwd user1

[root@lyt vsftpd]# cd /home/user1/

[root@lyt user1]# touch f1        #在user1的家目录中创建文件f1

[root@lyt user1]# chmod 755 /home/user1/ 

[root@lyt vsftpd]# vim /etc/vsftpd/vsftpd.conf

image

[root@lyt vsftpd]# service vsftpd restart

image

附:

1:使用本地账户和匿名账户登录查看下载速率:

[root@lyt Server]# mkdir /tmp/qq     #创建一个目录qq

[root@lyt Server]# cd /tmp/qq/

[root@lyt qq]# rpm2cpio /mnt/cdrom/Server/vsftpd-2.0.5-16.el5.i386.rpm |cpio –id      #将vsftp包拆解

[root@lyt qq]# cd etc/pam.d/

[root@lyt pam.d]# cp vsftpd /etc/pam.d/

image

[root@lyt pam.d]# vim /etc/vsftpd/vsftpd.conf

image

[root@lyt pam.d]# service vsftpd restart

[root@lyt pam.d]# cd /var/ftp/pub/

[root@lyt pub]# dd if=/dev/zero of=f1 bs=1M count=1     #在匿名目录中创建一个1M大小的文件f1

[root@lyt pub]# cp f1 /home/user1/       #将该文件拷贝到本地用户user1的家目录中

测试:

image

image

笔者在使用本地用户user1登录后下载时出现了一点小问题,这里交给笔者探讨解决:

2:同时在线的用户数量:

[root@lyt pub]# vim /etc/vsftpd/vsftpd.conf

image

[root@lyt pub]# service vsftpd restart

测试:

image

3:限制每个ip地址的最大连接数:

[root@lyt pub]# vim /etc/vsftpd/vsftpd.conf

image

[root@lyt pub]# service vsftpd restart

image










本文转自 liuyatao666 51CTO博客,原文链接:http://blog.51cto.com/5503845/993127,如需转载请自行联系原作者
目录
相关文章
|
Kubernetes 关系型数据库 MySQL
Docker Compose入门:打造多容器应用的完美舞台
Docker Compose 是一个强大的工具,它允许开发者通过简单的 YAML 文件定义和管理多容器的应用。本文将深入讨论 Docker Compose 的基本概念、常用命令以及高级应用场景,并通过更为丰富和实际的示例代码,助您轻松掌握如何通过 Docker Compose 打造复杂而高效的多容器应用。
|
自然语言处理 算法 小程序
|
Kubernetes 安全 JavaScript
Docker 与 Podman:探索用于现代 Web 开发的容器技术
在软件开发中,Docker 和 Podman 作为主流容器化技术,各具特色。本文深入对比两者优缺点,探讨其实用场景与部署Web应用的最佳实践。Docker 凭借成熟生态和跨平台能力引领潮流;Podman 以无守护进程架构提升安全与效率。通过具体示例展示如何构建和运行Node.js与Angular应用,帮助读者理解核心命令与配置要点。无论是在开发环境还是生产部署,选择合适的工具能显著增强应用的安全性和稳定性。
800 1
解决Node.js mysql客户端不支持认证协议引发的“ER_NOT_SUPPORTED_AUTH_MODE”问题
mysql模块(项目地址为https://github.com/mysqljs/mysql)是一个开源的、JavaScript编写的MySQL驱动,可以在Node.js应用中来操作MySQL。但在使用过程中,出现了“ER_NOT_SUPPORTED_AUTH_MODE”问题。
10804 1
|
Java Linux 开发工具
Windows中使用包管理器(类似于apt/yum的) - Chocolatey
Windows中使用包管理器(类似于apt/yum的) - Chocolatey
1200 0
|
安全 Windows
Windows Server 2016 备份和灾难恢复-1
备份是指将系统中数据的副本按一定的策略储存到安全的地方,而还原是指备份的反向过程,备份的目的是在系统发生故障或误操作后,利用备份信息还原数据,从而尽可能减小损失。备份的重要性只有在需要还原的时候才能体现出来,为了提高数据备份操作的效率,很多人喜欢用价格昂贵,操作复杂的专业备份工具来实现。其实,我们完全可以利用系统自带的数据备份功能来完成。在WindowsServer2016中,可以利用 Windows Server Backup进行数据的备份和恢复。
840 0
Windows Server 2016 备份和灾难恢复-1
|
机器学习/深度学习 人工智能 自然语言处理
深度学习与CV教程(13) | 目标检测 (SSD,YOLO系列)
本文讲解一阶段(one stage)的目标检测方法,包括 YOLO 系列算法(V1~V5)、SSD、RetinaNet的算法思想、网络结构、训练细节和性能效果等【对应 CS231n Lecture 11】
1391 1
深度学习与CV教程(13) | 目标检测 (SSD,YOLO系列)
|
传感器 移动开发 安全
iPhone X + iOS 11 适配指南(上)
iPhone X + iOS 11 适配指南(上)
501 0
iPhone X + iOS 11 适配指南(上)
|
机器学习/深度学习 人工智能 达摩院
”见微”工业视觉智能孵化器
本篇内容分享了”见微”工业视觉智能孵化器。
1146 0
”见微”工业视觉智能孵化器
|
存储 弹性计算 算法
阿里云InfluxDB®高可用设计
阿里云InfluxDB®是一版免运维,稳定可靠,可弹性伸缩的在线时序数据库服务,目前围绕InfluxDB的TIG(Telegraf/InfluxDB/Grafana)生态和高可用服务版本已经商业化,可以在阿里云官网直接购买。
4587 0
阿里云InfluxDB®高可用设计