vsftp pam mysql

來源:互聯網
上載者:User

標籤:vsftp   pam_mysql   

一、安裝所需要程式

  1. 事先安裝好開發環境和mysql資料庫

    #yum -y install mysql-server mysql-devel

    #yum -y install groupinstall "Development Tools" "Development Libraries"

  2. 安裝pam_mysql-0.7RC1

    #tar zxvf pam_mysql-0.7RC1.tar.gz

    #cd pam_mysql-0.7RC1

    #./configure --with-mysql=/usr --with-openssl

    #make

    #make install

  3. 安裝vsftp

    #yum -y install vsftpd

二、建立虛擬使用者帳號

  1. 準備資料庫及相關表

    首先,確保mysql服務已經正常啟動。而後,按需要建儲存虛擬使用者的資料庫即可,這裡將其建立為vsftpd資料庫

    mysql>create databases vsftpd;

    mysql>grant select on vsftpd.* to [email protected] identified by ‘密碼‘;

    mysql>grant select on vsftpd.* to [email protected] identified by ‘密碼‘;

    mysql>flush privileges;


    mysql>use vsftpd;

    mysql>create table users(id int AUTO_INCREMENT NOT NULL,

                   ->name char(20) binary NOT NULL,

                   ->password char(48) binary NOT NULL,

                   ->primary key(id));

2.添加測試的虛擬使用者

根據需要添加所需要的使用者,需要說明的是,這裡將密碼採用明文格式儲存,原因是pam_mysql的password()函數與Mysql的password()函數可能會有所不同。

  mysql>insert into users(name,password) values(‘tom‘,‘passwd1‘);

  mysql>insert into users(name,password) values(‘jerry‘,‘passwd2‘);

三、配置vsftpd

1.建立pam認證所需檔案

#vi /etc/pam.d/vsftpd.mysql

添加如下兩行

auth required /lib/security/pam_mysql.so user=vsftpd passwd=密碼 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0

account required /lib/security/pam_mysql.so user=vsftpd passwd=密碼 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0

2.修改vsftpd的設定檔,使其適應mysql認證

建立虛擬使用者映射的系統使用者及對應的目錄

#useradd -s /sbin/nologin -d /var/ftproot vuser

#chmod go+rx /var/ftproot


請確保/etc/vsftpd.conf中已經啟用了以下選項

anonymous_enable=YES

local_enable=YES

write_enable=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

chroot_local_user=YES

而後添加以下選項

guest_enable=YES

guest_username=vuser


並確保pam_service_name選項的值如下所示

pam_service_name=vsftpd.mysql

四、啟動vsftpd服務

# service vsftpd start

# chkconfig vsftpd on

查看連接埠開啟情況

# netstat -tnlp |grep :21

tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      23286/vsftpd 

使用虛擬使用者登入,驗正配置結果,以下為原生命令方式測試,你也可以在其它Win Box上用IE或者FTP用戶端工具登入驗正

# ftp localhost

五、配置虛擬使用者具有不同的存取權限

vsftpd可以在設定檔目錄中為每個使用者提供單獨的設定檔以定義其ftp服務存取權限,每個虛擬使用者的設定檔名同虛擬使用者的使用者名稱。設定檔目錄可以是任意未使用目錄,只需要在vsftpd.conf指定其路徑及名稱即可。

1、配置vsftpd為虛擬使用者使用設定檔目錄

# vim vsftpd.conf

添加如下選項

user_config_dir=/etc/vsftpd/vusers_dir 

2、建立所需要目錄,並為虛擬使用者提供設定檔

# mkdir /etc/vsftpd/vusers_dir/

# cd /etc/vsftpd/vusers_dir/

# touch tom jerry

3、配置虛擬使用者的存取權限

虛擬使用者對vsftpd服務的存取權限是通過匿名使用者的相關指令進行的。比如,如果需要讓tom使用者具有上傳檔案的許可權,可以修改/etc/vsftpd/vusers/tom檔案,在裡面添加如下選項即可。

anon_upload_enable=YES



vsftp pam mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.