ftp及vsftp配置并传输文件

ftp介绍

  • 文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。 FTP 基于TCP协议生成一个虚拟的连接,用户可以通过客户端向FTP服务器端上传、下载、删除文件,FTP服务器端可以同时提供给多人共享使用。

  • FTP服务是Client/Server(简称C/S)模式,基于FTP协议实现FTP文件对外共享及传输的软件称之为FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传、下载文件。

 FTP Server
作用:提供文件共享服务,实现上传下载
端口:
21号,建立tcp连接  默认端口
20号:传输数据

ftp主动模式

ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输

21端口建立连接
20端口传输数据

ftp被动模式

ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据

vsftp服务器介绍

  • 非常安全的FTP服务进程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux发行版中最主流的FTP服务器程序,优点小巧轻快,安全易用、稳定高效、满足企业跨部门、多用户的使用(1000用户)等。

vsftp配置

准备两台机器一台服务端,一台客户端

都需要关闭防火墙和selinx

服务端:192.168.126.141

客户端:192.168.126.142

服务端server

下载并开启vsftp服务

[root@server ~]# yum -y install vsftpd
[root@server ~]# systemctl start vsftpd

编写测试文件

FTP共享目录是 /var/ftp/pub/

[root@server ~]# vim /var/ftp/pub/txt1
            hello xx

修改共享目录的属组与所属组

[root@server ~]# vim /var/ftp/pub/txt1
[root@server ~]# cd /var/ftp
[root@server ftp]# chown ftp.ftp pub/ -R
[root@server ftp]# ll
总用量 0
drwxr-xr-x 2 ftp ftp 18 8月  17 14:01 pub

编辑配置文件

29行注释取消掉

 重启服务  [root@server ~]# systemctl restart vsftpd

FTP clinet(客户端)

安装客户端

[root@web ~]# yum -y install lftp

链接服务端,查看测试文件txt1

下载server端里的测试文件到client

lftp 192.168.126.141:/pub> get txt1 
9 bytes transferred
lftp 192.168.126.141:/pub> exit
[root@web ~]# ls
anaconda-ks.cfg  nginx-1.24.0.tar.gz  shell_set.sh  txt1
[root@web ~]# cat txt1 
hello xx

 你在客户端哪个目录进入服务端,下载的文件就会在哪个目录里

也可以创建目录

[root@web ~]# lftp 192.168.126.141
lftp 192.168.126.141:~> cd pub/
lftp 192.168.126.141:/pub> mkdir dir
mkdir 成功, 建立 `dir'
lftp 192.168.126.141:/pub> ls
drwx------    2 14       50              6 Aug 17 06:22 dir
-rw-r--r--    1 14       50              9 Aug 17 06:01 txt1

在服务端查看

[root@server ~]# ls /var/ftp/pub/
dir  txt1

上传文件到共享目录

[root@web ~]# touch text1
[root@web ~]# vim text1 
            shangchuan

[root@web ~]# lftp 192.168.126.141
lftp 192.168.126.141:~> cd pub/
lftp 192.168.126.141:/pub> put /root/text1 
12 bytes transferred
lftp 192.168.126.141:/pub> ls
drwx------    2 14       50              6 Aug 17 06:22 dir
-rw-------    1 14       50             12 Aug 17 06:27 text1
-rw-r--r--    1 14       50              9 Aug 17 06:01 txt1

ftp配置本地用户登录

1.创建测试用户

创建用户zhangsan、lisi   密码都是123456

[root@server ~]# useradd zhangsan
[root@server ~]# useradd lisi


[root@server ~]# echo '123456' | passwd --stdin zhangsan
更改用户 zhangsan 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@server ~]# echo '123456' | passwd --stdin lisi
更改用户 lisi 的密码 。
passwd:所有的身份验证令牌已经成功更新。

echo '123456' | grep --stdin zhangsan       无交互式设置用户密码

2.配置ftp配置文件

重启服务

3.客户端操作

[root@web ~]# lftp 192.168.126.141 -u zhangsan
口令: 
lftp zhangsan@192.168.126.141:~> ls       
lftp zhangsan@192.168.126.141:~> mkdir aaa
mkdir 成功, 建立 `aaa'
lftp zhangsan@192.168.126.141:~> ls
drwxr-xr-x    2 1001     1001            6 Aug 17 06:44 aaa
lftp zhangsan@192.168.126.141:~> put /root/txt1 
9 bytes transferred
lftp zhangsan@192.168.126.141:~> ls
drwxr-xr-x    2 1001     1001            6 Aug 17 06:44 aaa
-rw-r--r--    1 1001     1001            9 Aug 17 06:44 txt1

 在服务端查看

[root@server ~]# vim /etc/vsftpd/vsftpd.conf 
[root@server ~]# systemctl restart vsftpd
[root@server ~]# cd /home/zhangsan/
[root@server zhangsan]# ls
aaa  txt1
[root@server zhangsan]# ll
总用量 4
drwxr-xr-x 2 zhangsan zhangsan 6 8月  17 14:44 aaa
-rw-r--r-- 1 zhangsan zhangsan 9 8月  17 14:44 txt1

 完成

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值