网站建设知识
通过MySQL实现虚拟用户访问vsftpd服务器
2025-07-22 09:59  点击:1

配置

# 安装本次实验所用到的所有软件包yum -y install vsftpd mysql-server mysql-devel pam-devel gcc-c++ make wget# 启动mysqld服务service mysqld start# 初始化数据库管理员密码mysqladmin -uroot password redhat# 登录数据库mysql -uroot -predhat# 创建vftpuser数据库create database vftpuser;# 进入vftpuser数据库use vftpuser;# 创建表用于存储账号和密码create table users(name char(41),pwd char(41));# 创建测试用户insert into users(name,pwd) values('test',password('test'));# 安全起见,创建一个专门用于查询users表的用户grant select on vftpuser.users to vsqluser@localhost identified by 'redhat';# 刷新权限表flush privileges;# 离开数据库quit;# 下载基于MySQL认证的PAM模块并安装wget ncu.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gztar xzf pam_mysql-0.7RC1.tar.gzcd pam_mysql-0.7RC1./configuremake && make install# 修改/etc/pam.d/vsftpd文件,注释原来的内容,添加以下内容auth    required        /lib/security/pam_mysql.so user=vsqluser passwd=redhat host=localhost db=vftpuser table=users usercolumn=name passwdcolumn=pwd crypt=2account required        /lib/security/pam_mysql.so user=vsqluser passwd=redhat host=localhost db=vftpuser table=users usercolumn=name passwdcolumn=pwd crypt=2# 创建本地用户用于映射虚拟用户useradd -d /var/ftp/vuserdir -s /sbin/nologin vuser# 用以下内容替换/etc/vsftpd/vsftpd.conf文件原来的内容listen=YESpam_service_name=vsftpdguest_enable=YESguest_username=vuseranonymous_enable=NOanon_world_readable_only=NOlocal_enable=YES# 启动vsftpd服务service vsftpd start