MYSQL验证vsftpd服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL验证vsftpd服务相关的知识,希望对你有一定的参考价值。
背景:前段时间,有客户需要配置vsftp,并使用mysql里的用户验证登录(老系统数据库已迁移到阿里云RDS)
资源:一台centos6.8 ECS,一台关系型数据库RDS
步骤:
1、安装配置vsftp
yum install vsftpd -y
新建用户,用于登录vsftp
useradd -d /cloud/pub -s /sbin/nologin pub
设置ftp根目录的所有者为pub
chown pub:pub -R /cloud/pub
修改vsftpd.conf文件
listen=YES listen_port=21 pam_service_name=vsftpd ftpd_banner=Welcome to FTP server guest_enable=YES guest_username=pub pasv_min_port=30000 pasv_max_port=30999 connect_from_port_20=YES idle_session_timeout=600 data_connection_timeout=120 max_clients=0 max_per_ip=10 local_max_rate=512000 use_localtime=YES anonymous_enable=NO local_enable=YES chroot_local_user=YES anon_world_readable_only=NO write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES virtual_use_local_privs=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES tcp_wrappers=YES
2、安装配置pam_mysql (由于本次直接使用RDS数据,因此无需安装mysql-server、mysql-devel等)
yum install pam-devel pam_mysql -y
查看pam_mysql模块文件是否存在
ls /lib/security/pam_mysql.so ls /lib64/security/pam_mysql.so
修改vsftpd的默认pam配置文件
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak vim /etc/pam.d/vsftpd 注意:文件中的密码不能有特殊字符,不支持转义 auth required /lib/security/pam_mysql.so user=用户名 passwd=密码 host=数据库地址 db=数据库名 table=表名 usercolumn=用户字段 passwdcolumn=密码字段 crypt=0 account required /lib/security/pam_mysql.so user=用户名 passwd=密码 host=数据库地址 db=数据库名 table=表名 usercolumn=用户字段 passwdcolumn=密码字段 crypt=0
crypt=0:表示口令使用明文方式保存在数据库中
crypt=1:表示口令使用UNIX的DES加密方式加密后保存在数据库中
crypt=2:表示口令使用MySQL的password()函数加密后保存在数据库中
crypt=3:表示口令使用MD5散列值的方式保存在数据库中
4、注入测试数据
RDS控制台新建数据库、新建用户名和密码
登录数据库,新建表,注入测试数据
CREATE TABLE `c_config_ftp` ( `id` int(6) NOT NULL , `username` varchar(30) NOT NULL, `password` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) INSERT INTO `c_config_ftp` (`username`, `password`) VALUES ( test1, ‘123456‘);
5、启动vsftp服务
service vsftpd start
以上是关于MYSQL验证vsftpd服务的主要内容,如果未能解决你的问题,请参考以下文章