1. 程式人生 > >FTP(介紹,使用vsftpd搭建ftp,xshell使用xftp來傳輸文件)

FTP(介紹,使用vsftpd搭建ftp,xshell使用xftp來傳輸文件)

主目錄 shell使用 xshell使用 控制文件 遠程 級別 ask initial 全局配置

一、FTP介紹

另外一種文件共享和傳輸的工具

  • FTP服務File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet控制文件的雙向傳輸。它同時也是一個應用程序,用戶可以通過它把自己PC機與世界各地所有運行FTP協議的服務器相連,已訪問服務器上的大量程序和信息。

  • FTP的主要作用是讓用戶連接一個遠程計算機(這些計算機上運行著FTP服務器程序),並查看遠程計算機中的文件,把文件從遠程計算機復制到本地計算機,或者把本地的文件傳送到遠程計算機上。

  • FTP方便傳輸數據,所以個人用戶很多,但是在企業裏所用的越來越少,因為FTP是有一定安全隱患的,不安全。

  • 大企業用的基本都是自動化發布工具,會用GIT企業發布的版本上傳到服務器,


二、使用vsftpd搭建ftp

Centos或者Redhat上有自帶的FTP軟件vsftp,默認並沒有安裝,需要用yum安裝,安裝後不用配置,啟動後便可以。

  1. 安裝vsftpd

[root@fuwuduan ~]# yum install vsftpd -y


2.建立賬號

vsftp默認支持系統賬號體系登錄,但那樣不安全,我們可以使用虛擬賬號體系。

(一)建立與虛擬賬號相關聯的系統賬號

[root@fuwuduan ~]# useradd -s /sbin/nologin virftp

(二)建立與虛擬賬號相關的文件。

[root@fuwuduan ~]# vim /etc/vsftpd/vsftpd_login (虛擬用戶的密碼文件,此文件奇數行是用戶名,偶數行是用戶密碼)

lllty

westos123

rrrxr

westos321

(三)更改文件的權限,提升安全級別

[root@fuwuduan ~]# chmod 600 /etc/vsftpd/vsftpd_login

(四)vsfptd使用的密碼文件不是明文的,需要生成對應的庫文件。

[root@fuwuduan ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

[root@fuwuduan ~]# ll /etc/vsftpd/vsftpd_login.db

-rw-r--r--. 1 root root 12288 12月 25 15:14 /etc/vsftpd/vsftpd_login.db

(五)創建虛擬用戶配置文件所在目錄

[root@fuwuduan ~]# mkdir /etc/vsftpd/vsftpd_user_conf

[root@fuwuduan ~]# cd /etc/vsftpd/vsftpd_user_conf


3.創建和用戶對應的配置文件

(一)用戶的配置文件時單獨存在的,每一個用戶都有一個自己的配置文件,文件名和用戶名一致:

[root@fuwuduan vsftpd_user_conf]# vim lllty

local_root=/home/virftp/lllty #虛擬用戶的家目錄

anonymous_enable=NO #是否允許匿名用戶登錄

write_enable=YES #是否可寫

local_umask=022 #指定umask值,創建新文件/目錄的權限是什麽

anon_upload_enable=NO #是否允許匿名用戶可上傳

anon_mkdir_write_enable=NO #是否允許匿名用戶可寫

idle_session_timeout=600 #超過600秒需要重新登錄

data_connection_timeout=120 #數據傳輸的超時時間

max_clients=10 #最大的鏈接客戶多少

(二)創建虛擬用戶的家目錄

[root@fuwuduan vsftpd_user_conf]# mkdir /home/virftp/lllty

[root@fuwuduan vsftpd_user_conf]# touch /home/virftp/lllty/lty.txt

[root@fuwuduan vsftpd_user_conf]# chown -R virftp:virftp /home/virftp/


[root@fuwuduan vsftpd_user_conf]# vim /etc/pam.d/vsftpd (//在最開始添加2行)

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


4.修改全局配置文件

修改用戶的配置文件後還不可用,要修改vsftpd的一些全局配置文件。

首先編輯vsftpd.conf文件。

anonymous_enable=YES (YSE更改為NO) #不允許匿名用戶

anon_upload_enable=YES (去掉#,YES改為NO) #不允許上傳

anon_mkdir_write_enable=YES (去掉#,YES改為NO) #不允許創建目錄

在最後添加幾行:

chroot_local_user=YES (將所有用戶都限制在主目錄)

guest_enable=YES (打開虛擬用戶映射系統用戶)

guest_username=virftp (映射到那個系統用戶)

virtual_use_local_privs=YES (告訴服務我們使用的虛擬用戶)

user_config_dir=/etc/vsftpd/vsftpd_user_conf (虛擬配置文件所在路徑)

allow_writeable_chroot=YES (登錄以後默認在其家目錄中)


5.啟動服務,查看進程和監聽的端口 (默認監聽21端口)

[root@fuwuduan vsftpd_user_conf]# ps ax |grep vsftp

6579 ? Ss 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

6581 pts/1 S+ 0:00 grep --color=auto vsftp

[root@fuwuduan vsftpd_user_conf]# netstat -lntp

Active Internet connections (only servers)

tcp6 0 0 :::21 :::* LISTEN 6579/vsftpd

6.測試FTP服務

下載一個lftp

[root@fuwuduan vsftpd_user_conf]# yum install -y lftp

用lftp登錄lllty

[root@fuwuduan vsftpd_user_conf]# lftp [email protected]

口令:

lftp [email protected]:~> ls

-rw-r--r-- 1 1002 1002 0 Dec 25 07:24 lty.txt

lftp [email protected]:/> get lty.txt

lftp [email protected]:/> quit

[root@fuwuduan vsftpd_user_conf]# ls

lllty lty.txt


三、xshell使用xftp來傳輸文件

1.下載Xftp

同時按住crtl+alt+f,下載xftp服務

xshell使用xftp傳輸文件(xftp使用的也是ssh協議,監聽的22端口)

同時按住crtl+alt+f ,xshell會跳出一個

技術分享圖片

進入下載xftp,會出現一個頁面,(按照頁面填好的內容寫)

技術分享圖片

這時xshell會把下載地址發到你的郵箱內,在郵箱裏點開鏈接即可。

下載並安裝完成後,我們在打開xshell界面,同時按住crtl+alt+f,這時會彈出xftp的界面

技術分享圖片

左邊是我們的windows,右邊是我們的linux。

想從Linux把文件拉倒windows或者windows拉倒linux。只需要把文件拉倒對方即可。



FTP(介紹,使用vsftpd搭建ftp,xshell使用xftp來傳輸文件)