vsftpd+pam+mysql

來源:互聯網
上載者:User

標籤:


一、安裝所需程式yum install vsftpd mysql-server mysql-devel pam_mysql二、建立虛擬使用者帳號1、準備資料庫及相關表首先請確保mysql服務已經正常啟動。而後,按需要建立儲存虛擬使用者的資料庫即可,這裡將其建立為vsftpd資料庫。mysql> create database vsftpd;
mysql> grant select on vsftpd.* to [email protected] identified by ‘www.magedu.com‘;        ==>需通過unix socket通訊mysql> grant select on vsftpd.* to [email protected] identified by ‘www.magedu.com‘;        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、添加測試的虛擬使用者根據需要添加所需要的使用者,需要說明的是,這裡將其密碼為了安全起見應該使用PASSWORD函數加密後儲存。mysql> insert into users(name,password) values(‘tom‘,password(‘magedu‘));
mysql> insert into users(name,password) values(‘jerry‘,password(‘magedu‘));3、配置vsftpd1、建立pam認證所需檔案# rpm -ql pam_mysql    ==>查看pam_mysql安裝產生的檔案
# less /usr/share/doc/pam_mysql-0.7/README    ==>pam_mysql協助文檔
# vim /etc/pam.d/vsftpd.mysql    ==>建立pam檔案並添加如下內容auth required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2account required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
注意:由於mysql的安裝方式不同,pam_mysql.so基於unix sock串連mysql伺服器時可能會出問題,此時,建議授權一個可遠端連線的mysql並訪問vsftpd資料庫的使用者。



2、修改vsftpds的設定檔,使其適應mysql認證建立虛擬使用者映射的系統使用者及對應目錄# useradd -s /sbin/nologin -d /var/ftproot vuser# chmod go+rx /var/ftproot
請確保/etc/vsftpd.conf中已經啟用了以下選項
anonymous_enable=YES    ==>允許匿名使用者存取local_enable=YES    ==>設定本機使用者可以訪問。注意:主要是為虛擬宿主使用者,如果該項目設定為NO那麼所有虛擬使用者將無法訪問write_enable=YES    ==>允許寫入anon_upload_enable=NO    ==>匿名使用者不能上傳anon_mkdir_write_enable=NO    ==>匿名使用者不能建立和寫入chroot_local_user=YES    ==>限制在使用者的家目錄
而後添加以下選項
guest_enable=YESguest_username=vuser ==>所有來賓賬戶映射成vusers
並確保pam_service_name選項的值如下所示pam_service_name=vsftpd.mysql4、啟用vsftpd# service vsftpd start# chkconfig vsftpd on查看連接埠開啟情況

如有問題可查看錯誤記錄檔# tail /var/log/secure
5、配置虛擬使用者的存取權限虛擬使用者對vsftpd服務的存取權限是通過匿名使用者的相關指令進行的。比如,如果需要讓tom使用者具有上傳檔案的許可權,可以修改/etc/vsftpd/vusers_config/tom檔案,在裡面添加如下選項即可。1、配置vsftpd為虛擬使用者使用設定檔目錄# vim vsftpd.conf
添加如下選項user_config_dir=/etc/vsftpd/vusers_config 
2、建立所需要目錄,並為虛擬使用者提供設定檔
# mkdir /etc/vsftpd/vusers_config/
# cd /etc/vsftpd/vusers_config/# touch tom jerry
3、配置虛擬使用者的存取權限虛擬使用者對vsftpd服務的存取權限是通過匿名使用者的相關指令進行的。比如,如果需要讓tom使用者具有上傳檔案的許可權,可以修改/etc/vsftpd/vusers_config/tom檔案,在裡面添加如下選項即可。(可通過man vsftp.conf擷取更多許可權)
anon_upload_enable={YES|NO}    ==>上傳和建立許可權anon_mkdir_write_enable={YES|NO}    ==>匿名使用者建立目錄anon_other_write_enable={YES|NO}    ==>允許刪除和重新命名local_root=/opt/vsftp/virtuser    ==>指定虛擬使用者的具體主路徑。anonymous_enable=NO    ==>設定不允許匿名使用者存取。write_enable=YES    ==>設定允許寫操作。local_umask=022    ==>設定上傳檔案許可權掩碼。idle_session_timeout=600    ==>設定空閑連線逾時時間。data_connection_timeout=120    ==>設定單次連續傳輸最大時間。max_clients=10    ==>設定並發用戶端訪問個數。max_per_ip=5    ==>設定單個用戶端的最大線程數,這個配置主要來照顧Flashget、迅雷等多線程下載軟體local_max_rate=50000    ==>設定該使用者的最大傳輸速率,單位b/s

vsftpd+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.