vsftpd服务的部署及优化方案轻松入门!!!!!

本文详细介绍了如何在Linux环境中部署和优化VSFTPD服务,包括匿名用户和本地用户的权限设置,以及虚拟用户的认证管理。重点讨论了匿名用户的读写权限、上传速度限制、登陆目录自定义等参数配置,同时涉及到了防火墙规则和SELinux安全策略的调整,确保FTP服务的安全运行。
摘要由CSDN通过智能技术生成

1.介绍

ftp:// 文件传输协议
互联网中最老牌的

2.实验环境(部署ftp服务)

安装vsftpd、lftp服务,前者是服务器,后者是测试软件,相当于浏览器。
安装完之后一定要setenforce 0
或者编辑/etc/sysconfig/selinux 改为disabled,然后重启系统。(内核级别的)
在这里插入图片描述

在这里插入图片描述

安装完成后启动服务

	1.systemctl enable --now  vsftpd         启动服务
	2.firewall-config                        图形方式控制火墙
	   火墙设置:要允许ftp服务,然后重新加载火墙
	   firewall-cmd --permanent --add-service=ftp
	   firewall-cmd --reload              命令方式控制火墙
	   然后查看是否被允许:firewall-cmd --list-all
	3.测试:真机连接虚拟机:lftp 192.168.1.110 (这是我的虚拟机ip) 
	4.查看ftp涉及到的文件有哪些:rpm -ql  vsftpd
	5.ftp服务的基本信息
	   软件安装包:vsftpd
	   默认发布目录:/var/ftp     里面新建文件后,别人可以访问到
	   默认配置目录:/etc/vsftpd/vsftpd.conf
	   查看数据访问端口:netstat -antlupe | grep vsftpd   
			主动访问,我访问21端口,数据传输端口是20
			被动访问,我访问21端口,被访问端随即开启一个大于1024的端口
			默认使用的是被动访问模式,这种模式安全一点

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

在这里插入图片描述

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

2.1 测试

网页中输入:ftp://xxx.xxx.xxx.xxx
在这里插入图片描述

shelle中输入:lftp xxx.xxx.xxx.xxx
在这里插入图片描述

3.基本安全部署示例

-vim /etc/vsftpd/vsftpd.conf
-vim /etc/vimrc   设置个行号不然不好看
-vim /etc/sysconfig/selinux        ##做实验之前要修改文件为disabled,不然会影响实验效果
 也相当于setenforce 0               ##改为警告模式,不改可能会出现553错误,权限不够。
-每次修改配置文件后必须重启服务。systemctl restart vsftpd.server
-首先解释匿名用户:匿名用户就是使用ftp服务器时没有指定任何身份信息的用户(比如浏览淘宝,但没有登陆的用户,就是匿名用户)
-参数内容:
	anonymous_enable=YES           ##匿名用户可以登陆
	local_enable=YES               ##本地用户登陆
	write_enable=YES               ##ftp是否对登陆用户可写,也可以上传删除文件,put /etc/passwd 表示上传passwd文件
-报错ip解析:
	         500                   ##文件系统权限过大
	         530                   ##用户认证失败
	         550                   ##服务本身功能未开启
	         553                   ##本地文件系统权限过小

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
anonymous_enable=YES(修改之后一定要重启服务systemctl restart vsftp.service)
在这里插入图片描述
local_enable=YES(本地用户(搭载了ftp服务器的主机下的本地用户)可以登陆)
在这里插入图片描述
local_enable=NO
在这里插入图片描述

write_enable=YES(本地用户可以进行读写)
在这里插入图片描述write_enable=NO

在这里插入图片描述

4.匿名用户参数设定

4.1匿名用户的读写

-匿名用户上传
	vim /etc/vsftpd/vsftpd.conf
	write_enable=YES
	anon_upload_enable=YES         ##如果不开,读写时会提示500功能没开启
                                   ##开启后仍然不可以读写,提示553本地文件系统权限过小
                                   ##查看/var/ftp文件权限,只有root用户可以写
                                   ##但是如果chmod 777 /var/ftp ,在登陆会提示500错误,权限过大,安全性太差
    匿名用户在ftp下使用的是ftp这个用户身份 
    chgrp ftp /var/ftp/pub         ##在哪个目录上传,就给哪个目录一个ftp权限(匿名用户默认使用ftp身份)
    chmod 775 /var/ftp/pub         ##设置权限
-匿名用户下载
	get passwd                     ##出现550错误,服务本身没有开启
	man 5 vsftpd.conf              ##查看配置文件的帮助文档
	     下载相当于是一个复制过程,查询read
	anon_world_readable_only=YES(只能下载可读文件)| NO(全部文件都可以下载)
-匿名用户建立目录
	anon_mkdir_write_enable=YES
