当前位置: 首页 > news >正文

FTP的魅力:构建高效的文件传输基础

1 ftp介绍

1.1 ftp服务器安装

dnf install vsftpd-3.0.3-31.el8.x86_64 -y # 安装ftp服务
systemctl enable --now vsftpd # 启动ftp服务
systemctl stop --now firewalld.service # 关闭防火墙,允许客户端访问

在这里插入图片描述

anonymous_enable=YES #启动匿名用户访问功能

在这里插入图片描述

1.2 客户端访问ftp

dnf install lftp -y # 在Linux中可以安装此服务,在终端访问ftp
ftp://ip        # 客户端访问ftp服务器

在这里插入图片描述
在这里插入图片描述

1.3 ftp服务器配置文件

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

2 ftp匿名用户访问控制

在这里插入图片描述
注意,关闭此功能需要重启系统

2.1 匿名用户访问

anonymous_enable=YES #启动匿名用户访问功能,默认情况不允许登录

2.2 访问家目录控制

默认情况向访问的是/var/ftp

anon_root=/westosdir # 增加此信息

在这里插入图片描述

2.3 上传控制

anon_upload_enable=YES|NO # 运行匿名用户上传文件
chmod 775 /var/ftp/pub # 修改文件权限,使得匿名用户可以写入文件
chgrp ftp /var/ftp/pub

在这里插入图片描述
在这里插入图片描述

2.4 建立目录

anon_mkdir_write_enable=YES|NO

在这里插入图片描述
报错
出现以下问题是在设置权限时候,误将ftp根目录设置为775权限,实际上应在/var/ftp/pub中设置权限。
在这里插入图片描述
在这里插入图片描述

2.5 下载权限

anon_world_readable_only=NO ##匿名用户可以下载不能读的文件,需要添加

在这里插入图片描述

2.6 删除权限

anon_other_write_enable=YES|NO

在这里插入图片描述

2.7 上传文件权限设定

2.7.1 上传文件权限设定

anon_umask=022 ##当设定chown_username之后上传文权限将不是用此参数设定

2.7.2 上传文件用户身份设定

chown_upload=YES
chown_username=lee
chown_upload_mode=0644

在这里插入图片描述
在这里插入图片描述

2.8 控制登录用户数量

max_clients=2 # 同时登录用户最大两个

在这里插入图片描述

2.9 控制文件上传速度

anon_max_rate=102400 # 100M

在这里插入图片描述

3 ftp本地用户的访问

3.1 登陆控制

local_enable=NO|YES 	#默认本地用户可以登录

在这里插入图片描述

在这里插入图片描述

3.2 家目录控制

local_root=/software # 增添内容

在这里插入图片描述

3.3 写权限控制

write_enable=NO|YES # 是否可以写入文件

在这里插入图片描述

3.4 上传文件权限控制

local_umask=077 # 控制上传文件的权限,预留权限

3.5 用户登陆控制

/etc/vsftpd/ftpusers 永久黑名单用户

在这里插入图片描述

/etc/vsftpd/user_list 默认情况下该名单是临时黑名单,修改参数后为白名单用户。
在这里插入图片描述

在这里插入图片描述

3.6 用户锁定自己家目录(安全隐患)

默认情况下,用户可以访问根目录,这样对于系统是不安全的,需要进行限制。
在这里插入图片描述

3.6.1 锁定用户到自己的家目录中

chroot_local_user=YES # 开启此功能后,所有用户被锁定在家目录中
chmod u-w /home/*  # 删除写权限

在这里插入图片描述
在这里插入图片描述

3.6.2 锁定用户到自己的家目录中的白名单

默认用户是不可以访问根目录等位置,名单中的人可以访问

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list # 白名单

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.6.3 锁定用户到自己的家目录中的黑名单

默认用户是可以访问根目录等位置,名单中的人不可以访问

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list # 黑名单

在这里插入图片描述

4 ftp虚拟用户访问

rpm -qc vsftpd # 显示程序的配置文件

在这里插入图片描述

4.1 虚拟用户介绍

对于ftp服务安全问题,应该只能让他访问相应的文件,而不是访问文件的同时也具备本地用户相应的资源,所以需要创建虚拟用户。

4.1.1 虚拟用户认证文件

 /etc/vsftpd/xxx # 自定义虚拟用户文件,第一行用户名,下一行密码db_load -T -t hash -f ftp_auth_file ftp_auth_file.db ##加密认证文件

在这里插入图片描述

4.1.2 虚拟用户认证机制

/etc/pam.d/xxx   # 自定义认证机制文件
pam_service_name=xxx ##指定认证策略文件
guest_enable=YES ##指定虚拟用户功能开启
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf 
local_root=/ftpfile/$USER
user_sub_token=$USER

在这里插入图片描述
在这里插入图片描述

4.3 用户配置独立

mkdir /etc/vsftpd/user_config # 虚拟用户独立的设置文件
user_config_dir=/etc/vsftpd/user_config #在此目录中与用户名称相同的文件为用户配置文件,在主配置文件中添加此信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/198686.html

相关文章:

  • 70、window11+visual studio2019+共享内存进行数据传输
  • SSTI模板注入(flask) 学习总结
  • 最近的工作和生活
  • 第六节:Word中对象的层次结构
  • ARJ_DenseNet BMR模型训练
  • React之Hook
  • OSG嵌入QT的简明总结2
  • 日常中msvcp71.dll丢失怎样修复?分享5个修复方法
  • 【腾讯云TDSQL-C Serverless 产品体验】使用 Python向TDSQL-C添加读取数据实现词云图
  • 服务器感染了.360、.halo勒索病毒,如何确保数据文件完整恢复?
  • BAT028:批量将文件修改日期后缀更新为最新修改日期
  • Visual Studio C++ 的 头文件和源文件
  • Scrapy框架中的Middleware扩展与Scrapy-Redis分布式爬虫
  • [论文笔记]Sentence-BERT[v2]
  • 虚拟机ubantu系统突然重启失去网络
  • 三款经典的轮式/轮足机器人讲解,以及学习EG2133产生A/B/C驱动电机。个人机器人学习和开发路线(推荐)
  • apache开启https
  • 绝地求生游戏缺少msvcp140.dll丢失打不开怎么办?这6个方法都能修复
  • 【广州华锐互动】石油钻井井控VR互动实训系统
  • 单链表算法经典OJ题
  • Picnic master project interview
  • nginx部署vue项目(访问路径加前缀)
  • element-ui中表格树类型数据的显示
  • 【扩散模型】如何用最几毛钱生成壁纸
  • 零基础Linux_17(进程间通信)VSCode环境安装+进程间通信介绍+pipe管道mkfifo
  • Redis的BitMap使用
  • java并发编程之基础与原理1
  • ⟨A⟩ = Tr(ρA) 从数学上来讲什么意思
  • Vue中的v-model指令的原理是什么?
  • 2023服务端测试开发必备技能:Mock测试