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 # 关闭防火墙,允许客户端访问

FTP的魅力:构建高效的文件传输基础_第1张图片

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

FTP的魅力:构建高效的文件传输基础_第2张图片

1.2 客户端访问ftp

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

FTP的魅力:构建高效的文件传输基础_第3张图片
FTP的魅力:构建高效的文件传输基础_第4张图片

1.3 ftp服务器配置文件

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

2 ftp匿名用户访问控制

FTP的魅力:构建高效的文件传输基础_第5张图片
注意,关闭此功能需要重启系统

2.1 匿名用户访问

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

2.2 访问家目录控制

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

anon_root=/westosdir # 增加此信息

FTP的魅力:构建高效的文件传输基础_第6张图片

2.3 上传控制

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

FTP的魅力:构建高效的文件传输基础_第7张图片
FTP的魅力:构建高效的文件传输基础_第8张图片

2.4 建立目录

anon_mkdir_write_enable=YES|NO

FTP的魅力:构建高效的文件传输基础_第9张图片
报错
出现以下问题是在设置权限时候,误将ftp根目录设置为775权限,实际上应在/var/ftp/pub中设置权限。
FTP的魅力:构建高效的文件传输基础_第10张图片
FTP的魅力:构建高效的文件传输基础_第11张图片

2.5 下载权限

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

FTP的魅力:构建高效的文件传输基础_第12张图片

2.6 删除权限

anon_other_write_enable=YES|NO

FTP的魅力:构建高效的文件传输基础_第13张图片

2.7 上传文件权限设定

2.7.1 上传文件权限设定

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

FTP的魅力:构建高效的文件传输基础_第14张图片

2.7.2 上传文件用户身份设定

chown_upload=YES
chown_username=lee
chown_upload_mode=0644

FTP的魅力:构建高效的文件传输基础_第15张图片
FTP的魅力:构建高效的文件传输基础_第16张图片

2.8 控制登录用户数量

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

FTP的魅力:构建高效的文件传输基础_第17张图片

2.9 控制文件上传速度

anon_max_rate=102400 # 100M

FTP的魅力:构建高效的文件传输基础_第18张图片

3 ftp本地用户的访问

3.1 登陆控制

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

FTP的魅力:构建高效的文件传输基础_第19张图片

FTP的魅力:构建高效的文件传输基础_第20张图片

3.2 家目录控制

local_root=/software # 增添内容

FTP的魅力:构建高效的文件传输基础_第21张图片

3.3 写权限控制

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

FTP的魅力:构建高效的文件传输基础_第22张图片

3.4 上传文件权限控制

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

3.5 用户登陆控制

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

FTP的魅力:构建高效的文件传输基础_第23张图片

/etc/vsftpd/user_list 默认情况下该名单是临时黑名单,修改参数后为白名单用户。
FTP的魅力:构建高效的文件传输基础_第24张图片

FTP的魅力:构建高效的文件传输基础_第25张图片

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

默认情况下,用户可以访问根目录,这样对于系统是不安全的,需要进行限制。
FTP的魅力:构建高效的文件传输基础_第26张图片

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

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

FTP的魅力:构建高效的文件传输基础_第27张图片
FTP的魅力:构建高效的文件传输基础_第28张图片

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

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

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

FTP的魅力:构建高效的文件传输基础_第29张图片
FTP的魅力:构建高效的文件传输基础_第30张图片
FTP的魅力:构建高效的文件传输基础_第31张图片

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

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

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

FTP的魅力:构建高效的文件传输基础_第32张图片

4 ftp虚拟用户访问

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

FTP的魅力:构建高效的文件传输基础_第33张图片

4.1 虚拟用户介绍

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

4.1.1 虚拟用户认证文件

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

FTP的魅力:构建高效的文件传输基础_第34张图片

4.1.2 虚拟用户认证机制

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

FTP的魅力:构建高效的文件传输基础_第35张图片

FTP的魅力:构建高效的文件传输基础_第36张图片
FTP的魅力:构建高效的文件传输基础_第37张图片

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

FTP的魅力:构建高效的文件传输基础_第38张图片

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

FTP的魅力:构建高效的文件传输基础_第39张图片
在这里插入图片描述

4.3 用户配置独立

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

FTP的魅力:构建高效的文件传输基础_第40张图片
FTP的魅力:构建高效的文件传输基础_第41张图片
FTP的魅力:构建高效的文件传输基础_第42张图片

你可能感兴趣的:(服务器,linux,网络)