Linux下的ftp服务

实验环境

服务机:企业7(192.168.1.29),提供ftp服务
客户机:企业8(192.168.1.19),去访问服务机所提供的ftp服务

1. ftp介绍

  • File Transfer Protocol:文本传输协议
  • 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等

2. vsftpd安装

1.在服务机(192.168.1.29)上安装vsftpd软件
在这里插入图片描述
在这里插入图片描述
2.关闭selinux
在这里插入图片描述
在这里插入图片描述
3.重启系统,关闭火墙
在这里插入图片描述
4.开启vsftpd软件
在这里插入图片描述
5.建立共享目录
在这里插入图片描述
6.用客户机的浏览器访问ftp://192.168.1.29
可以查看到共享资源
在这里插入图片描述

3. vsftpd基本信息

  • 服务名称:vsftpd.service
  • 配置目录:/etc/vsftpd
  • 主配置文件:/etc/vsftpd/vsftpd.conf
  • 默认发布目录: /var/ftp
  • 报错信息:
    • 550 #程序本身拒绝
    • 553 #文件系统权限限制
    • 500 #权限过大
    • 530 #认证失败

4. 匿名用户访问控制

  • 在客户机上安装lftp命令,可以去访问服务机所提供的ftp服务
    在这里插入图片描述

  • lftp 192.168.1.29 访问ftp服务时,不需要用户认证,匿名访问
    在这里插入图片描述

  • 在服务端通过修改/etc/vsftpd/vsftpd.conf配置文件,对匿名用户访问进行控制,修改后需要重启服务

常用可修改条目解释
anonymous_enable=YES/NO是否可以 匿名登录
anon_root=【目录】登录时默认家目录设定;默认在/var/ftp中
anon_upload_enable=YES/NO上传控制
anon_world_readable_only=NO匿名用户可以下载不能读的文件
anon_world_readable_only=YES匿名用户不能下载不能读的文件
anon_mkdir_write_enable=YES/NO是否可以建立目录
anon_other_write_enable=YES/NO是否可以删除或重命名文件
max_clients=【n】登录数量控制
anon_max_rate=102400上传速率控制

示例:
示例1:在服务机修改配置文件,不允许匿名登录,重启服务,用客户机测试,匿名登录失败
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例2:
在服务机上修改配置文件,允许上传文件,重启服务后,修改/var/ftp/pub目录权限,允许写入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在服务机上测试,上传文件成功
在这里插入图片描述

5. 本地用户的访问

  • 在服务机上创建student和test用户,用来进行实验测试
  • 在客户机上登录服务端的student用户,访问ftp服务,需要用户认证
    在这里插入图片描述
  • 在服务端通过修改/etc/vsftpd/vsftpd.conf配置文件,对本地用户访问进行控制,修改后需要重启服务
配置文件条目解释
local_enable=YES/NO是否可以本地用户登录
local_root=【目录】家目录控制
write_enable=YES/NO写权限控制
local_umask=077上传文件权限控制
userlist_deny=NO设定/etc/vsftpd/user_list为白名单,不在名单中的用户不能登录ftp
chroot_local_user=YES/NO是否锁定用户到登录时的家目录中,不能访问其他目录;chmod u-w /home/* 修改权限,否则会因权限降低而无法登录
chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list/etc/vsftpd/chroot_list文件中的用户可以访问家目录以外的目录,其他用户被锁定在家目录
chroot_local_user=NOchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list/etc/vsftpd/chroot_list文件中的用户被锁定在家目录
  • 添加本地用户黑名单:
    • vim /etc/vsftpd/ftpusers #永久黑名单
      在这里插入图片描述
    • vim /etc/vsftpd/user_list # 默认黑名单(将vsftpd.conf配置文件中userlist_deny=NO注释掉)
      在这里插入图片描述

6.虚拟用户访问

6.1 建立ftp认证体系

在服务端的企业7(192.168.1.29)主机上建立ftp认证体系
①:建立ftp认证文件:/etc/vsftpd/ftp_auth_file;创建3个虚拟用户
在这里插入图片描述
在这里插入图片描述
②:加密认证文件:<-T --转换 > <-t --加密类型> < -f --指定转换文件>
在这里插入图片描述
③:在/etc/pam.d目录下编写文件,生成pam认证策略
在这里插入图片描述
在这里插入图片描述
④:修改/etc/vsftpd/vsftpd.conf配置文件
在这里插入图片描述
在这里插入图片描述
⑤:重启vsftpd服务
在这里插入图片描述
测试:
1.在客户机上用新建的虚拟用户身份登录服务端提供的ftp服务,访问成功
在这里插入图片描述
2.在服务端查询新建的虚拟用户id,用户并不存在,说明虚拟用户身份只存在于ftp服务中
在这里插入图片描述

6.2 虚拟用户家目录的独立设定

1.在服务端创建目录,分别作为3个虚拟用户的家目录,目录名与用户名一致
在这里插入图片描述
2.为了观察实验效果,分别在目录下创建文件
在这里插入图片描述
3.修改/etc/vsftpd/vsftpd.conf配置文件,设定虚拟用户的家目录
在这里插入图片描述
4.重启vsftpd服务
在这里插入图片描述
测试:
1.在客户机以虚拟用户的身份访问服务端提供的ftp服务,登录后用户家目录为指定家目录
在这里插入图片描述

6.3 用户配置独立

1.分别在虚拟用户的家目录下新建目录pub,用以客户端上传文件
在这里插入图片描述
2.修改目录权限,使其可写
在这里插入图片描述
3.修改/etc/vsftpd/vsftp.conf配置文件,修改后重启服务
在这里插入图片描述
4.在客户机上登录虚拟用户,访问ftp,可以上传文件到pub目录中 在这里插入图片描述
以上设定对所有虚拟用户有效,如果想要虚拟用户的配置效果独立,那么就要对每个用户单独建立配置文件
①:修改/etc/vsftpd/vsftpd.conf配置文件,修改后重启服务
在这里插入图片描述
在这里插入图片描述
②:创建指定的目录,并编写虚拟用户配置文件,设定test2用户可以上传文件
在这里插入图片描述
在这里插入图片描述
③:在客户端测试,只有test2用户可以上传文件
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值