Linux服务篇之文件传输协议---FTP

文章目录

  • 1 FTP原理
  • 2 配置

1 FTP原理

概念:FTP (File Transfer Protocol:文件传输协议)作用: Internet 上用来传送文件的协议
VSFTP全称( very secure FTP):模式是C/S 模式

yum info vsftpd   查看信息

FTP 服务器默认使用 TCP 协议的 20、21 端口与客户端进行通信,20 端口用于建立数据连接,并传输文件数据。21 端口用于建立控制连接,并传输 FTP 控制命令身份认证

FTP 数据连接分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接
Linux服务篇之文件传输协议---FTP_第1张图片
Linux服务篇之文件传输协议---FTP_第2张图片

2 配置

关闭防火墙并安装

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

[root@localhost ~]# rpm -qa | grep vsftpd     //查看服务
[root@localhost ~]# yum install -y vsftpd    //安装服务

Linux服务篇之文件传输协议---FTP_第3张图片
案例一:设置匿名用户访问的FTP服务(最大权限) 无需密码

  • 复制并修改配置文件
[root@localhost vsftpd]# cp -p vsftpd.conf vsftpd.conf.bak  //复制

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES    //开启匿名用户访问。默认已开启
write_enable=YES     //开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_umask=022     //设置匿名用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES    //允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES     //允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable=YES    //允许删除、重命名、覆盖等操作

Linux服务篇之文件传输协议---FTP_第4张图片

  • 为匿名访问 ftp 的根目录下的 pub 子目录设置最大权限,以便匿名用户上传数据
[root@localhost vsftpd]# chmod 777 /var/ftp/pub/    //权限设置
[root@localhost vsftpd]# systemctl start vsftpd     //开启服务

在这里插入图片描述

  • 匿名访问测试
在 windows 系统打开开始菜单,输入 cmd 命令打开命令提示符

win10 或者 win7 先确定 IP 地址 ping 百度
ftp 192.168.16.16    //建立ftp连接
#匿名访问,用户名为 ftp,密码为空,直接回车即可完成登录

ftp> pwd        //匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp> ls            //查看当前目录
ftp> cd pub        //切换到pub目录
ftp> get 文件名     //下载文件到当前windows本地目录 可在桌面创一个文档 可在Linux中 查看
ftp> put 文件名       //上传文件到ftp目录
ftp> quit      //退出

Linux服务篇之文件传输协议---FTP_第5张图片
Linux服务篇之文件传输协议---FTP_第6张图片
Linux服务篇之文件传输协议---FTP_第7张图片
案例二:设置本地用户验证访问 ftp,并禁止切换到 ftp 以外的目录(默认登录的根目录为本地用户的家目录)

  • 修改配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
local_enable=YES     //启用本地用户
anonymous_enable=NO     //关闭匿名用户访问
write_enable=YES   //开放服务器的写权限〈若要上传,必须开启)
local_umask=077    //可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local_user=YES     //将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES    //允许被限制的用户主目录具有写权限
#anon_mkdir_write_enable=YES 注释
#anon_other_write_enable=YES 注释

Linux服务篇之文件传输协议---FTP_第8张图片

  • 创建用户、设置最大权限并修改配置
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# passwd zhangsan
[root@localhost ~]# mkdir -p /var/www/ky18
[root@localhost ~]# chmod -R 777 /var/www/
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
local_root=/var/www/ky18
[root@localhost ~]# systemctl restart vsftpd 重启服务

Linux服务篇之文件传输协议---FTP_第9张图片

  • 访问测试一
    Linux服务篇之文件传输协议---FTP_第10张图片
    上传
    Linux服务篇之文件传输协议---FTP_第11张图片
    下载
    Linux服务篇之文件传输协议---FTP_第12张图片
win 10或者 win 7
ftp 192.168.16.16 桌面拖文件 ls 可以查到
ftp://[email protected]
修改匿名用户、本地用户登录的默认根目录
登录上后 可远程切换 localhost 目录内用户
anon_root=/var/www/html    //anon_root 针对匿名用户
local_root=/var/www/html    //local_root针对系统用户

Linux服务篇之文件传输协议---FTP_第13张图片

  • 访问测试二:使用user_list用户列表文件
[root@localhost ~]# vim /etc/vsftpd/user_list  //末尾添加zhangsan用户就不能登录

Linux服务篇之文件传输协议---FTP_第14张图片
Linux服务篇之文件传输协议---FTP_第15张图片

#设置白名单
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES   //启用user_list用户列表文件
userlist_deny=NO   //设置白名单,仅允许user_list用户列表文件的用户访问。
默认为YES,为黑名单,禁用

Linux服务篇之文件传输协议---FTP_第16张图片
Linux服务篇之文件传输协议---FTP_第17张图片
Linux服务篇之文件传输协议---FTP_第18张图片

你可能感兴趣的:(Linux,linux服务,网络,文件传输协议FTP)