您好,登錄后才能下訂單哦!
整合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' ;
免責(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)容。