MYSQL驗證vsftpd服務
阿新 • • 發佈:2017-12-03
服務 mysql bsp vsftp服務 sql user 根目錄 local md5 (由於本次直接使用RDS數據,因此無需安裝mysql-server、mysql-devel等)
背景:前段時間,有客戶需要配置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
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服務