說明:本實驗在兩台centos主機上實現,一台作為ftp伺服器,一台做mysql資料庫伺服器。
注意:須把selinux跟防火牆關閉。
1.在ftp伺服器安裝所需要的包組。
[root@anuuy ~]# yum install vsftpd
[root@anuuy ~]# yum groupinstall "development tools"
[root@anuuy ~]# yum install mariadb-devel
[root@anuuy ~]# yum install pam-devel #順序無所謂。
[root@anuuy ~]# yum install openssl-devel
[root@anuuy ~]# yum install mariadb
[root@anuuy ~]# systemctl start vsftpd #啟動服務
[root@anuuy ~]# systemcrl start mariadb #啟動資料庫服務
2.在ftp伺服器編譯pam_mysql 安裝包位址
[root@anuuy ~]# tar xvf pam_mysql-0.7rc1.tar.gz #yum安裝也可以,本機沒有所以編譯安裝的,yum可以安裝請忽略此步驟。
[root@anuuy ~]# cd pam_mysql-0.7rc1/ #進入解壓縮目錄執行以下操作
[root@anuuy ~]# ./configure --with-mysql=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security
[root@anuuy ~]# make && make install #安裝
3.在ftp伺服器,準備虛擬使用者對映的系統使用者
[root@anuuy ~]# mkdir upload #建立檔案
[root@anuuy ~]# chown ftpvuser upload #更改upload檔案的屬主為ftpvuser
4.在mysql 伺服器,準備使用者和資料表
[root@sunny ~]# yum install mariadb-server #安裝資料庫
[root@sunny ~]# systemctl start mariadb #啟動資料庫
[root@sunny ~]# mysql #進入資料庫
mariadb [(none)]> create database ftpdb; #建立名稱為ftpdb的資料庫
mariadb [(none)]> grant all on ftpdb.* to ftpuser@'172.18.19.%' identified by
'centos'; #授權
mariadb [(none)]> create table ftpvusers (id int unsigned auto_increment primary key,username char(30),password char(48)); #建立表
mariadb [(none)]> insert ftpvusers (username,password) values ('ftpuser1',password('centos')),('ftpuser2',password('centos')); #新增記錄
mariadb [ftpdb]> flush privileges; #重新整理策略
5.在ftp伺服器,建立pam配置檔案
[root@anuuy ~]# vim /etc/pam.d/ftp.mysql
auth required pam_mysql.so user=ftpuser passwd=centos host=192.168.25.108 db=ftpdb table=ftpvusers usercolumn=username passwdcolumn=password crypt=2
account required pam_mysql.so user=ftpuser passwd=centos host=192.168.25.108 db=ftpdb table=ftpvusers usercolumn=username passwdcolumn=password crypt=2
6.在ftp伺服器呼叫ftp.mysql檔案。
[root@anuuy ~]# vim /etc/vsftpd/vsftpd.conf
pam_service_name=ftp.mysql #更改為ftp.mysql
guest_enable=yes
#新增guest_username=ftpvuser #作業系統賬號對映成虛擬賬號
user_config_dir=/etc/vsftpd
/vusers.conf.d/
#指定虛擬使用者許可權配置檔案的所在的目錄
7.在ftp伺服器上建立虛擬使用者許可權配置檔案
[root@anuuy ~]# mkdir /etc/vsftpd/vusers.conf.d/
[root@anuuy ~]# vim /etc/vsftpd/vusers.conf.d/ftpuser1 #建立檔案
anon_upload_enable=yes
#寫入此**,**意思:開啟匿名上傳檔案
[root@anuuy ~]# vim /etc/vsftpd/vusers.conf.d/ftpuser2
anon_upload_enable=yes
#允許匿名使用者上傳檔案
FTP協議解析與實現(通過實驗講述FTP協議)
配置server 選擇edit setting,設定如下 增加登陸使用者和共享目錄,選擇edit user 登陸測試,在瀏覽器中輸入本機ip,可以看到共享目錄下的檔案。一 輸入ftp伺服器的ip和命令埠號,即21,進行tcp連線 二 登陸伺服器。ftp常用的命令見下文,注意傳送的命令都需要換行 三 ...
基於MFC實現的簡單FTP客戶端
在windows環境下,使用vc 開發工具實現乙個ftp客戶端軟體。在本次ftp的設計中主要使用wininet api程式設計,無需考慮基本的通訊協議和底層的資料傳輸工作,mfc提供的wininet類是對wininet api函式封裝而來的,它為使用者提供了更加方便的程式設計介面。而在該設計中,使用...
基於MFC實現的簡單FTP客戶端
在windows環境下,使用vc 開發工具實現乙個ftp客戶端軟體。在本次ftp的設計中主要使用wininet api程式設計,無需考慮基本的通訊協議和底層的資料傳輸工作,mfc提供的wininet類是對wininet api函式封裝而來的,它為使用者提供了更加方便的程式設計介面。而在該設計中,使用...