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切换本地的工作目录,无需退出重进。

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

  • 39
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值