RHEL 5中部署FTP文件传输服务(二)部署基于虚拟用户的FTP服务

在vsftpd服务器中,使用虚拟用户的主要好处在于,可以将登录的账号与系统登录的账号区分开来,用户名,密码都不相同,从而进一步增强了FTP服务器的安全性。

1、建立虚拟用户的账号数据库

vsftpd服务使用Berkeley DB格式的数据库文件来存放虚拟用户账号。建立这种数据库文件需要使用db_load工具,db_load工具由db4-utils软甲包提供,而db4-utils软件包需要先从系统光盘中的Server中安装。如下安装db4-utils软件包。

[root@localhost /]#rpm -ivh /media/Server/db4-utils-4.3.29-10.el5.i386.rpm

2、创建文本格式的用户名、密码列表

首先需要建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行用户所对用的密码。

[root@localhost /]#vim /etc/vsftpd/vusers.list

zhangsan

123

lisi

123

3、创建Berkeley DB格式的数据库文件

有了文本格式的用户名/密码列表文件以后,以此文件为数据源通过db_load工具创建出Berkeley DB格式的数据库文件。

[root@localhost /]#cd /etc/vsftpd

[root@localhost vsftpd]#db_load -T -t hash -f vusers.list vusers.db

在db_load命令中,“-T”选项允许非Berkeley DB的应用程序使用从文本格式转换的DB数据库文件,“-t hash”选项指定读取数据文件的基本方法,“-f”选项用于指定数据的源文件。关于db_load命令的详细说明,可参阅/usr/share/doc/db4-utils-4.3.29/ustils/db_load.html文件。

为了提高虚拟用户账户的安全性,应将文件权限设置为600,以免数据外泄。

[root@localhost /]#chmod 600 /etc/vsftpd/vusers.*

4、添加虚拟用户的映射账号、创建FTP根目录

vsftpd服务器对虚拟用户是控制采用了映射的控制方式,将所有的虚拟用户对应到同一个系统用户,该系统用户的宿主目录作为所有虚拟用户登录后共用的FTP根目录,因此还需要添加一个对应的系统用户账号(此账号无需设置密码以及登录shell)

[root@localhost /]#useradd -d /var/ftproot -s /sbin/nologin vuser

[root@localhost /]#chmod 755 /var/ftproot    --调整权限以允许浏览目录

5、为虚拟用户建立PAM认证文件

在vsftpd服务器中,用户认证是通过PAM机制来实现的,该机制包含灵活的选择认证的方式。vsftpd服务默认的PAM认证文件位于/etc/pam.d/vsftpd,该文件适用于以Linux主机的系统用户账号进行认证。若要读取虚拟用户的账户数据文件,就需要创建新的PAM认证配置。

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

auth required pam_userdb.so db=/etc/vsftpd/vusers

auth required pam_userdb.so db=/etc/vsftpd/vusers

上述PAM配置内容中,通过“db=/etc/vaftpd/vusers”参数指定了要使用的虚拟用户数据库文件位置(省略了.db的扩展名),即对应/etc/vsfpd/vusers.db文件。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/Ftp/

时间: 2024-08-04 08:33:35

RHEL 5中部署FTP文件传输服务(二)部署基于虚拟用户的FTP服务的相关文章

建立基于虚拟用户的VSftpd服务_linux shell

上一篇文章给大家介绍了Linux中搭建FTP服务器的方法,说了vsftpd的基本配置,也就是匿名和本地,这回来说一下配置虚拟用户使用vsftpd,下面是具体步骤: 一.建立虚拟用户口令文件     可以使用vi命令创建一个用户口令文件,该文件是一个文本文件,其中奇数行为用户,偶数行为用户密码,文件名可以任意,如我建立一个名为login.txt的文件文件里的内容为: a abc123~ b abc123~ 其中a和b为用户,abc123~为用户的密码. 二.生成vsftpd口令认证文件     建

RHEL 5中部署FTP文件传输服务(一)

FTP典型的C/S结构的应用层协议,需要有服务端软件和客户端软件两个部分共同实现文件传输功能. 1.FTP连接及传输模式 FTP服务器默认使用TCP协议的20.21端口与客户机进行通信.20端 口用于建立数据连接.并传输文件数据:21端口用于建立控制连接,并传输FTP控制命令. 主动模 式:服务器主动发起数据连接.首先由客户端向服务端的21端口建立FTP控制连接,当需要传输数据时, 客户端以ROTR命令告知服务器"我打开了某端口,你来连接我",于是服务器从20端口向客户端的该端口 发送

