Vsftpd服务的部署及优化详解(图文)

本文详细介绍了在Linux系统中部署和优化Vsftpd服务器的过程,包括安装启用步骤、匿名用户访问控制、本地用户访问控制以及虚拟用户访问的设置,涉及到如家目录、上传下载权限、用户锁定等关键配置。通过对Vsftpd配置文件的修改和防火墙设置,确保了服务器的安全性和易用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

实验环境

一、vsftpd的安装及启用

1、具体步骤

2、开启匿名用户访问功能并测试

二、vsftpd基本信息

三、匿名用户访问控制

四、本地用户访问控制 

五、虚拟用户访问 

1、建立虚拟用户访问

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

3、用户配置独立


前言

vsftpd是“very secure TTP daemon”的缩写,是一个完全免费的、开放源代码的ftp服务器软件,主打安全的FTP服务器,有很多的选项设置。也一款在Linux发行版中最受推崇的ftp服务器程序,小巧轻快,安全易用,支持虚拟用户,支持带宽限制等功能。

实验环境

1.主机名
2.软件仓库
3.网络
4.关闭selinux(修改后需要重启)
5.开启火墙

  

一、vsftpd的安装及启用

1、具体步骤

在vsftpd服务器中进行如下操作:

(1)dnf install vsftpd -y     安装vsftpd,安装前要保证该主机dnf功能可正常使用

(2)vim /etc/sysconfig/selinux   关闭selinux  

(3)systemctl enable --now vsftpd         启动vsftpd服务

   (4)   firewall-cmd --permanent --add-service=ftp      保证ftp服务通过防火墙
   firewall-cmd --reload           重新加载防火墙设置

 (5)dnf install lftp      安装lftp服务来

在客户端主机中安装lftp服务来查看vsftpd服务端共享的文件:

2、开启匿名用户访问功能并测试

 vim /etc/vsftpd/vsftpd.conf   

        anonymous_enable=YES     编辑vsftpd的主配置文件,启动匿名用户的访问功能

修改了配置文件一定要重启服务 

ls可以列出资源就证明登录成功

二、vsftpd基本信息

服务名称:vsftpd.service
配置目录:/etc/vsftpd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
550报错程序本身拒绝(服务相应功能未开启)
553报错文件系统权限限制
500报错权限过大
530报错认证失败(一般是输入密码错误)

三、匿名用户访问控制

lftp ip                    当访问ftp服务时后面没有加入用户认证时为匿名访问
lftp ip -u username           本地用户访问
vim /etc/selinux/config    相应控制在该配置文件中修改、编写


(1)登陆控制
anonymous_enable=YES|NO   为YES时表示匿名访问开启

(2)家目录控制
anon_root=/westosdir       设置家目录,没有设置时默认为/var/ftp

(3)上传控制
anon_upload_enable=YES|NO  为YES时表示可以上传文件,使用Put命令上传,eg:Put /etc/passwd
chmod 775 /var/ftp/pub     为相应目录设置权限,并设置拥有组
chgrp ftp /var/ftp/pub
lftp ip
cd pub/
put /etc/passwd

(4)目录建立控制
anon_mkdir_write_enable=YES|NO   为YES时表示匿名用户可以建立目录

(5)下载控制
anon_world_readable_only=NO        为NO时匿名用户可以下载不能读的文件,下载命令为get,在哪里下载的,文件就存储在哪个位置

(6)删除命令控制
anon_other_write_enable=YES|NO      当为YES时,匿名用户可以删除文件

