天天看点

vsftpd服务器虚拟用户,如何进行vsftpd的虚拟用户建立

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

1、使用本地数据文件:

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

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

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

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

生成虚拟用户数据库。

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

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

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

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

authrequired  /lib/security/pam_userdb.sodb=/etc/vsftpd/vusersaccount required

/lib/security/pam_userdb.sodb=/etc/vsftpd/vusers

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

guest_enable=YESguest_username=vuser

2、使用MySQL数据文件:

创建本地映射用户。

useradd -s /sbin/nologin vuser

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

guest_enable=YESguest_username=vuser

安装MySQL及相关软件包。

yum -y install mysql.i*yum-y install perl-DBD-MySQL.i*yum

-y install mysql-server.i*yum -y install mysql-devel.i*

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

[[email protected] ]

# mysql -u root mysql -pmysql>create database ftpvuser;

#建立用户数据库

mysql>use ftpvuser;

#打开数据库

mysql>create table users(name char(16) binary,passwd char(16) binary);

#建立存取用户信息表

#插入二个用户及口令

mysql>insert into users (name,passwd) values ('tonyzhang',password('111'));

mysql>insert into users (name,passwd) values ('tomqin',password('111'));

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

[[email protected] ]

#mysql -u root mysql -p mysql>grant select on ftpvuser.users to [email protected] identified by '123';

mysql>quit

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

vsftpd服务器虚拟用户,如何进行vsftpd的虚拟用户建立

编译MySQL的PAM认证模块。

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

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

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

./configuremakemake install

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

vsftpd服务器虚拟用户,如何进行vsftpd的虚拟用户建立

修改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

user_config_dir=/etc/vsftpd/vuserconf

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

【责任编辑:佟媛微 TEL:(010)68476606】

点赞 0