做了好久的实验,网上的好些文章都是或多或少没说明白问题。这里把我的实验过程记下来,可能也会帮助到一些朋友。
情况:
开发、美工、运维组都有相关的资料需要更新、保存(上传、下载、删除、建立目录等),且各个组相互不能进入其他的资料区,看同事们也喜欢用ftp工具,就用linux下的vsftpd搭建服务吧。考虑到安全问题,采用虚拟用户登录。
规划:
开发组:develop
美工组:design
运维组:operate
ip地址:192.168.1.105
用户名也暂且这样定吧,密码和用户名相同
好了,开始:
一、准备
1、安装vsftpd软件:
[root@client ~]# yum install vsftpd –y
2、采用的是pam验证模块,所以得安装相关软件
[root@client ~]# yum install pam –y
3、采用文本帐号,生成相应数据库文件,得有db4包支持
[root@client ~]# yum install db4 db4-devel db4-utils –y
4、建立账户文件(/etc/vsftpd/vsftpd_login.txt)
[root@client ~]# vim /etc/vsftpd/vsftpd_login.txt
[root@client ~]# cat /etc/vsftpd/vsftpd_login.txt
5、将文本文件内容加载到数据库
[root@client ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login.txt /etc/vsftpd/vsftpd_login.db
-T选项允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用-T。
-t用来指定转译载入的数据库类型。可以指定的数据类型有Btree、Hash、Queue和Recon数据库。这里选择Hash。
查看一下生成的db文件:
[root@client ~]# ll /etc/vsftpd/vsftpd_login*
6、设定验证文件,指定验证模块和需要验证的db文件
[root@client ~]# vim /etc/pam.d/vsftpd
只需要添加下面两行,其他的注释掉吧