Vsftpd服务的部署及优化

本文详细介绍了如何配置和管理FTP服务器,包括安装vsftpd,启用匿名访问,设置用户和密码,调整权限,控制上传下载,限制登陆数量和速率,以及本地和虚拟用户的访问控制策略。同时,讲解了如何通过vsftpd.conf配置文件实现各种功能,并提供了错误代码解析,确保FTP服务的安全性和可控性。
摘要由CSDN通过智能技术生成

实验环境

server服务主机:

配置好网络

配置好软件仓库

client测试主机:

配置好软件仓库

配置好软件仓库

ftp介绍

ftp:file transfer proto 互联中最老牌的文件传输协议

2.vsftpd安装及启用 

dnf install vsftpd -y       server

dnf install lftp -y            client 

安装好启用后,是需要用户和密码的

所以,我们要用匿名用户访问

vim /etc/vsftpd/vsftpd.conf

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

systemctl restart vsftpd      ##重启服务

 测试安装:

lftp 192.168.2.200      ##能列出资源才算登陆成功

注意:在实验过程selinux一定要保证处于关闭状态,关闭后一定要重启不然不生效

vsftpd基本信息

服务名称: vsftpd.service

配置目录: /etc/vsftpd

主配置文件: /etc/vsftpd/vsftpd.conf

默认发布目录: /var/ftp

报错信息:

550 ##程序本身拒绝

553 ##文件系统权限限制

500 ##权限过大

530 ##认证失败

4.匿名用户访问控制

lftp 192.168.0.10     ##当访问ftp服务时没有加入用户认证为匿名访问

lftp 192.168.0.10 -u westos      ##本地用户访问

登陆控制

anonymous_enable=YES|NO

家目录控制

vsftp默认家目录在/var/ftp/中,我们将匿名用户默认家目录更改为westosdir,然后在westosdir中建立三个文件,再次登陆的时候如果可以看见三个文件说名更改匿名默认家目录成功

如果要恢复其默认的家目录,只需将配置文件中修改的内容删除或者注释掉即可

anon_root=/westosdir

上传控制

vftp默认只有超级用户可写,我们登录是以匿名用户身份登录的,所以我们要先更改其权限,再更改其配置文件,以达到上传文件

chmod 775 /var/ftp/pub

chgrp ftp /var/ftp/pub

anon_upload_enable=YES|NO

lftp 192.168.155.200

cd pub

put /etc/passwd

目录建立控制

vftp默认匿名用户是不能建立目录的,要建立目录需要更改配置文件vim /etc/vsftpd/vsftpd.conf

anon_mkdir_write_enable=YES|NO

下载控制

vftp默认匿名用户是不能下载它没有权利的文件的,要下载需要更改配置文件

vim/etc/vsftpd/vsftpd.conf

anon_world_readable_only=NO 

注意:你当前位置在哪,就会下载在哪

删除重命令控制

vftp默认匿名用户是不能删除它没有权利的文件的,要删除需要更改配置文件

vim/etc/vsftpd/vsftpd.conf

anon_other_write_enable=YES|NO

匿名用户上传文件权限设定

vftp默认匿名用户上传权限是600,我们将它更改为文件644,目录为755

anon_umask=022 

匿名用户上传文件的用户身份设定

vftp默认匿名用户上传或者建立的文件目录所有人所有组属于ftp,我们可以将它更改为我们想要的所有人所有组

chown_upload=YES

chown_username=westos

chown_upload_mode=0644

 登陆数量控制,限制登陆数量

max_clients=2

上传速率控制: anon_max_rate=102400

本地用户的访问 

登陆控制

useradd westos

useradd lee

echo lee | passwd --stdin westos

echo lee | passwd --stdin lee

lftp 192.168.0.10 -u westos

local_enable=NO    ##本地用户不能登录

local_enable=YES    ##本地用户可以登录,系统默认是可以登陆的

家目录控制

vftp默认本地用户登陆后都是在自己的家目录里,我们可以更改其默认的家目录

local_root=/westos    ##更改本地用户登陆后的家目录为/westsos/

写权限控制

write_enable=YES         ##本地用户默认上传,删除等等权力是开放

 write_enable=NO           ##关闭本地用户权力

上传文件权限控制

vftp默认本地用户登陆后上传文件预留权限为644,我么们可以将其上传文件预留权限更改为600

local_umask=077

用户登陆控制

/etc/vsftpd/ftpusers         ##永久黑名单

/etc/vsftpd/user_list        ##默认黑名单

用户登陆白名单

userlist_deny=NO       #设定/etc/vsftpd/user_list位白名单 ,不在名单中的用户不能登陆ftp

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

vftp默认本地用户登陆后不仅可以访问自己的家目录,还可以访问别的目录比如/目录这是相对来说不安全的,所以我们要设定他只能访问自己的家目录

chmod u-w /home/* ##设置完后默认是有写的权限的,安全级别太高会报错,所以要去掉写的权限

chroot_local_user=YES      ##锁定他只能访问他自己的家目录

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

chroot_local_user=YES                  ##当chroot_local_user=YES时此名单为白名单

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list   默认/etc/vsftpd/chroot_list 名单是不存在的,需要自己建立

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

chroot_local_user=NO     ##当chroot_local_user=NO时此名单为黑名单

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list     ##在名单中的可以访问,不在名单访问不了

虚拟用户访问
建立虚拟用户过程
1. vim / etc / vsftpd /westoa         ##建立认证文件模板
node1
0000
node2
0000
2. db_load - T - t hash - f /etc/vsftp/westos /etc/vsftp/westos.db   ## 加密认证文件 - T 转换 - t type - f 指定 转换文件
3. vim / etc / pam.d / westos      ##编辑认证策略文件
account       required       pam_userdb.so             db =/ etc / vsftpd / etc/vsftp/westos
auth             required       pam_userdb.so             db =/ etc / vsftpd / etc/vsftp/westos
4. vim / etc / vsftpd / vsftpd.conf      ##更改配置文件
pam_service_name = westos      ##指定认证策略文件
guest_enable = YES       ##指定虚拟用户功能开启
guest_username = ftp     ##指定虚拟用户在 ftp 服务器上的用户身份

虚拟用户家目录的独立设定
mkdir - p / ftpuserdir /node {1..2}/pub
vim / etc / vsftpd / vsftpd.conf
local_root =/ ftpuserdir / $USER
user_sub_token = $USER
systemctl restart vsftpd

用户配置独立

user_config_dir =/ etc / vsftpd / user_config   # 在此目录中与用户名称相同的文件为用户配置文件
mkdir / etc / vsftpd / user_config
vim / etc / vsftpd / user_config / westos2
anon_upload_enable = YES
设定完成后node1 用户可以上传文件
node2 不行

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

溪野~~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值