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。只须要把文件拉倒对方便可。