点对点-FTP文件传输如何用C语言实现

问题描述 FTP文件传输如何用C语言实现 FTP文件传输如何用C语言实现 用于文件传输 系统文件更新 急用 点对点 解决方案 1.了解下ftp的原理 基本的指令操作 2.熟悉socket,ftp会有2个socket传输,一个用于指令传输,一个用于数据传输 3.实现基本的ftp传输后,可以考虑文件更新机制,基本的文件读写 解决方案二: 用socket就可以实现呀,ftp只是文件传输协议.你上网搜一下,应该有很多源代码.不要使用封装后的socket,直接使用原始的socket就可以了. 解决方案三:

FTP文件传输协议两种方式的工作原理

FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是 Active,主动方式),一种是 Passive (也就是PASV,被动方式). Standard模式 FTP的客户端发送 PORT 命令到FTP server.Passive模式FTP的客户端发送 PASV命令到 FTP Server. 下面介绍一个这两种方式的工作原理: Standard模式 FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个

FTP文件传输协议

文件传输协议(FTP:File Transfer Protocol)使得主机间可以共享文件. FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输.控制连接使用类似 TELNET 协议在主机间交换命令和消息. FTP 的主要功能如下: 提供文件的共享(计算机程序 / 数据): 支持间接使用远程计算机: 使用户不因各类主机文件存储器系统的差异而受影响: 可靠且有效的传输数据. FTP ,尽管可以直接被终端用户使用,但其应用主要还是通过程序实现. FTP

面向云管理工具puppet的部署和文件传输测试

系统环境: [root@rhel6u3-102 puppet]# uname -r 2.6.32-279.el6.x86_64 [root@rhel6u3-102 puppet]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.3 (Santiago) 一.前期准备工作 1.主机名能够互相解析(DNS上或者hosts文件中能够相互解析) puppet master(rhel6u3-102.rsyslog.org

报表服务扩展:基于WCF技术的报表服务扩展

为什么要进行扩展呢?扩展的目的是为了和自己现有的系统整合在一起.比如现有系统已经很复杂,能处理很多业务,设计系统的开发人员没有充分考虑到技术的变更,当一项新技术推出以后,为了能把新技术应用到旧有的系统中,我们需要对新技术做一些扩展,以方便应用到我们的现有系统中. 追随新技术改系统是比较笨的方法.以例子为证,一开始,系统用Remoting作为通信框架,WCF横空出世后,又把自己的系统用WCF技术重写一遍通信框架.这种做法很累,一不小心及到业务方面的修改,系统的稳定性大打折扣. 新技术一般都留下有扩

亚马逊Web服务在欧洲推出虚拟专用安全云服务

亚马逊5月4日称,亚马逊Web服务部门在欧洲推出了虚拟专用云(VPC)服务.这项服务让企业使用加密的虚拟专用网连接把自己现 有的数据中心连接到亚马逊欧洲云计算中的隔离的计算资源.亚马逊称,在欧洲推出这项服务将给欧洲用户较低的延迟,并且有助于满足欧盟 提出的有关其数据存储在什么地方的要求.企业能够建立混合的架构,允许他们全面利用 亚马逊云计算的好处并且同时让网络隔离和保证安全的连接,就像所有的资源都在自己的数据中心一样.亚马逊称,企业可以使用VPC服务把包括电子邮件.财务系统和CRM应用程序在内的

如何在CentOS 7中使用SSL/TLS加固FTP服务器进行安全文件传输

在一开始的设计中,FTP(文件传输协议)就是不安全的,意味着它不会加密两台机器之间传输的数据以及用户的凭据.这使得数据和服务器安全面临很大威胁. 在这篇文章中,我们会介绍在 CentOS/RHEL 7 以及 Fedora 中如何在 FTP 服务器中手动启用数据加密服务;我们会介绍使用 SSL/TLS 证书保护 VSFTPD(Very Secure FTP Daemon)服务的各个步骤. 前提条件: 你必须已经在 CentOS 7 中安装和配置 FTP 服务 . 在我们开始之前,要注意本文中所有命