1. 程式人生 > >MYSQL驗證vsftpd服務

MYSQL驗證vsftpd服務

服務 mysql bsp vsftp服務 sql user 根目錄 local md5

背景:前段時間,有客戶需要配置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服務