如何进行vsftpd的虚拟用户建立

网络 网络管理
vsftpd建立虚拟用户是FTP服务器当中最为常用的手段。所以我们这里就来详细介绍一下有关内容,希望对大家有所帮助。

在前面我们已经对FTP服务器建立的安装配置进行了详述,这里我们再来对相关的用户建立进行一下解析。那么本地用户在这里就不多介绍了,主要介绍实现虚拟用户的二种方法:vsftpd建立虚拟用户的过程。

1、使用本地数据文件:

生成虚拟用户文件,建立/etc/vsftpd/vuser.txt文件,内容如下:

tonyzhang#虚拟用户1111  #虚拟用户1密码 tomqin   #虚拟用户2111  #虚拟用户2密码

安装生成数据库rpm包:db4-utils。

  1. rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm  

生成虚拟用户数据库。

  1. db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.txt  

创建本地映射用户,修改本地映射用户家目录权限。

  1. useradd -d /var/ftp/vuserdir  -s /sbin/nologin vuserchmod o+rw /var/ftp/vuserdir  

修改pam认证文件/etc/pam.d/vsftpd,将原有内容注释。

  1. authrequired  /lib/security/pam_userdb.so db=/etc/vsftpd/vusersaccount required  
  2. /lib/security/pam_userdb.so db=/etc/vsftpd/vusers 

修改/etc/vsfptd/vsftp.conf,增加以下内容。

  1. guest_enable=YESguest_username=vuser  

2、使用MySQL数据文件:

创建本地映射用户。

  1. useradd -s /sbin/nologin vuser  

修改/etc/vsfptd/vsftp.conf,增加以下内容。

  1. guest_enable=YESguest_username=vuser  

安装MySQL及相关软件包。

  1. yum -y install mysql.i*yum -y install perl-DBD-MySQL.i*yum 
  2. -y install mysql-server.i*yum -y install mysql-devel.i*  

在MySQL中建立数据库及用户表。

  1. [root@polo ]  
  2. # mysql -u root mysql -pmysql>create database ftpvuser;     
  3. #建立用户数据库  
  4. mysql>use ftpvuser;   
  5. #打开数据库  
  6. mysql>create table users(name char(16) binary,passwd char(16) binary);    
  7. #建立存取用户信息表  
  8. #插入二个用户及口令  
  9. mysql>insert into users (name,passwd) values ('tonyzhang',password('111'));  
  10. mysql>insert into users (name,passwd) values ('tomqin',password('111'));  

#p#授权vuser可以读ftpvuser数据库的users表。

  1. [root@polo ]  
  2. #mysql -u root mysql -p mysql>grant select on ftpvuser.users to vuser@localhost identified by '123';   
  3. mysql>quit  

在上述授权完成后,可通过下图方法验证授权是否成功。

编译MySQL的PAM认证模块。

首先需要下载(http://sourceforge.net/projects/pam-mysql)MySQL的PAM认证模块源码,使用tar命令解压后,进行编译。在编译前需要安装以下软件包。

  1. yum -y install gcc.i*yum -y install gcc-c++.i*yum -y install pam-devel.i*  

安装完成后就可以进行编译。

  1. ./configuremakemake install  

编辑完成后可查看/lib/security目录下是否已有对应pam模块(如下图)。

查看/lib/security目录下是否已有对应pam模块

修改pam认证文件/etc/pam.d/vsftpd,将原有内容注释。

auth required pam_mysql.so user=vuser passwd=123 host=localhost db=ftpvuser table=users usercolumn=name passwdcolumn=passwd crypt=2account required pam_mysql.so user= vuser passwd=123 host=localhost db= ftpvuser table=users usercolumn=name passwdcolumn=passwd crypt=2

上述二种虚拟用户配置完成后,在通过以下步骤可针对每个虚拟用户指定不同的配置文件。

1、修改/etc/vsfptd/vsftp.conf

  1. user_config_dir=/etc/vsftpd/vuserconf 

2、在/etc/vsfptd/vsftp.vuserconf目录下,以每个虚拟用户的用户名为名称建立配置文件即可。

责任编辑:佟健 来源: csdn.net
相关推荐

2010-02-01 17:33:24

Python主线程

2010-07-01 13:35:51

vsftpd

2011-03-04 10:05:10

Vsftpd虚拟用户

2011-02-24 09:14:37

vsFTPd虚拟用户

2011-02-21 17:32:37

Vsftpd

2011-03-03 17:02:50

Vsftpd

2010-02-22 18:27:14

CentOS vsft

2011-03-04 14:47:58

Vsftpd虚拟用户

2009-08-06 15:03:11

行虚拟机Apache设

2010-02-05 13:44:36

Dalvik虚拟机

2010-07-13 15:23:10

vsftpd

2010-12-27 13:26:25

FreeBSDvsftpd虚拟用户

2011-07-25 10:48:34

服务器虚拟服务器

2010-01-14 17:44:17

CentOS vsft

2011-09-01 19:20:02

Ubuntu

2010-01-13 16:13:38

centos vsft

2011-03-04 15:18:47

Vsftpd

2009-12-01 14:38:28

路由器上网配置

2011-09-15 14:57:49

ubunturootuser用户

2010-01-13 13:57:09

CentOS vsft
点赞
收藏

51CTO技术栈公众号