一、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 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


三、xshell使用xftp来传输文件

1.下载Xftp

同时按住crtl+alt+f,下载xftp服务

xshell使用xftp传输文件(xftp使用的也是ssh协议,监听的22端口)

同时按住crtl+alt+f ,xshell会跳出一个

FTP(介绍,使用vsftpd搭建ftp,xshell使用xftp来传输文件)_介绍

进入下载xftp,会出现一个页面,(按照页面填好的内容写)

FTP(介绍,使用vsftpd搭建ftp,xshell使用xftp来传输文件)_使用 _02

这时xshell会把下载地址发到你的邮箱内,在邮箱里点开链接即可。

下载并安装完成后,我们在打开xshell界面,同时按住crtl+alt+f,这时会弹出xftp的界面

FTP(介绍,使用vsftpd搭建ftp,xshell使用xftp来传输文件)_介绍_03

左边是我们的windows,右边是我们的linux。

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