CentOS6 4下vsftpd使用MySQL驗證

2021-09-21 00:11:23 字數 3295 閱讀 9451

一.mysql的安裝與配置

1.使用yum方式安裝mysql

[root@vsftpd ~]# yum -y install mysql mysql-server mysql-devel

2.啟動mysql服務並修改mysql管理員密碼

[root@vsftpd ~]# service mysqld start   //啟動mysql伺服器

[root@vsftpd ~]# mysqladmin -u root password vsftpd  //修改mysql root的密碼為vsftpd

3.建立mysql為vsftpd驗證的資料庫與表

[root@vsftpd ~]# mysql -u root -p

enter password:    //此處輸入vsftpd為剛剛為mysql設定的管理員密碼

mysql> create database vsftpd;  //建立乙個vsftpd的資料庫

query ok, 1 row affected (0.00 sec)

mysql> use vsftpd;     //進入vsftpd資料庫

mysql> create table users ( id int not null auto_increment primary key, name char(15) not null unique key,password char(48) not null );

//建立乙個3個字段的users表,乙個id用於索引,name用於賬戶名,password使用者設定密碼

mysql> insert into users (name,password) values ('web',password('web'));

//新增乙個web賬戶,密碼為web,並加密儲存密碼,此賬戶是為了等下登入ftp伺服器用

4.建立乙個vsftpd的mysql賬戶用於檢索vsftpd資料庫

mysql> grant select on vsftpd.* to vsftpd@localhost identified by 'vsftpd';

//建立乙個只有select vsftpd資料庫下所有表的許可權的mysql賬戶並將密碼設為vsftpd

mysql> flush privileges;

//只為使許可權即時生效

二.安裝並配置pam模組

1.安裝依賴庫

[root@vsftpd ~]# yum -y install gcc gcc-c++ make pam pam-devel openssl openssl-devel

[root@vsftpd ~]# wget

[root@vsftpd ~]# tar zxvf pam_mysql-0.7rc1.tar.gz

[root@vsftpd ~]# cd pam_mysql-0.7rc1

[root@vsftpd pam_mysql-0.7rc1]# ./configure --with-openssl

[root@vsftpd pam_mysql-0.7rc1]# make

[root@vsftpd pam_mysql-0.7rc1]# make install

pam檔案預設安裝到/lib 目錄下,若系統為64位系統,需要將檔案複製乙份到/lib64 目錄下

[root@vsftpd ~]# cp /lib/security/pam_mysql.* /lib64/security/

3.建立認證檔案

[root@vsftpd ~]# vim /etc/pam.d/ftp.mysql

auth required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

account required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

注意:這裡是2行,不可以換行.另外還要注意裡面相應欄位的填寫。

特別說明下crypt選項

crypt=0:明文密碼

crypt=1:使用 crpyt()函式(對應 sql 資料裡的 encrypt(),encrypt()隨機產生 salt)

crypt=2:使用 mysql 中的 password()函式加密

crypt=3:表示使用 md5 的雜湊方式

三.vsftpd的安裝與設定

1.使用yum方式安裝vsftpd

[root@vsftpd ~]# yum -y install vsftpd

2.備份vsftpd的配置檔案

[root@vsftpd ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak

3.修改vsftpd.conf

將anonymous_enable選項改為anonymous_enable=no

將pam_service_name選項改為pam_service_name=ftp.mysql   //這裡更改為上面建立的認證檔名

並新增如下:

virtual_use_local_privs=yes

user_sub_token=$user

local_root=/var/ftp/$user

guest_enable=yes

guest_username=vsftpdguest

chroot_local_user=yes

user_config_dir=/etc/vsftpd/vsftpd_user_conf

4.建立乙個vsftpdguest賬戶

[root@vsftpd ~]# useradd -s /sbin/nologin -d /var/ftp vsftpdguest

5.在/etc/vsftpd/下面建立乙個vsftpd_user_conf目錄

[root@vsftpd ~]# mkdir /etc/vsftpd/vsftpd_user_conf

[root@vsftpd ~]# chown -r vsftpdguest:vsftpdguest /var/ftp

6.將mysql伺服器及vsftpd伺服器開機啟動

[root@vsftpd ~]# chkconfig  --level 35 mysqld on

[root@vsftpd ~]# chkconfig  --level 35 vsftpd on

在CentOS 6 4上安裝vsftpd

在網上搜尋了比較長的時間,找到的安裝vsftp的教程都不能正常的實現安裝,大多安裝後無法登陸,或者報550的錯誤。yum install vsftpd service vsftpd start chkconfig vsftpd on service iptables stop chkconfig i...

Centos 6 4下安裝Filezilla軟體

首選是安裝rpm,在centos下執行以下命令 注意 在此有兩條命令,其實輸入第一條即可,但是有的時候解析不了,所以只能通過ip位址進行解析安裝,如果第一條不能執行安裝,就選擇第二條。ping dl.fedoraproject.org 209.132.182.27 rpm ivh rpm ivh 安...

Centos6 4 下puppet yum源配置

1 將光碟配置為yum本地源 2 安裝製作yum倉庫的軟體包和yum priorities管理包 root python geek wget root python geek wget root python geek wget 4 製作puppet源 在使用createrepo 命令建立源時,提示...