Linuxftp虚拟账号

   ftp虚拟账号登录是基于pam认证模块的登录方式,它从很大程度上增强了服务器主机的安全性。

   当客户端使用服务器上的帐号对服务器发起访问的时候,如果有第三方在这时对客户端进行抓包,就会将客户端登录服务器的帐号抓到,这个帐号是可登录服务器的真实帐号,被黑客拿到,会对服务器进行破坏,假如使用虚拟账号,就会避免这种情况的反生,因为虚拟帐号,不是服务器主机上的真实帐号,而是存在于服务器上的数据库里面的虚拟帐号,这个帐号不能用来登录服务器主机,只能对其访问

   实现虚拟账号的思路是,当客户端向服务器发出访问的时候,服务器会将访问转给pam模块,由pam决定认证方式,我们对pam的配置文件进行修改,让认证的地点改为服务器上的数据库,而非/etc/passwd/内的本地用户,而且能将这个账户映射成为本地账户。这样就能实现对服务器的访问和保护。

   具体做法

先将ftp安装

[root@mail Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm

然后进入到vsftp的目录下,创建文件virtualuser.txt

这个文件是存放虚拟帐号的文件,使用db_load能将其转换成.db文件。可以减少操作。

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

[root@mail vsftpd]# vim virtualuser.txt

[root@mail vsftpd]# cd /mnt/cdrom/Server

[root@mail Server]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm (要将.txt.文件转换成.db文件要用到db_load 这个工具,这个工具在上面那个压缩包里)

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

[root@mail vsftpd]# db_load -T -t hash -f virtualuser.txt virtualuser.db

这样就生成了存放虚拟账户的.db文件

在上面那个文件里面添加虚拟帐号wang,密码是123

现在就要对pam模块的vsftp应用的配置进行修改。

原本的/etc/pam.d/vsftpd里面没有内容,但是可以进入pam模版将其复制过来

里面好多是没用的,将其改为一下内容

 

 

 

 

第一条是验证是否存在,第二条是验证是否匹配,最后面就是虚拟帐号的存放位置。

这个配置完成后,添加要映射的本地账户

[root@mail home]# useradd -s /sbin/nologin text1

而且将这个账户添加到vsftp的配置目录里面

[root@mail pam_pkcs11]# vim /etc/vsftpd/vsftpd.conf

在其最下边添加下面内容:

在其里面还有好多参数,可以进行相应设置,在此不再多说。

配置完成,开始验证

text1的目录下创建文件,看虚拟账户wang是否可以看到。

[root@mail text1]# touch jsad

说明配置正确。