1. 程式人生 > >FTP:介紹、vsftpd搭建ftp、xshell使用xftp傳輸文件、pure-ftpd搭ftp

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

ftp服務搭建

FTP介紹

技術分享圖片

(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 //內容如下,奇數行為用戶名,偶數行為密碼,多個用戶就寫多行

技術分享圖片

修改完做權限設置:

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

技術分享圖片


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

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

mkdir /etc/vsftpd/vsftpd_user_conf


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

cd /etc/vsftpd/vsftpd_user_conf


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

技術分享圖片

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 //最大客戶端數


技術分享圖片


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服務時會認證失敗

技術分享圖片


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

技術分享圖片

再增加如下內容

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

技術分享圖片


測試:

技術分享圖片

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

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


使用lftp:

lftp [email protected] 虛擬用戶登錄

技術分享圖片


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

1.下載命令,get

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


技術分享圖片


2.上傳命令:put



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

技術分享圖片


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

技術分享圖片

鏈接後登錄

技術分享圖片


使用下載命令後,

get cansheng.txt

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

xshell時的安裝路徑

技術分享圖片



xshell使用xftp傳輸文件

下載一個xftp更實用:

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

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

技術分享圖片


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

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




使用pure-ftpd搭建ftp服務

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


技術分享圖片


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這行,把行首的#刪除

技術分享圖片


3.開啟服務:

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

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

技術分享圖片




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


技術分享圖片

(同時設定用戶密碼)


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


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

(不執行是無法登錄的)



測試:

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

touch /data/ftp/123.txt

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

技術分享圖片


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

技術分享圖片


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