FTP+MySQL虛擬使用者

來源:互聯網
上載者:User

標籤:mysql   ftp伺服器   資料庫   database   create   

虛擬使用者:

    所謂虛擬使用者,就是所有的虛擬使用者會被統一映射為一個指定的系統帳號,訪問的共用位置即為此系統帳號的家目錄。管理起來極為方便

 

實驗題目:FTP+MySQL

實驗目的:虛擬使用者存放在mysql表中,通過遠端方式實現對虛擬使用者的管理控制

實驗拓撲:

        650) this.width=650;" title="@Y$ZN969`6NZ6OTUQS(9}QE.jpg " alt="wKiom1QLLeawGIoxAACuEzbY9Ik095.jpg" src="http://s3.51cto.com/wyfs02/M02/48/BB/wKiom1QLLeawGIoxAACuEzbY9Ik095.jpg" />

    說明:這兩台伺服器可以合成一個,這裡分成兩個是為了實現讓ftp如何通過網路和mysql實現管理控制,同時這樣可以看得更直觀。

    

    1.安裝mysql(192.168.0.3)

    可以用yum安裝,也可以編譯安裝,前面已經介紹過mysql的安裝,這裡不再進行示範

 

    安裝ftp伺服器和pam_mysql,這個包需要在網上下載(192.168.0.2)

#yum install vsftpd pam_mysql

    

    2.準備資料庫及相關表

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

mysql> create database vsftpd; mysql> grant select on vsftpd.* to [email protected]‘192.168.%.%‘ identified by ‘www.ky.com‘;mysql> flush privileges;

 

    測試一下在ftp伺服器上是否能串連到mysql資料庫,可以串連。這個是在192.168.0.2上測試的

        650) this.width=650;" title="20~@3CAJWB~HCHT((FVVL}V.jpg" alt="wKioL1QLLy7T4MXwAAGBfl3gXAI779.jpg" src="http://s3.51cto.com/wyfs02/M01/48/BD/wKioL1QLLy7T4MXwAAGBfl3gXAI779.jpg" />

 

    3.建立表結構,添加資料(虛擬使用者的帳號和密碼)

    根據需要添加所需要的使用者,需要說明的是,這裡將其密碼為了安全起見應該使用PASSWORD函數加密後儲存。

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)    -> );     mysql> insert into users(name,password) values(‘vstom‘,password(‘www.ky.com‘));mysql> insert into users(name,password) values(‘vsjerry‘,password(‘www.ky.com‘));

        650) this.width=650;" title="UPB)NWITZSQX(JR[OC5Y${N.jpg" alt="wKioL1QLMLrxwtQrAADayfoMfZI136.jpg" src="http://s3.51cto.com/wyfs02/M00/48/BD/wKioL1QLMLrxwtQrAADayfoMfZI136.jpg" />

 

    4.配置vsftpd

    建立pam認證所需檔案

    查看pam_mysql.so放在哪個位置

        650) this.width=650;" title="H3Y~PGJ$R`2[E3[2AK8CHVF.jpg " alt="wKiom1QLMSfik7VsAAFLP72JTUw527.jpg" src="http://s3.51cto.com/wyfs02/M00/48/BB/wKiom1QLMSfik7VsAAFLP72JTUw527.jpg" />

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

    添加如下兩行

        650) this.width=650;" title="V@Z~~(UVSMC018Y`PNI]I7Y.jpg " alt="wKioL1QLMYbTWUsYAAD2QnW5JyQ447.jpg" src="http://s3.51cto.com/wyfs02/M01/48/BD/wKioL1QLMYbTWUsYAAD2QnW5JyQ447.jpg" />

    詳解:

        user:遠端連線mysql的使用者名稱

        password:遠端連線mysql的密碼

        host:遠端連線mysql的伺服器位址

        db:串連的資料庫名

        table:串連資料庫中的表名

        usercolumn:表中的欄位名

        passwdcolumn:表中密碼欄位的名稱

        crypt:該方法加密的密碼

            0:沒有加密。密碼儲存在純文字

            1:使用crypt(3)功能

            2:使用mysql密碼

            3:使用md5加密

            4:使用sha加密

 

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

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

# useradd -s /bin/nologin -d /var/vftp kyfish# chmod go+rx /var/vftp

    

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

anonymous_enable=YESlocal_enable=YESwrite_enable=YESanon_upload_enable=NOanon_mkdir_write_enable=NOchroot_local_user=YES

 

    而後添加以下選項

guest_enable=YESguest_username=kyfish   把來賓的使用者都映射為kyfish使用者

 

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

pam_service_name=vsftpd.mysql

 

    用windows測試

        650) this.width=650;" title="A`7TFI`1_X6}~(UFS6H2A2V.jpg " alt="wKiom1QLNJ-SydnrAAB-mGo93og271.jpg" src="http://s3.51cto.com/wyfs02/M02/48/BB/wKiom1QLNJ-SydnrAAB-mGo93og271.jpg" />

 

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

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

 

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

# vim vsftpd.conf

    添加如下選項

user_config_dir=/etc/vsftpd/vusers

 

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

# mkdir /etc/vsftpd/vusers# cd /etc/vsftpd/vusers# touch vstom vsjerry

 

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

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

local_root=/var/vftp/vstom  指定虛擬使用者自己的家目錄write_enable=YESanon_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=NO

    這樣FTP+MySQL的實驗就成功了。

本文出自 “魚兒” 部落格,請務必保留此出處http://kyfish.blog.51cto.com/1570421/1549716

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