Vsftpd服务的部署及优化

本文详细介绍了如何在Linux系统上部署Vsftpd服务,包括安装启用、匿名用户和本地用户访问控制、虚拟用户设置以及家目录和权限管理。通过设置,确保了FTP服务的安全性和访问权限的精细化控制。

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

##实验环境

1.vsftpd安装及启用

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

 dnf install vsftpd -y                                            ##安装vsftpd
 systemctl enable --now vsftpd                          ##开启vsftpd
 firewall-cmd --permanent --add-service=ftp   
 firewall-cmd --reload                                        ##关闭防火墙
 id westos
 vim /etc/vsftpd/vsftpd.conf                               ##修改vsftpd配置文件
 修改 12行 anonymous_enable=YES             
systemctl restart vsftpd                                       ##重启vsftpd服务

客户端

dnf install lftp -y                                                 ##安装lftp
lftp 192.168.95.100                                             ##默认匿名用户登录访问
ls                                                                          ##可以列出文件---->登录成功
lftp 192.168.95.100 -u westos                            ##westos用户登录访问 
 ls                                                                         ##可以列出文件---->登录成功

3.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

家目录控制

anon_root=/westosdir

上传控制

anon_upload_enable=YES|NO
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
lftp 192.168.0.100
cd pub
put /etc/passwd

目录建立控制

anon_mkdir_write_enable=YES|NO

下载控制

anon_world_readable_only=NO ##匿名用户可以下载不能读的文件

删除重命令控制

anon_other_write_enable=YES|NO

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

anon_umask=xxx
anon_umask=022 

##当设定chown_username之后上传文权限将不是用此参数设定
匿名用户上传文件的用户身份设定

chown_upload=YES
chown_username=lee
chown_upload_mode=0644

登陆数量控制:

max_clients=2

上传速率控制

anon_max_rate=102400

5.本地用户访问

登陆控制

useradd westos
useradd lee
echo lee | passwd --stdin westos
echo lee | passwd --stdin lee
lftp 192.168.0.10 -u westos
local_enable=NO|YES

家目录控制

local_root=/software

写权限控制

write_enable=NO|YES

上传文件权限控制

local_umask=077

用户登陆控制

/etc/vsftpd/ftpusers ##永久黑
/etc/vsftpd/user_list ##默认黑

用户登陆白名单

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

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

chmod u-w /home/*
chroot_local_user=YES

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

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

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

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

6.虚拟用户访问

服务器

vim /etc/vsftpd/westos                    ##建立认证模板
user1      -->用户名称
123         -->用户密码
user2
123
user3
123
cd /etc/vsftpd/
db_load -T -t hash -f westos westos.db      ##加密认证文件
                                                                     ##-T type -f 指定转换文件
 vim /etc/pam.d/westos
accoount     required     pam_userdb.so     db=/etc/vsftpd/westos
auth             required     pam_userdb.so     db=/etc/vsftpd/westos
 vim /etc/vsftpd/vsftpd.conf                       ##修改配置文件
pam_service_name=westos                        ##指定认证策略
guset_enable=YES                                       ##指定虚拟用户功能开启
guset_username=ftp                                   ##指定虚拟用户在ftp服务器上的用户身份
 systemctl restart vsftpd
 

户端*
lftp 192.168.95.100 -u user1
lftp 192.168.95.100 -u user2
lftp 192.168.95.100 -u user3 ##三个虚拟用户user1,user2,user3都可以登陆访问


7.虚拟用户家目录独立设定

mkdir -p /ftpuserdir/user{1..3}
 touch /ftpuserdir/user1/westosfile1
 touch /ftpuserdir/user2/westosfile2
 touch /ftpuserdir/user3/westosfile3
 vim /etc/vsftpd/vsftpd.conf
   local_root=/ftpuserdir/$USER
   user_sub_token=$USER
 systemctl restart vsftpd

8.用户独立配置

user_config_dir=/etc/vsftpd/user_config 

##在此目录中与用户名称相同的文件为用户配置

mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/user2
chmod 775 /ftpuserdir/user{1..3}/pub
chgrp ftp /ftpuserdir/user{1..3}/pub

设定完成后user2用户可以上传文件
user1和user3用户不行


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值