(7)匿名用户上传文件权限设定
anon_umask=xxx                  当设定chown_username之后上传文权限将不是用此参数设定(因为设定完chown_username之后将不再是匿名用户

(8)匿名用户上传文件的用户身份设定
chown_upload=YES               开启后可设置指定用户上传指定权限的文件
chown_username=username
chown_upload_mode=0644

(9)登陆数量控制:
max_clients=2                 设置完该数量之后,最多只能有该数量个登录,超过则无法登录

(10)上传速率控制
anon_max_rate=102400         当用户数量过多,而流量有限的时候,可以通过该设置来限制用户的上传速度以达到资源的合理分配

家目录控制:

上传控制: 

 

 

 

下载控制: 

 

 

 

删除命令控制: 

 

 

目录建立控制: 

 

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

 注:当设定chown_username之后上传文件权限将不使用此参数设定

 

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

 

登陆数量控制和上传速率控制: 

默认情况下ftp不显示用户登录数量

四、本地用户访问控制 

lftp ip -u username   指定某个本地用户访问

vim /etc/vsftpd/vsftpd.conf   编辑主配置文件中的相应内容

实验素材,创建两个用户:

登陆控制

家目录控制 

写权限控制

上传文件权限控制 

用户登陆设置

用户登陆控制
/etc/vsftpd/ftpusers #永久黑
/etc/vsftpd/user_list #默认黑
用户登陆白名单
userlist_deny=NO #当为NO时表示设定/etc/vsftpd/user_list为白名单,不在名单中的用户不能登陆ftp

黑名单:

 

 

 

 

白名单

把/etc/vsftpd/user_list 变为白名单
当此参数设定只有在/etc/vsftpd/user_list文件中指定的用户才可以登录ftp

 

锁定用户到自己家目录中 

1.锁定用户到自己的家目录中
chmod u-w /home/ *         为了防止用户访问时随意切换目录并做不合法操作而导致系统异常,开启此功能后可使用户访问时锁定到自己的家目录中而避免一些误操作
chroot_local_user=YES


2.锁定用户到自己的家目录中的白名单
chroot_local_user=YES         为YES且下面两行开启时,chroot_list为白名单,即在该名单中的用户在访问时可以切换到其他目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list


3.锁定用户到自己的家目录中的黑名单
chroot_local_user=NO         为YES且下面两行开启时,chroot_list为黑名单,即在该名单中的用户在访问时不可以切换到其他目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

 

 

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

 

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

 

五、虚拟用户访问 

1、建立虚拟用户访问

(1)vim /etc/vsftpd/ftp_auth_file            建立认证文件模板
westos1
123
westos2
123
westos3
123

(2)db_load -T -t hash -f ftp_auth_file ftp_auth_file.db    加密认证文件,-T 转换 -t type -f 指定转换文件

(3)vim /etc/pam.d/westos
account        required    pam_userdb.so        db=/etc/vsftpd/ftp_auth_file    
auth        required    pam_userdb.so        db=/etc/vsftpd/ftp_auth_file

(4)vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos            指定认证策略文件
guest_enable=YES                指定虚拟用户功能开启
guest_username=ftp                指定虚拟用户在ftp服务器上的用户身份

 

 

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

(1)mkdir  -p /ftpuserdir/westos{1..3}  为每个目录创建家目录
touch  /ftpuserdir/westos1/westos1file   在各自相应的家目录下创建文件用来在访问的时候验证家目录是否创建成功
touch  /ftpuserdir/westos2/westos2file
touch  /ftpuserdir/westos3/westos3file

(2)vim /etc/vsftpd/vsftpd.conf   编辑配置文件,保证每个不同的用户在访问时都能正常的进入到各自的家目录中
local_root=/ftpuserdir/$USER
user_sub_token=$USER

(3)systemctl restart vsftpd     重启该服务,使主配置文件中的设置生效

3、用户配置独立

 

(1)chmod 775 /var/ftphome/user{1..3}/test
chgrp ftp /var/ftphome/user{1..3}/test

(2)vim /etc/vsftpd/vsftpd.conf 
注释下面内容(之前做匿名用户访问时的设置):
#anon_upload_enable=YES
#anon_other_write_enable=YES
#anon_umask=022
#anon_world_readable_only=NO
#anon_root=/westos_ftp

(3)在该文件末尾加:user_config_dir=/etc/vsftpd/user_config  #在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/指定用户
anon_upload_enable=YES

(4)设定完成后指定用户可以上传文件,其它用户不可以

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值