FTP文件传输

FTP文件传输

FTP(File Transfer Protocol,文件传输协议)是一种用于在计算机网络上进行文件传输的标准协议。它允许用户在客户端和服务器之间上传和下载文件。FTP服务器端可以同时提供给多人共享使用。

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

1. FTP模式

1.1 主动模式

主动模式(Active Mode):客户端打开一个端口,服务器通过这个端口与客户端建立连接。

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

1.2 被动模式

被动模式(Passive Mode):服务器打开一个端口,客户端连接到这个端口。被动模式通常用于防火墙环境下。

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

2. ftp匿名用户访问

同时准备两台服务器,一台服务端ftp-server(192.168.234.22),一台客户端ftp-client(192.168.234.23)

两台服务器都要关闭selinux和防火墙

2.1 ftp服务端配置

yum -y install vdftpd           #安装ftp服务
systemctl start vsftpd          #启动ftp服务
systemctl enable vsftpd         #ftp开机自启
/var/ftp/                       #FTP默认共享目录
vim /etc/vsftpd/vsftpd.conf     #编辑配置文件
添加以下内容
anon_umask=022                  #匿名用户上传下载目录权限掩码
anon_other_write_enable=YES     #允许匿名用户对目录进行操作
anon_upload_enable=YES          #允许匿名用户上传文件
anon_mkdir_write_enable=YES     #允许匿名用户创建目录
cd /var/ftp
chown -R ftp.ftp *              #修改根目录的属主与属组,如果不改变的话,只能访问,其他权限不能生效
systemctl restart vsftpd        #重新启动ftp

2.2 ftp客户端配置

yum -y install lftp             #安装lftp
lftp 192.168.234.22             #连接到服务端
此时可进行touch,mkdir,ls,cd等操作,但上传下载命令有不同
get         #下载单个文件
mget        #下载多个文件
mirror      #下载目录
​
put         #上传单个文件
mput        #上传多个文件
mirror -R   #上传目录
exit或quit或Ctrl+D退出登录

3. ftp本地用户访问

3.1 ftp服务端配置

创建用户并设置密码

useradd zhangsan                         #创建用户zhangsan
echo '密码' | passwd --stdin  zhangsan    #设置密码

修改配置文件

vim /etc/vsftpd/vsftpd.conf     #编辑配置文件
​
anonymous_enable=NO                 #将允许匿名登录关闭
#anon_umask=022                     #匿名用户上传下载目录权限掩码
#anon_other_write_enable=YES        #允许匿名用户对目录进行操作
#anon_upload_enable=YES             #允许匿名用户上传文件
#anon_mkdir_write_enable=YES        #允许匿名用户创建目录
关闭匿名用户登录并注释掉所有匿名用户的配置
​
添加以下配置
chroot_list_enable=YES                      #启用限制登陆用户在主目录里面
chroot_list_file=/etc/vsftpd/chroot_list    #限制登陆的用户在这个文件列表中,一行一个用户
allow_writeable_chroot=YES                  #允许限制的用户对目录有写权限
local_root=/home/zhangsan                   #设置本地用户的FTP根目录,一般为用户的家目录
local_max_rate=0                            #限制最大传输速率(字节/秒)0为无限制

添加用户名到文件

echo "zhangsan" >>/etc/vsftpd/chroot_list   #一定要一行一个用户

重启生效

systemctl restart vsftpd

3.2 ftp客户端配置

yum -y install lftp -u zhangsan 
Password:输入密码
操作方法同前文,但此时上传和创建的文件目录在服务端/home/zhangsan/目录下,不在/var/ftp

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值