FTP:介紹、vsftpd搭建ftp、xshell使用xftp傳輸文件、pure-ftpd搭ftp

             FTP介紹

blob.png

(rz和sz: 傳文件

   rz:window-->linux

   sz:linux-->window  文件超過4GB則不管用


                      使用vsftpd搭建ftp服務


1.安裝:yum install -y vsftpd

2.創建用戶:

vsftpd默認支持是可以使用系統賬號登錄的,但是這樣不安全,因爲我們系統的用戶是可以登錄,然後去操作我們的操作系統的。所以使用虛擬賬號體系,創建虛擬用戶,虛擬用戶是不能登陸到我們的系統的!!


創建一個普通用戶,作用是作爲虛擬用戶的一個映射,能讓其登錄使用FTP

useradd -s /sbin/nologin virftp  (-s指定用戶的shell,shell爲/sbin/nologin這樣這個用戶不能登陸系統)

3.編輯虛擬用戶的密碼文件:(新文件)

 vim /etc/vsftpd/vsftpd_login //內容如下,奇數行爲用戶名,偶數行爲密碼,多個用戶就寫多行

blob.png

修改完做權限設置:

chmod 600 /etc/vsftpd/vsftpd_login


4.將文本的密碼文件裝換成二進制的密碼文件(生成對應的庫文件)

(db_load -T -t hash -f)

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

blob.png


5.創建虛擬用戶的目錄和配置文件:

(1)創建虛擬用戶的目錄

mkdir /etc/vsftpd/vsftpd_user_conf 


(2)進入到虛擬用戶的目錄:

cd /etc/vsftpd/vsftpd_user_conf


(3)創建虛擬用戶的配置文件(文件名應該與我們設定的虛擬用戶名一致)

blob.png

  vim testuser1   //配置文件testuser1加入如下內容

    local_root=/home/virftp/testuser1   //爲虛擬用戶testuser1的家目錄(讀取文件所在處)

    anonymous_enable=NO  //  是否允許匿名用戶

    write_enable=YES    //是否可行

    local_umask=022    //umask的值

    anon_upload_enable=NO  //是否允許匿名用戶上傳文件

    anon_mkdir_write_enable=NO  //是否允許匿名用戶可寫、創建用戶

    idle_session_timeout=600      //連接空閒超時時間,超時就重新登錄

    data_connection_timeout=120 //傳輸文件超時時間

    max_clients=10    //最大客戶端數

    
blob.png


6.創建虛擬用戶testuser1的家目錄:

 mkdir /home/virftp/testuser1


創建一個文件(測試可以看到)

 touch /home/virftp/testuser1/cansheng.txt


7.修改/home/virftp/的主和組:

chown -R virftp:virftp /home/virftp


8.修改認證的文件/etc/pam.d/vsftpd:

vim /etc/pam.d/vsftpd     添加下列內容

//在最前面加上

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login   

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

(密碼文件,centos7爲64位系統,所以庫文件路徑爲/lib64/security/pam_userdb.so,32位系統爲:/lib/security/pam_userdb.so 這個文件一定要存在且寫對,不然虛擬用戶登錄ftp服務時會認證失敗

blob.png


9.修改全局配置文件/etc/vsftpd/vsftpd.conf

blob.png

 再增加如下內容

chroot_local_user=YES

guest_enable=YES               //是否允許虛擬用戶映射

guest_username=virftp                //這個就是虛擬用戶映射到的系統用戶virftp

virtual_use_local_privs=YES             //

user_config_dir=/etc/vsftpd/vsftpd_user_conf  //創建的虛擬用戶的目錄

allow_writeable_chroot=YES



10.啓動服務:

 systemctl start vsftpd

blob.png


測試:

blob.png

(1)可以在window下安裝一個客戶端軟件:filezilla client

 (2)在linux下測試,下載lftp :yum install -y lftp


使用lftp:

lftp [email protected]  虛擬用戶登錄

blob.png


在用虛擬用戶登錄了一個ftp。

1.下載命令,get

get cansheng.txt (把虛擬用戶下的文件cansheng.txt下載到服務器當前目錄下)


blob.png


2.上傳命令:put



window下測試,下載filezilla client,登錄後也是進行拖拉就行。

blob.png


在xshell上實現同樣的功能,上傳、下載:

blob.png

鏈接後登錄

blob.png


使用下載命令後,

get cansheng.txt

保存路徑爲在C:\Users\kenson\Documents\NetSarang\Xshell\Sessions\

xshell時的安裝路徑

blob.png



           xshell使用xftp傳輸文件

    下載一個xftp更實用:

http://www.netsarang.com/download/down_form.html?code=523 

下載安裝完:在xshell中按 Ctrl+Alt+F,會出現以下xftp

blob.png


在這個軟件中我們進行拖拉就可以上傳和下載,相當簡單。

(前提是使用xshell登錄了機器,然後按 Ctrl+Alt+F




                            使用pure-ftpd搭建ftp服務

這個pure-ftpd比vsftpd更簡單更輕量


blob.png


1.下載:

(1)先下載擴展源: yum install -y epel-release

(2)再下載pure-ftpd: yum install -y pure-ftpd


2.修改配置文件:

 vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb這行,把行首的#刪除

blob.png


3.開啓服務:

 systemctl stop vsftpd    (先把vsftpd服務停止,因爲pure-ftpd也是監聽21端口,避免端口衝突

 systemctl start pure-ftpd  (開啓pure-ftpd服務

blob.png




4.創建一個系統用戶

 useradd -u 1010 pure-ftp (uid可自定)

5.創建測試目錄

 mkdir /data/ftp


修改目錄的屬主和組:

 chown -R pure-ftp:pure-ftp /data/ftp



6.創建一個虛擬用戶

pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp


blob.png

(同時設定用戶密碼)


pure-pw help  //查看pure-pw的用法


7. pure-pw mkdb  執行這個命令

(不執行是無法登錄的)



測試:

在虛擬用戶的家目錄創建一個測試文件:

touch /data/ftp/123.txt

chown pure-ftp:pure-ftp /data/ftp/123.txt

blob.png


列出當前虛擬用戶:pure-pw list

blob.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章