一、什么是FTP协议?

ftp:// ##文件传输协议

ftp(文件传输协议)是Internet上常用的最老的网络协议之一,ftp系统提供了通过网络与远程服务器进行传输的简单方法。ftp服务器包的名称为vsftpd,它代表Very Secure File Transfer Protocol Damon,服务器名称也叫做vsftpd。
默认配置文件让anonymous用户(匿名用户)只能下载位于chroot目录中的内容。
/var/ftp/这意味着远程ftp客户端能以anonymous用户或ftp身份连接到服务器(无需密码),并从ftp服务器上的/var/ftp/目录下载文件(其本地ftp用户可以读取这些文件)

二、实验环境

  1. 查看虚拟机网络
  2. 更改主机名(此做法的目的是方便实验)
  3. 挂载镜像
  4. 搭建yum源,并且通过查看yum仓库看是否搭建成功
  5. 执行getenforce命令


    注意: 每次编辑完文件退出保存后需要重启系统

    三、ftp服务的基本信息
软件安装包 vsftpd
默认发布目录 /var/ftp
默认发布目录的子目录 /var/ftp
协议接口 21/tcp
服务配置文件 /etc/vsftpd/vsftpd.conf

四、搭建ftpd服务并进行测试

  1. 搜索ftp服务的安装包
  2. 安装vsftpd服务与lftp客户端
  3. 开启服务并查看状态
  4. rpm -ql vsftpd查看盖服务的安装目录

  5. rpm -qc vsftpd查看服务的配置文件
  6. 在火墙中添加ftp服务
  7. 检测ftp服务器是否搭建成功

五、vsftpd服务下匿名用户和本地用户的相关配置

必须熟记的重要报错:

530 用户认证失败
550 服务本身功能未开放
553 本地文件系统权限过小
500 文件系统权限过大

温馨提示:所有的操作都是在配置文件/etc/vsftpd/vsftpd.conf中设定,并且设定后需要重启vsftpd服务

匿名用户登陆限制:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confanonymous_enable=YES|NO
[root@ftp ~] # systemctl restart vsftpd


当配置文件anonymous_enable=YES时,如下所示:


当配置文件anonymous_enable=NO时,如下所示:



匿名用户上传:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confwrite_enable=YESanon_upload_enable=YES
[root@ftp ~] # systemctl restart vsftpd
[root@ftp ~] # chgrp ftp /var/ftp/pub
[root@ftp ~] # chmod 775 /var/ftp/pub


由上图发现链接失败,进入配置文件,如下所示:

更改配置文件:

修改用户组以及用户权限如下:

上传检测,如图所示:

匿名用户家目录修改:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confanon_root=/directory
[root@ftp ~] # systemctl restart vsftpd

更改前如下图所示:
更改配置文件并且新建目录,在目录下新建文件,操作如下:



通过上面的ls查看,出现了新建立的文件,所以用户家目录更改成功

匿名用户上传文件默认修改权限:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confanon_umask=xxx
[root@ftp ~] # systemctl restart vsftpd




匿名用户建立目录:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confanon_mkdir_write_enable=YES|NO
[root@ftp ~] # systemctl restart vsftpd




匿名用户下载:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confanon_world_readable_only=YES|NO
[root@ftp ~] # systemctl restart vsftpd




匿名用户删除:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confanon_other_write_enable=YES|NO
[root@ftp ~] # systemctl restart vsftpd





最大上传速率:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confanon_max_rate=102400        ###最大上传速率为100k,字节为单位
[root@ftp ~] # systemctl restart vsftpd

在系统中截取一段数据如下图所示:

不限制上传速度,如图所示:

进入配置文件进行配置如下:


限制上传速度,如图所示:

匿名用户使用的用户身份修改:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confchown_uploads=YESchown_username=studentchown_upload_mode=0644
[root@ftp ~] # systemctl restart vsftpd



进入配置文件加入如下图所示参数:

最大链接数:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confmax_clients=2
[root@ftp ~] # systemctl restart vsftpd



本地用户登陆限制:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.conflocal_enable=YES|NO
[root@ftp ~] # systemctl restart vsftpd




本地用户写权限限制:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confwrite_enable=YES|NO          #ftp是否对登陆用户可写
[root@ftp ~] # systemctl restart vsftpd




本地用户家目录修改:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.conflocal_root=/directory
[root@ftp ~] # systemctl restart vsftpd





