首页 > 系统相关 >FTP服务的拓展知识——基于centos7

FTP服务的拓展知识——基于centos7

时间:2024-05-27 16:04:54浏览次数:42  
标签:FTP ftp 端口 用户 拓展 centos7 标识 匿名

  FTP(文件传输协议)是应用非常广泛的服务,配置简单,功能强大。在开始拓展知识的介绍之前先来简单的了解一下FTP的工作模式。

  • FTP拥有两种连接方式

    • 管理接连模式:控制ftp服务(客户端使用随机高位端口,服务端使用21端口)

    • 数据连接模式:由客户端决定pas(关闭被动模式)在输入就启用——passive

    • 主动模式:服务端主动连接客户端(20端口) 客户端防火墙会阻碍服务的连接(随机端口)

    • 被动模式:服务端等待客户端连接(随机端口) 服务端的防火墙会阻碍连接(随机端口)

    • 最大支持1w5k的并发连接数

FTP针对的连接对象大体可分为三种:
匿名用户:登录无需密码,默认权限只能下载

授权用户:登录需要账号密码,权限稍高。

虚拟用户:为了解决授权用户造成的创建实际账号过多的问题。 

接下来就根据这三种用户分别对其进行相关管理设置。

在进行设置之前需要了解,作为服务端的FTP服务,其软件包名为vsftpd

  • 该服务的有关文件

    • 配置文件

      • 主配置文件

        • /etc/vsftpd/vsftpd.conf

          • 如果打开会看见非常多的注释,如果可以看懂,那最好如果看不懂可进行如下操作:

            • sed -i '/^#/d' /etc/vsftpd/vsftpd.conf

            • 文本编辑器:-i将修改写入文件,开头为#号 针对文件路径

            • 以上命令可以去掉开头为#号的注释,方便查看

      • /etc/vsftpd/ftpusers    

        • 该文件下的用户不允许使用ftp登录

      •  /etc/vsftpd/user_list   与ftpusers共同管理。就好比passwd与shadow一样

        • 用户列表——该文件的这两行注释清晰的说明了其作用

          • If userlist_deny=NO, only allow users in this file  设置为no,只允许文件内的用户登录

          • # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password.   设置为yes,该文件内的用户不能登录使用ftp服务

          • 该文件生效需要在主配置文件中添加if后的语句

          • yes表示该列表的用户不允许登录

          • no表示只允许该列表的用户登录

匿名用户——可在主配置文件中添加如下语句
  • 匿名用户

    • 该用户不许要密码使用ftp用户登录

      • 标识1:匿名用户是否启用

      • 标识2:匿名用户权限掩码

      • 标识3:匿名用户是否能上传数据

      • 标识4:匿名用户是否能创建目录

      • 标识5:匿名用户是否有其他写入权(删除,修改)

      • 标识6:指定匿名用户根目录(默认/var/ftp)

      • 匿名用户登录ftp默认在指定的根目录下,匿名用户没有到其他目录的权限。

 完成后重启服务,在客户端安装ftp软件包,直接用ftp加IP地址进行访问,进行相关操作。

授权用户
  • 授权用户

    • 该用户需要服务器有对应的用户才能使用账号密码登录

      • 标识1:启用本地授权用户

      • 标识2:写入权是否启用

      • 标识3:授权用户权限掩码

      • 标识4:将本地授权用户访问限制在根目录

      • 标识5:启用本地授权用户在其根目录的写入权

      • 标识6:指定本地授权用户的根目录

 如果不加标识4,5.那么你的目录结构,数据将会被随意查看,这是极其危险的!!!

虚拟用户——该配置较为复杂

虚拟用户的存在是为了避免创建多个账号造成较大的安全隐患。

创建过程稍难,列出步骤仅供参考:
 

  • 虚拟用户

    • 第一步:创建文本格式的用户名和密码 奇数行为用户名,偶数行为密码

    • 第二步:建立虚拟FTP用户的数据库文件

    • 第三步:添加虚拟用户的映射账号

    • 第三步:为虚拟用户建立PAM认证文件

    • 第四步:修改配置文件添加虚拟用户的支持

    • Local_enable=YES #需要映射本地用户所以启用

    • Write_enable=YES ##启用上传写入权限

    • Guest_enable=YES ##开启虚拟用户

    • Anon_umask=022 ### 指定上次权限掩码

    • Guest_username=* ###指定映射的本地系统用户

    • Pam_serrivce_name=vsftpd.vu ##指定新的pam认证文件

    • User_config_dir=/*/*/*/ ###为不同的虚拟用户设置不同的权限

