溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

整合vsftp+pam+mysql—集中管理ftp的虛擬帳號

發(fā)布時間:2020-07-04 12:10:21 來源:網(wǎng)絡(luò) 閱讀:387 作者:zhuifeng19 欄目:MySQL數(shù)據(jù)庫

整合vsftp+pam+mysql—集中管理ftp的虛擬帳號

首先簡單介紹下基本原理:

vsftp的用戶有三種類型,分別是匿名用戶、系統(tǒng)用戶、虛擬用戶

某種意義上來說,匿名用戶也是系統(tǒng)用戶,只系統(tǒng)用戶的一個映射。而公開的ftp(比如虛擬主機),都不會使用系統(tǒng)用戶作為ftp的帳號,而更多的采用了虛擬用戶,這樣能保證系統(tǒng)的安全性

使用虛擬帳號,也就需要一個存放虛擬帳號的容器,可以是一個文本列表,也可以是活動目錄,而更多的是使用數(shù)據(jù)庫來存放

在vsftp中,無論系統(tǒng)用戶還是虛擬用戶,都是使用pam作為用戶驗證手段的,而在pam中默認(rèn)是不支持mysql模塊的,所以要手動編譯安裝mysql模塊

整體思路是這樣的:

以pam為用戶認(rèn)證的中間層調(diào)用和驗證mysql中的虛擬用戶數(shù)據(jù)。在vsftp中開啟虛擬用戶認(rèn)證,認(rèn)證方法調(diào)用pam中的mysql認(rèn)證和授權(quán)模塊,將虛擬用戶存放于mysql中。

step1:

首先安裝vsftp和mysql

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

在PAM中默認(rèn)是沒有mysql認(rèn)證模塊的,所以要下載源碼自己手動安裝

[root@localhost ~]# tar -xf pam_mysql-0.7RC1.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/pam_mysql-0.7RC1

[root@localhost pam_mysql-0.7RC1]# ./configure --with-mysql=/usr/bin/mysql_config

[root@localhost pam_mysql-0.7RC1]# make && make install

 

step2:

安裝好后啟動mysql

[root@localhost ~]# service mysqld start

[root@localhost ~]# mysql -uroot -p

首先先創(chuàng)建vsftp的數(shù)據(jù)庫

mysql> CREATE DATABASE vsftpd;

然后創(chuàng)建一個用戶表


mysql> use vsftpd

mysql> create table users (

-> id int AUTO_INCREMENT NOT NULL,

-> name char(20) NOT NULL UNIQUE KEY,

-> passwd char(48) NOT NULL,

-> primary key(id)

-> );


添加vsftpd的數(shù)據(jù)庫帳號


mysql> insert into users(name,passwd) values('lustlost',password('123456')); \

然后創(chuàng)建vsftpd的數(shù)據(jù)庫賬戶,為了安全,只授予查詢權(quán)限

mysql> GRANT select on vsftpd.* to vsftpd@localhost identified by '123456'

mysql> GRANT select on vsftpd.* to vsftpd@127.0.0.1 identified by '123456' ;


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI