1、FTP介紹linux
另一種文件共享和傳輸的工具shell
FTP服務File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet控制文件的雙向傳輸。它同時也是一個應用程序,用戶能夠經過它把本身PC機與世界各地全部運行FTP協議的服務器相連,已訪問服務器上的大量程序和信息。vim
FTP的主要做用是讓用戶鏈接一個遠程計算機(這些計算機上運行着FTP服務器程序),並查看遠程計算機中的文件,把文件從遠程計算機複製到本地計算機,或者把本地的文件傳送到遠程計算機上。windows
FTP方便傳輸數據,因此我的用戶不少,可是在企業裏所用的愈來愈少,由於FTP是有必定安全隱患的,不安全。centos
大企業用的基本都是自動化發佈工具,會用GIT企業發佈的版本上傳到服務器,安全
2、使用vsftpd搭建ftp
服務器
Centos或者Redhat上有自帶的FTP軟件vsftp,默認並無安裝,須要用yum安裝,安裝後不用配置,啓動後即可以。session
安裝vsftpdssh
[root@fuwuduan ~]# yum install vsftpd -ytcp
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 lllty@127.0.0.1
口令:
lftp lllty@127.0.0.1:~> ls
-rw-r--r-- 1 1002 1002 0 Dec 25 07:24 lty.txt
lftp lllty@127.0.0.1:/> get lty.txt
lftp lllty@127.0.0.1:/> quit
[root@fuwuduan vsftpd_user_conf]# ls
lllty lty.txt
3、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。只須要把文件拉倒對方便可。