除了针对用户类别做修改外,还可以对监听做出修改,这样做的目的是FTP服务默认被防火墙拦截,如果开放服务,但仍然使用默认端口,则有一定的入侵风险,如果使用高位端口,则是随机的,防火墙策略不好添加,因此在此处进行限定。

依然是在主配置文件中添加语句:

  • 在此例中,我将FTP服务的主动端口设置为2121,限制了被动开放的端口在20000到20010之间,这样防火墙的策略也就好添加了

    • 开启端口监听功能

    • 设置主动连接的监听端口

    • 被动模式启用

    • 被动模式最小的端口

    • 被动模式最大的端口

    • 被动端口用完即释放

      • 一定要关闭ipv6的监听,否则服务无法正确启用。!!!

 如果出现上传下载失败,可能是因为没有该文件,或者该目录下没有该文件,使用ftp时默认的下载上传位置,是登录前的工作目录,可使用lcd切换本地的工作目录,无需退出重进。

如果有任何疑问,欢迎留言,看见会详细解答,本文仅作参考使用。

标签:FTP,ftp,端口,用户,拓展,centos7,标识,匿名
From: https://blog.csdn.net/Q7758521adc/article/details/139182298

相关文章

  • centos7.9 宝塔环境安装dotnet8
    官方下载二进制文件,https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0选择对应linux然后上传到到目录,这边是随意的home/dotnet8然后执行下面的命令,提示没有文件或者文件夹,就对应创建下文件夹目录就可以。可以使用linux命令:mkdir-p/home/dotnet8mkdir-p/usr......
  • 谷歌地图 | Google I/O '24 重磅发布助力企业拓展海外市场的新功能!
    编者按:本文是GoogleI/O2024系列的一部分,该系列分享了Google年度开发者大会上最新的GoogleMapsPlatform新闻。距全球首个GoogleMapsAPI问世已近20年。它引领了网络和移动端地理空间体验的革命。从那时起,GoogleMapsPlatform始终与开发者社区携手共进,不断发展,功能......
  • ftplib库-制作简易ftp客户端
    #获取上一次的参数try:withopen("./FtpGUI-Python-Configure.cache","r",encoding="utf-8")asf:cfglist=f.read().split("\n")except:cfglist=["","","",""]importtk......
  • (三) 快速安装Ftp - 腾讯云轻量应用服务器OpenCloud系统(Centos)
    步骤1:安装vsftpd1.执行以下命令,安装vsftpd。 sudoyuminstall-yvsftpd2.执行以下命令,设置vsftpd开机自启动。 sudosystemctlenablevsftpd3.执行以下命令,启动FTP服务。 sudosystemctlstartvsftpd4.执行以下命令,确认服务是否启动。......
  • centos7安装postgresql-15
    摘要:本文将提供一个详细的教程,介绍如何在CentOS7操作系统上安装最新版本的PostgreSQL15。您将学习到如何添加PostgreSQL官方软件仓库,并使用yum命令进行安装和配置。1.引言PostgreSQL是一个功能强大的开源关系型数据库管理系统,被广泛用于企业级应用和数据存储。安装最新版......
  • centos7 更换阿里源
    一、环境准备你需要准备一台干净的CentOS7的环境,且可以ping的通外网~尤其是mirrors.aliyun.com。简单测试一下,如果通的话,再执行以下步骤完成设置。pingmirrors.aliyun.com二、手动配置阿里云源备份官方的原yum源的配置mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.re......
  • 网络监控专题之二Centos7部署Grafana
    Grafana官方下载指引:https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1  #官方地址[root@localhost~]#wgethttps://dl.grafana.com/enterprise/release/grafana-enterprise-9.3.0-1.x86_64.rpm[root@localhost~]#sudoyuminstallgraf......
  • 【转】centos7.9源码安装mysql5.7.44
    原文:https://blog.csdn.net/SeeYouGoodBye/article/details/1352314511、环境介绍centos7.9mysql5.7.44boost1.59.0注意:这里的编译版本mysql5.7.44和boost1.59.0是有依赖的,建议使用相同版本2、安装编译要用的依赖软件yuminstall-ygccgcc-c++cmakelibaio-develncu......
  • CentOS7的操作——学会上分不是梦
     目录常用命令文件与目录操作查看文件内容文本内容处理查询操作压缩、解压yum安装器网络相关系统相关XSheel5相关操作窗体快捷键操作小技巧结束语这两天一直在对CentOS7.2进行初体验,各种学习命令肿么用,不过其实大多和DOS是一样的,只是命令的表达上可能有点......
  • ftp服务配置
    一:FTP服务1:安装[root@localhost~]#systemctlstopfirewalld[root@localhost~]#rpm-ivh/media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm[root@localhost~]#systemctlstartvsftpd打开一个客户端,安装ftp客户端软件,并访问测试[root@localhost~]#rpm......