限制本地用户浏览/目录:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confchroot_local_user=YESchmod u-w /home/*
[root@ftp ~] # systemctl restart vsftpd



本地用户黑名单建立:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confchroot_local_user=NOchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list
[root@ftp ~] # systemctl restart vsftpd






本地用户其白名单建立:

[root@ftp ~] # vim /etc/vsftpd/vsftpd.confchroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list
[root@ftp ~] # systemctl restart vsftpd







六、ftp虚拟用户的设定

<1> 编辑虚拟帐号和密码


注意:帐号和密码间必须换行,且帐号和密码前不能有空格,虚拟帐号必须不存在。

<2> 将文本文件加密载入数据库

注释: -T表示转换类型,-t hash 表示哈希加密,-f表示文件转换类型
<3> 创建pam认证文件


<4> 更改vsftpd配置文件



<5> 结果,如下图所示:

<6> 虚拟帐号家目录独立设定,编辑配置文件



<7> 建立虚拟用户的家目录以及子目录,并展示结果:


<8> 虚拟帐号配置独立,首先改变虚拟用户家目录以及子目录权限

<9> 建立配置目录与配置文件





<10> 结果如下:

Linux下的FTP服务相关推荐

  1. Linux下检测FTP服务并开启FTP服务

    Linux下检测FTP服务并开启FTP服务 1. 检测FTP服务是否开启 通过查询提供FTP服务的进程是否存在 Shell代码   ps -ef | grep ftp   并未找到任何包含ftp关键字 ...

  2. 局域网内Linux下开启ftp服务的“曲折路”和命令复习

    今天主要学习了Linux下网络配置以及vsftp(FTP)和samba的服务配置,学习起来,难度也就一般,并没有特别难,可是在可以做实验的时候,却并没有自己想像的那么顺利,可见,很多事情看起来不难,做 ...

  3. java ftp返回到根目录,Linux下搭建ftp服务,更改根目录到大存储到位置

    Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa | grep vsftpd 来查看是否安装相应的包 ...

  4. linux下的FTP服务配置

    FTP服务器 FTP:file transport protocol (文件传输协议) 1.ftp协议概述: 主要用于解决远程计算机和本地计算机之间传输文件,是internet上文件传送的基础: 2. ...

  5. 关于 通过http请求 无法访问Linux下的ftp服务的解决办法!

    解决办法: 1.首先进入到NGINX配置文件下面: 然后继续往下: 其中 "server_name"表示的是本机IP 也可设置成 "localhost",&qu ...

  6. 信创平台下构建FTP服务

    FTP服务是网基本服务之一,本文关于信创环境下如何构建基本FTP服务及使用. 一.FTP协议概述 FTP全称是File Transfer Protocol,FTP是在TCP/IP网络和INTERNET ...

  7. Linux下配置FTP、SSH服务

    在虚拟机中的Linux系统下配置FTP服务和SSH服务,配置完后就可以通过SecureCRT软件登录Linux系统. 配置FTP服务: 在Linux终端中输入命令: sudo apt-get inst ...

  8. Linux系统下安装FTP服务

    Linux系统下安装FTP服务 1. 简介 2. 工作原理 3. FTP的安装与配置 1. 下载vsftp安装包 2. 检查是否已经安装了vsftp,后面会介绍怎样卸载 3. 安装vsftpd 4. ...

  9. 【Linux学习笔记】Linux Centos7.4下的Ftp服务的搭建和使用及加密

    Linux Centos7.4下的Ftp服务的搭建和使用 服务简介 一.Ftp服务的安装 1.1.安装ftp服务 1.2.启动ftp服务 1.3.将ftp服务设置为开机启动 1.4.停止ftp服务 二 ...

最新文章

  1. mysql占用cpu_Mysql占用过高CPU时的优化手段(必看)
  2. java 基础之 null 与 “”
  3. 图解C++虚函数 虚函数表
  4. 写python的c扩展简介
  5. alink的相關資料收集
  6. 应该把script标签放在哪里
  7. Windows Phone 7 XNA触控操作之Gestures
  8. pytorch学习笔记(三十):RNN反向传播计算图公式推导
  9. 加速AI计算生态构建,华为昇腾布道西安开发者
  10. Tensorflow教程2:使用卷积神经网络的图像分类器
  11. 页面局部ajax文件上传,页面通过ajax实现文件上传功能
  12. hdu-5064(dp)
  13. Generative Image Inpainting with Contextual Attention
  14. 火车头采集器计划任务设置时间间隔无效问题解决
  15. datetime的时值
  16. 按键精灵 android版运行异常,按键精灵安卓版 tap、touch命令 不好用的解决办法!...
  17. jQuery--复制节点clone()详解
  18. 采样开关的作用计算机控制,计算机控制系统复习要点
  19. 试解PTA《20211122-函数基础练习》,涉及 高精度加法 和 10进制转换成2-16进制问题,有需要的同学来看看吧;
  20. oracle程序窗口,oracle窗口函数的使用

热门文章

  1. SpringCloud学习笔记008---杂七杂八002_spring 注解@Value详解_@Value(quot;#{}quot;)与@Value(quot;${}quot;)的区别
  2. Java 如何查询硬盘所有文件
  3. 一步一步写算法(之大数计算)
  4. c语言有2维结构体没,c语言结构体说明
  5. 冒泡排序法和选择排序法
  6. python实现柱状图_python3+PyQt5实现柱状图
  7. 泰勒公式推导过程_#泰勒#(Taylor)公式真的很难很难吗?
  8. 水利水电工程与计算机技术应用,水利水电施工中计算机的应用
  9. 达尔文计算机学校,中国研制出全球神经元规模最大类脑计算机
  10. ctfshow-萌新-web12( 利用命令执行函数获取网站敏感信息)