-匿名用户删除和重命名功能
	anon_other_write_enable=YES
	这条参数默认没有,自己写进去
	rm                             ##删除
	mv                             ##重命名
-匿名用户上传文件的用户身份设定(上传的文件所有者是指定用户)
	chown_uploads=YES
	chown_username=westos
	chown_upload_mode=0644         ##权限设定,有特殊位的设定

匿名用户上传
在这里插入图片描述在这里插入图片描述在这里插入图片描述

匿名用户下载

在这里插入图片描述
匿名用户建立目录,删除和重命名

在这里插入图片描述在这里插入图片描述
匿名用户上传文件的用户身份设定

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

4.2关于匿名用户的其他设定参数

4.2.1修改上传文件的权限anon_umask

-anon_umask=022
文件777-022-111=644       目录777-022=755

在这里插入图片描述

在这里插入图片描述

4.2.2修改登陆目录anon_root

默认登陆后是登陆/var/ftp目录中
修改:anon_root=修改的目录

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

4.2.3修改匿名用户的文件上传速度anon_max_rate

  1. 进行测试
    dd if=/dev/zero of=/mnt/westosfile bs=1M count=1000 ##做一个1000M的文件
    然后匿名用户登陆ftp进行上传,put /mnt/westosfile
    查看速度
  2. 修改速度参数
    anon_max_rate=102400 ##相当于100k(代表102400字节)
  3. 检验速度
    匿名用户登陆测试速度。

在这里插入图片描述

4.2.4最大客户端连接max_clients

  1. 测试
    max_clients=2

    在这里插入图片描述

    在这里插入图片描述

5本地用户的设定(服务器上的用户)

5.1本地用户默认登陆地址(自己的家目录)

在这里插入图片描述

5.2修改本地用户登录目录修改

将本地用户默认登陆目录设置为/westos
修改文件内容: local_root=/westosdir
修改之后还未修改的话,可能是权限的问题,执行权限。

在这里插入图片描述做完换回到原来默认家目录

5.3将用户限制在家目录

5.3.1为什么要限制

在这里插入图片描述

5.3.2限制所有普通用户

-1.开启功能(chroot_local_user=YES | NO )(YES表示所有人都出不去,NO表示所有人都能出去)
-2.限制权限,去掉写权限
-3.成功

在这里插入图片描述

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

5.3.3限制指定普通用户

5.3.3.1白名单

在这里插入图片描述

在这里插入图片描述

5.3.3.2黑名单

在这里插入图片描述

在这里插入图片描述

5.3.4限制本地用户登陆

5.3.4.1黑名单

永久黑名单: /etc/vsftpd/ftpusers 里的用户,ftp对这些用户永不开放,root用户也不例外!!!
临时黑名单:/etc/vsftpd/user_list 这俩个文件都是改了就生效,不需要重启!

永久黑名单
在这里插入图片描述临时黑名单

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

5.3.4.2临时黑名单转为白名单

需要设置参数!!!

userlist_enable=YES 表示读取/etc/vsftpd/user_list文件
在这里插入图片描述
在这里插入图片描述

6虚拟用户的认证设定

6.1虚拟用户的简单认证设定(用户名和密码)

1.在/etc/vsftpd建立虚拟用户文件
2.对文件进行加密,采用db的加密方式
3.创建pam.d下的用户认证策略文件,pam负责询问用户是谁,密码是啥,进行用户认证。
  required:通过认证就继续,不通过认证直接终止
  pam_userdb.so:用户认证(检测)程序
  db=/etc/vsftpd/vuserlist   要识别的文件,默认识别文件会自动加db后缀,不需要手动添加。
4.编辑主配置文件/etc/vsftpd/vsftpd.conf,打开虚拟用户功能
 pam_service_name=vuserlist    指定用户策略文件
  guest_enable=YES
  guest_username=ftp           相当于法人名字,真实身份

1. 进行用户和密码的创建
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
2. 进行pam认证
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
3. 编辑主配置文件/etc/vsftpd/vsftpd.conf

在这里插入图片描述
然后重启服务

4. 测试

在这里插入图片描述

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

6.2.1家目录建立

1.建立虚拟用户的家目录,这个目录可以自己选择建立在哪里
2.书写配置文件,让vsftpd.conf可以沿用shell里面的$USER命令
3.重启服务
4.测试能否看到自己的文件

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

6.2.2授权操作

-man 5 vsftpd    搜索config
-主配置文件中写入:user_config_dir=/etc/vsftpd/user_config
-user_config 目录是不存在的需要自己建立,目录名称可以自定义,并且优先级要高于主配置文件中直接设置
-配置每一个用户的授权项,如给user2建立一个上传功能,vim /etc/vsftpd/user_config/user2

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Studying!!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值